TC3039
Programación concurrente y paralela Parallel programming
CIP: 110101  Ciencias Computacionales/de Información   CL-L-U-CA-UDC:  3-0-8-3-3.5       

Disciplina asociada:  

Tecnologías Computacionales

Escuela:  

Ingeniería y Ciencias

Departamento Académico:   

Computación

Programas académicos:   

Requisitos:  

(Haber Aprobado TC2008 y Haber Aprobado TC2001) o Estar cursando al menos el periodo 7

Equivalencia:  

No tiene.

Intención del curso en el contexto general del plan de estudios:  

Es un curso de programación avanzada que aborda la resolución de problemas que necesitan de técnicas de concurrencia y paralelismo cuyas soluciones se ejecutan en arquitecturas multiprocesadores o multi-núcleo.

 

Objetivo general de la Unidad de Formación:  

Al final del curso el alumno será capaz de diseñar programas para arquitecturas multiprocesador utilizando técnicas de paralelismo y concurrencia. El alumno conocerá las diferentes herramientas y técnicas para la generación y ejecución de este tipo de programas en sistemas de procesadores de más de un núcleo. Finalmente, el alumno será capaz de realizar estudios de análisis de desempeño de programas secuenciales vs concurrentes.

Técnica didáctica sugerida:  

Aprendizaje orientado a proyectos

Bibliografía sugerida:  

LIBROS DE TEXTO:
* Akhter, Shameem, Multi-core programming: Increasing performance through software multi-threading/Shameem Akhter, Jason Roberts, Hillsboro, OR: Intel Press, 2006,  0976483246 (ru´stica), 9780976483243 (ru´stica)

LIBROS DE CONSULTA:
* Lea, Doug., Concurrent programming in Java : design principles and patterns, 2nd ed, Massachusetts : Reading, Mass. : Addison-Wesley, 2000, eng,  0201310090
* Reinders, James., Intel threading building blocks : outfitting C++ for multi-core processor parallelism, 1st ed., California : Sebastopol, CA : O'Reilly, 2007, eng,  0596514808, 9780596514808

Perfil del Profesor:  

(110101)Maestría en Ciencias Computacionales/de Información ; (140901)Maestría en Ingeniería Computacional ; (141001)Maestría en Ingeniería Eléctrica/Electrónica y Comunicaciones ; (110101)Doctorado en Ciencias Computacionales/de Información ; (110701)Doctorado en Ciencias Computacionales ; (140901)Doctorado en Ingeniería Computacional ; (141001)Doctorado en Ingeniería Eléctrica/Electrónica y Comunicaciones
CIP: 110101, 140901, 141001, 110701

Experiencia recomendada:  

Profesor con maestría o doctorado en al área de TI y Ciencias Computacionales con experiencia en la programación concurrente y paralela.

Idioma en que se imparte la materia:  


Español
CIP: 110101  Computer and Information Sciences, General.   CL-L-U-CA-UDC:  3-0-8-3-3.5       

Discipline:  

Computer Technologies

School:   

Engineering and Sciences

Academic Department:   

Computing

Programs:   

Prerequisites:  

( TC2008 and TC2001) or period 7

Equivalences:  

None.

Course intention within the general study plan context:  

It is a advace programming course that approaches the resolution of problems that need concurrence techniques and parallelism whose solutions execute in multiprocessors or multi-core architectures.

Course objective:  

At the end of the course the student will be able to design programs for multiprocessor architectures using parallel and concurrent techniques. The student will know the different tools and techniques for the generation and execution from this type of programs in multi-core or multi-processors systems. Finally, the student will be able to develop performance analysis of sequential versus parallel programs execution.

Teaching and learning tecniques:  

Learning-oriented projects

Suggested Bibliography:  

TEXT BOOKS:
* Akhter, Shameem, Multi-core programming: Increasing performance through software multi-threading/Shameem Akhter, Jason Roberts, Hillsboro, OR: Intel Press, 2006,  0976483246 (ru´stica), 9780976483243 (ru´stica)

BOOKS FOR CONSULTATION:
* Lea, Doug., Concurrent programming in Java : design principles and patterns, 2nd ed, Massachusetts : Reading, Mass. : Addison-Wesley, 2000, eng,  0201310090
* Reinders, James., Intel threading building blocks : outfitting C++ for multi-core processor parallelism, 1st ed., California : Sebastopol, CA : O'Reilly, 2007, eng,  0596514808, 9780596514808

Academic credentials required to teach the course:  

(110101)Master Degree in Computer/Information Sciences and (140901)Master Degree in Computational Engineering and (141001)Master Degree in Electrical Engineering/ Electronics and Communications and (110101)Doctoral Degree in Computer/Information Sciences and (110701)Doctoral Degree in Computational Sciences and (140901)Doctoral Degree in Computational Engineering and (141001)Doctoral Degree in Electrical Engineering/ Electronics and Communications
CIP: 110101, 140901, 141001, 110701

Recommended Experience:  

Professor with master's or doctorate in the area of IT and/or Computer Science with experience in concurrent and parallel programming.

Language of Instruction:  


Spanish