Concurrencia


Grado en Ingeniería Informática/ Grado en Matemáticas e Informática/ Doble Grado en Ingeniería Informática y ADE
Universidad Politécnica de Madrid

Descripción

Este curso pretende familiarizar al alumno con los sistemas software concurrentes — es decir, aquellos en los que diferentes procesos ejecutan simultáneamente interactuando entre sí y de manera potencialmente indeterminista — y proporcionarle herramientas con las que desarrollar software concurrente seguro.

Las primeras semanas se centran en los mecanismos básicos que posibilitan la creación de procesos, la comunicación y la sincronización, prestando especial atención a los problemas de ejecución que pueden surgir. La segunda parte de la asignatura proporciona una metodología orientada a la construcción de aplicaciones concurrentes que garanticen una serie de propiedades esenciales. En esta parte se desarrolla un ejercicio práctico por parejas usando el lenguaje Java.

Los contenidos detallados y las normas de la asignatura se encuentran en las guías de aprendizaje: GII, GMI, GII-ADE.
Las fechas para las pruebas de evaluación continua de la asignatura en este semestre son:

Profesorado

Horas de tutoría

  profesor   tutorías fijas   tutorías con cita previa
  Julio Mariño      miércoles 10:00 – 12:00      martes 15:00 – 17:00   
  miércoles 15:00 – 17:00   
  Guillermo Román      martes 10:00 – 12:00      viernes 10:00 – 12:00   
  viernes 12:00 – 14:00   
  Ángel Herranz      miércoles 12:30 – 13:30   
  viernes 09:00 – 10:00   
  miércoles 15:30 – 17:30   
  viernes 10:00 – 12:00   

Contacto

Para contactar con los profesores de la asignatura lo más sencillo es usar la dirección de correo Para anuncios de la asignatura, consultas que puedan ser resueltas por otros compañeros, etc., disponemos del foro en la dirección Todos los alumnos son suscritos a este foro de manera automática.

Materiales

Slides de Guillermo Román usadas en el grupo 4F2M

Lecturas, código de apoyo, etc.

Ejercicios prácticos

Entregas para (auto)evaluación continua

El documento ejercicios-cortos.zip contiene los enunciados de los ejercicios que han de entregarse cada semana junto con el código de apoyo. (Acceso directo al PDF del cuadernillo.)

Las entregas de todos los ejercicios prácticos se realizan a través de la URL http://vps142.cesvima.upm.es/login.

Ejercicio Descripción   Entrega  
Ejercicio 1   Creación de threads en Java    domingo 9 febrero 15:00 
Ejercicio 2   Provocar una situación de carrera   domingo 16 febrero 15:00 
Ejercicio 3   Garantizar exclusión mutua con espera activa   domingo 1 de marzo 23:59 

Enunciados de examen

Ejercicios extra

En este documento disponéis de una serie de problemas para razonar y programar tomando las entregas cortas como punto de partida. Se trata de material totalmente experimental que estamos creando por primera vez en este semestre. Actualmente contiene propuestas sobre las entregas 1 y 2. Su realización es voluntaria y de momento no está prevista su entrega ni su revisión en clase.