Universidad de Jaén

Menú local

Guía docente 2019-20 - 13312028 - Sistemas concurrentes y distribuidos



TITULACIÓN: Grado en Ingeniería informática
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (JAÉN)
CURSO: 2019-20
ASIGNATURA: Sistemas concurrentes y distribuidos
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Sistemas concurrentes y distribuidos
CÓDIGO: 13312028 CURSO ACADÉMICO: 2019-20
TIPO: Obligatoria
Créditos ECTS: 6.0 CURSO: 2 CUATRIMESTRE: SC
WEB: http://dv.ujaen.es/docencia/goto_docencia_crs_272628.html
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: SÁNCHEZ SÁNCHEZ, PEDRO JOSÉ
IMPARTE: Teoría - Prácticas [Profesor responsable]
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A3 - 117 E-MAIL: pedroj@ujaen.es TLF: 953212378
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/57959
URL WEB: http://wwwdi.ujaen.es/?q=es/pedroj
ORCID: https://orcid.org/0000-0002-4582-7760
NOMBRE: SEGURA SÁNCHEZ, RAFAEL JESÚS
IMPARTE: Teoría
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A3 - 137 E-MAIL: rsegura@ujaen.es TLF: 953212894
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/57957
URL WEB: wwwdi.ujaen.es
ORCID: https://orcid.org/0000-0002-3075-6963
NOMBRE: CONDE RODRÍGUEZ, FRANCISCO DE ASÍS
IMPARTE: Prácticas
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A3 - A3-342 E-MAIL: fconde@ujaen.es TLF: 953212914
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/58525
URL WEB: http://blogs.ujaen.es/fconde/
ORCID: https://orcid.org/0000-0001-6793-1377
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:
-
CONTEXTO DENTRO DE LA TITULACIÓN:

La asignatura forma parte del módulo de Sistemas Operativos, considerado como formación común en las diferentes especialidades en que ha quedado configurado el título de Ingeniería en Informática en las recomendaciones curriculares aprobados por el Consejo de Universidades (BOE de 4 de agosto de 2009). En esta asignatura se muestran las técnicas y principios fundamentales de los sistemas distribuidos y la programación de sistemas concurrentes. 

RECOMENDACIONES Y ADAPTACIONES CURRICULARES:

Aunque no es obligatorio, sí que es recomendable que el alumno tenga aprobadas las asignaturas del primer curos de Fundamentos de Programación y Programación Orientada a Objetos. Además, debe haber cursado las de primer cuatrimestre Estructuras de Datos y Sistemas Operativos.

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente.
4. COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
Código Denominación de la competencia
CB2R Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB3R Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
CB5R Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
CC11R Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas.
CC14R Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
CC8R Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
 
Resultados de aprendizaje
Resultado 14 Conocer y aplicar los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
Resultado 8 Ser capaz de analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
5. CONTENIDOS

  • Exclusión mutua, sincronización y comunicación entre procesos. Algoritmos para modelos basados en memoria compartida y paso de mensajes. Monitores.

    Paradigmas de integración de procesos en sistemas distribuidos (cliente-servidor, peer to peer). Técnicas para el diseño de sistemas de tiempo real.

Programa Teórico:

Tema 1. Introducción a la programación concurrente

   1.1. Conceptos básicos y motivación.

   1.2. Exclusión mutua y sincronización.

   1.3. Propiedades de sistemas concurrentes. Verificación.

Tema 2. Sincronización en sistemas de memoria compartida.

   2.1. Algoritmos básicos de exclusión mutua en sistemas con memoria compartida.

   2.2. Monitores como mecanismo de alto nivel.

Tema 3. Paso de mensajes.

   3.1. Mecanismos básicos en sistemas basados en paso de mensajes.

   3.2. Modelos y lenguajes de programación distribuida.

   3.3. Mecanismos de alto nivel en sistemas distribuidos.

Tema 4. Técnicas para el diseño de sistemas de tiempo real.

   4.1. Concepto de sistema de tiempo real. Medidas de tiempo y modelo de tareas.

   4.2. Planificación de tareas periódicas con asignación de prioridades.

   4.3. Modelos generales y específicos de tareas

 

Programa Práctico:

Práctica 1: Introducción a la concurrencia en Java

Práctica 2: Marcos de ejecución concurrente en Java

Práctica 3: Bibliotecas de utilidad para la concurrencia en Java

Práctica 4: Programación JMS.

6. METODOLOGÍA Y ACTIVIDADES
 
ACTIVIDADES HORAS PRESEN­CIALES HORAS TRABAJO AUTÓ­NOMO TOTAL HORAS CRÉDITOS ECTS COMPETENCIAS (códigos)
A1 - Clases expositivas en gran grupo
  • M1 - Clases magistrales
  • M2 - Exposición de teoría y ejemplos generales
  • M4 - Conferencias
  • M5 - Otros
25.0 37.5 62.5 2.5
  • CB2R
  • CB3R
  • CB5R
  • CC11R
  • CC14R
  • CC8R
A2R - Clases en pequeño grupo
  • M10R - Aulas de informática
  • M11R - Resolución de ejercicios
  • M6R - Actividades practicas
  • M7R - Seminarios
  • M9R - Laboratorios
30.0 45.0 75.0 3.0
  • CC8R
A3 - Tutorías colectivas/individuales
  • M14 - Supervisión de trabajos dirigidos
  • M17 - Aclaración de dudas
  • M18 - Comentarios de trabajos individuales
  • M19 - Presentaciones/exposiciones
5.0 7.5 12.5 0.5
  • CC11R
  • CC14R
  • CC8R
TOTALES: 60.0 90.0 150.0 6.0  
 
INFORMACIÓN DETALLADA:

INFORMACIÓN DETALLADA:

  • Clases teóricas
    • Se controlará la Asistencia.
    • Exposición de conceptos teóricos de la asignatura.
    • Presentación y resolución de problemas.
  • Sesiones prácticas
    • Asistencia obligatoria.
    • Desarrollo y entrega de trabajos individuales en la plataforma docente.
    • Test aprovechamiento al finalizar las sesiones prácticas.
  • Relaciones de problemas
    • Realización individual.
    • Entrega en la plataforma docente.
  • Tutorías colectivas 
    • Las tutorías grupales e individuales tal y como establece la normativa son NO PRESENCIALES. Por tanto, son  los estudiantes los que tienen que dedicar estas horas a la resolución de problemas .
7. SISTEMA DE EVALUACIÓN
 
ASPECTO CRITERIOS INSTRUMENTO PESO
Asistencia y/o participación en actividades presenciales y/o virtuales Asistencia y participación Notas del profesor. 5.0%
Conceptos teóricos de la materia Conceptos teóricos de la materia Prueba objetiva. 55.0%
Realización de trabajos, casos o ejercicios Relaciónde trabajos, casos o ejericios Resolución y exposición en tutoría colectiva. 5.0%
Prácticas de laboratorio/campo/uso de herramientas TIC Prácticas de laboratorio/ordenador Corrección de las prácticas presentadas individualmente (20%). Prueba objetiva de aprovechamiento al finalizar las sesiones prácticas (15%). 35.0%
El sistema de calificación se regirá por lo establecido en el RD 1125/2003 de 5 de septiembre por el que se establece el sistema europeo de créditos y el sistema de calificaciones en la titulaciones universitarias de carácter oficial
INFORMACIÓN DETALLADA:

Atendiendo a lo recogido en el art. 13 del Reglamento de Régimen Académico y de Evaluación del alumnado de la Universidad de Jaén, la evaluación de la asignatura será global.

De igual modo, de acuerdo con el art. 18 del citado Reglamento, se considerará agotada una convocatoria cuando las pruebas de evaluación en las que el alumno o alumna hubiera participado supongan en conjunto más del 30% de la calificación final de la asignatura.

Para la evaluación de asistencia el alumno tendrá que completar el 80% de todas las actividades de la asignatura.

La realización de las prácticas de la asignatura es obligatoria. Se considerá que un alumno ha realizado las prácticas si completa la evaluación de asistencia a las prácticas y además realiza las entregas programadas como obligatorias de los ejercicios que se propongan en las sesiones de prácticas.

Para cada una de las sesiones de prácticas se evaluará el aprovechamiento que el alumno ha obtenido de la misma. Para ello, durante el desarrollo de la sesión, se le pedirá la entrega de un pequeño supuesto práctico. Previamente a cada sesión de  prácticas se realizará un test que permitirá al alumno autoevaluarse en los contenidos necesarios para superar el supuesto práctico. Cada semana, además, se realizará una sesión de tutorías para discutir los posibles problemas encontrados por los alumnos en la sesión de prácticas.

También se pedirá al alumno la entrega de 3 supuestos prácticos que deberá desarrollar a lo largo del periodo de prácticas de la asignatura. La evaluación de los supuestos prácticos medirán el grado de aprovechamiento de la práctica realizada.

Se controlará el plagio en los trabajos que el alumno deba presentar para la evaluación de la asignatura. Un porcentaje superior al 10% supondrá la no evaluación de esa entrega del alumno.

La calificación de las prácticas, de asistencia y entrega de relaciones de problemas se realizará únicamente durante el período de docencia de la asignatura (segundo semestre), la nota obtenida será trasladada a la evaluación para las convocatorias Ordinaria II Extraordinaria II de la asignatura. Para la convocatoria Extraordinaria I el alumno deberá superar una prueba teórica y una prueba práctica de laboratorio.

Con la evaluación de la parte práctica de la asignatura se consigue evaluar de forma adecuada los resultados de aprendizaje de la asignatura 14 y 8.

En la prueba objetiva de teoría se debe alcanzar 1/3 del valor de la parte de problemas para poder aprobar la asignatura. No está autorizada la utilización de ningún elemento de ayuda para la realización de la prueba salvo expresa autorización por parte del profesorado.

Con la evaluación de los conceptos teóricos de la asignatura, principalmente, se evaluan los resultados de aprendizaje 14.

Con la evaluación de los trabajos se evalua el resultado de aprendizaje de la asignatura 8. 

Durante el curso, y de forma voluntaria, el alumno podrá resolver tareas relacionadas con conceptos teóricos y/o prácticos de la asignatura para obtener una evaluación complementaria referente a los conceptos de la materia.

8. DOCUMENTACIÓN / BIBLIOGRAFÍA
ESPECÍFICA O BÁSICA:
  • Clean code : a handbook of agile software craftsmanship. Edición: -. Autor: Martin, Robert C.. Editorial: Prentice Hall, 2015  (C. Biblioteca)
  • Introduction to concurrency in programming languages. Edición: -. Autor: Sottile, Matthew J.. Editorial: Boca Raton (Florida) : Chapman & Hall CRC Press, cop. 2010  (C. Biblioteca)
  • The art of concurrency: [a thread monkey's guide to writing parallel applications]. Edición: -. Autor: Breshears, Clay. Editorial: Sebastopol, CA : OŔeilly, 2009  (C. Biblioteca)
  • Sistemas distribuidos: conceptos y diseño. Edición: 3ª ed. Autor: Coulouris, George. Editorial: Madrid [etc.]: Addison Wesley, 2007  (C. Biblioteca)
  • Java 7 concurrency cookbook [Recurso electrónico]. Edición: -. Autor: González, Javier Fernández. Editorial: Birmingham, UK : Packt Pub., 2012  (C. Biblioteca)
GENERAL Y COMPLEMENTARIA:
  • Beautiful Code [Recurso electrónico]. Edición: 1st edition. Autor: Oram, Andy, author. Editorial: -  (C. Biblioteca)
  • Code Simplicity [Recurso electrónico]. Edición: 1st edition. Autor: Kanat-Alexander, Max, author. Editorial: -  (C. Biblioteca)
  • P2P networking and applications [Recurso electrónico]. Edición: -. Autor: Koegel Buford, John F.. Editorial: Amsterdam ; Boston : Elsevier Morgan Kaufmann, c2009.  (C. Biblioteca)
  • Operating systems: internals and design principles. Edición: 7th ed.. Autor: Stallings, William.. Editorial: Boston : Pearson, c2012  (C. Biblioteca)
  • Las redes P2P: 'Peer to Peer'. Edición: -. Autor: Millán Tejedor, Ramón J.. Editorial: [S.l.] : Creaciones Copyright, 2006  (C. Biblioteca)
  • Sistemas distribuidos : principios y paradigmas. Edición: 2ª ed.. Autor: Tanenbaum, Andrew S. Editorial: México [etc] : Pearson Educación, 2008  (C. Biblioteca)
9. CRONOGRAMA (segundo cuatrimestre)
 
Semana A1 - Clases expositivas en gran grupo A2R - Clases en pequeño grupo A3 - Tutorías colectivas/individuales Trabajo autónomo Observaciones
Nº 1
27 ene. - 2 feb. 2020
2.02.00.0 6.0 Presentación de la asignatura y presentación de las prácticas. Tema 1
Nº 2
3 - 9 feb. 2020
2.02.00.0 6.0 Tema 1 Práctica 1
Nº 3
10 - 16 feb. 2020
2.02.00.0 6.0 Tema 1 Práctica 1
Nº 4
17 - 23 feb. 2020
2.02.00.0 6.0 Tema 2 Práctica 1
Nº 5
24 feb. - 1 mar. 2020
2.02.00.0 6.0 Tema 2 Práctica 2
Nº 6
2 - 8 mar. 2020
2.02.00.0 6.0 Tema 2 Práctica 2
Nº 7
9 - 15 mar. 2020
2.02.00.0 6.0 Tema 2 Práctica 2
Nº 8
16 - 22 mar. 2020
2.02.00.0 6.0 Tema 3 Práctica 2
Nº 9
23 - 29 mar. 2020
2.02.00.0 6.0 Tema 3 Práctica 3
Nº 10
30 mar. - 3 abr. 2020
2.02.00.0 6.0 Tema 3 Práctica 3
Período no docente: 4 - 12 abr. 2020
Nº 11
13 - 19 abr. 2020
2.02.00.0 6.0 Tema 4 Práctica 3
Nº 12
20 - 26 abr. 2020
2.02.00.0 6.0 Tema 4 Práctica 4
Nº 13
27 abr. - 3 may. 2020
1.02.00.0 6.0 Tema 4 Práctica4
Nº 14
4 - 10 may. 2020
0.02.00.0 6.0 Práctica 4
Nº 15
11 - 15 may. 2020
0.02.00.0 6.0 Práctica 4
Total Horas 25.0 30.0 0.0 90.0