Programación Concurrente y Distribuida (2008-2009)

Ingeniería Técnica en Informática

Noticias y Avisos:

Notas

Temario, Transparencias, Apuntes y Material de Apoyo:

Parte 1: Introducción y Programación

Tema 1: MiniTaller de Sockets e Hilos en Java
Tema 2: MiniTaller de Sockets e Hilos en Python
Tema 3: MiniTaller de Sockets e Hilos en C++
Tema 4: MiniTaller de Procesos e Hilos en Unix y Windows
Tema 5: "El Problema"

Parte 2: Programación Concurrente

Tema 6: Introducción a la Programación Concurrente
Tema 7: Conceptos de Programación Concurrente
Tema 8: Exclusión Mutua (Parte 1, lectura 1: mirar en lecturas, la lectura 1 cubre parte del temario que no se ve en las transparencias)
Tema 9: Semáforos
Tema 10: Monitores (lectura 2)
Primer Repaso

Parte 3: Programación Distribuida

Tema 11: Introducción a la Programación Distribuida
Tema 12: Paso de Mensajes
Tema 13: Terminación y Consenso Distribuidos
Tema 14: RPC, RMI, .Net Remote
Tema 15: CORBA
Tema 16: Interoperabilidad de Sistemas
Tema 17: System Oriented Architecture (SOA, Web Services)
Tema 18: Programación Paralela
Segundo Repaso

Prácticas

Lecturas

Estas lecturas son obligatorias, así como es obligatorio entregar un trabajo-resumen sobre las mismas, resumiendo el contenido y exponiendo opiniones personales sobre el mismo. Posteriormente se discutirán en clase. Además, parte del contenido del examen se extraerá de las lecturas y de su análisis en clase. Plantilla para la realización de los resumenes de las lecturas: [doc] [pdf] [rtf]

Ejercicios

El entregar la hoja de ejercicios debidamente cumplimentada, es condición necesaria para poderse presentar al exámen correspondiente. El entregarla fuera de plazo podría ser motivo suficiente para una reducción de la nota en dicho examen.

Trabajos Adicionales


**Se admiten propuestas para otros trabajos

Recursos

Plantilla para la realización de los trabajos [Descargar]

De interés

Bibliografía

Principal

M. Ben-Ari, "Principles of Concurrent & Distributed Programming", Prentice Hall International Series in Computer Science.
Doug Lea, "Concurrent Programming in Java Second Edition: Design Principles and Patterns", Addison Wesley.
Allen B. Downey, "The Little Book of Semaphores", Green Tea Press. [Edición Electrónica]

Complementaria

M. Lutz, D. Ascher, "Learning Python, Second Edition", O'Reilly.
Q. H. Mahmoud, "Distributed Programming with Java", Manning.
G. Coulouris, J. Dollimore, T. Kindberg, "Sistemas Distribuidos. Conceptos y Diseño"
V. K. Garg, "Elements of Distributed Computing"
A. Wellings, "Concurrent and Real-Time Programming in java"

Enlaces

Python

Dive Into Python (Libro OnLine)
Thinking in Python (Libro OnLine)
O'Reilly Python Center (Recursos Varios)
Basic Threading in Python (Artículo)

Java

Thinking in Java (Libro OnLine)
O'Reilly Java Center (Recursos Varios)