Última actualización: 16/05/2024


Curso Académico: 2024/2025

Programación de Altas Prestaciones
(16748)
Máster Universitario en Tecnologías del Sector Financiero: FinTech (Plan: 461 - Estudio: 313)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: FERNANDEZ MUÑOZ, JAVIER

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Conocimientos básicos del lenguaje C++
Objetivos
El objetivos de esta asignatura es introducir a los estudiantes el concepto de rendimiento comprendiendo los límites del mismo. A partir de este concepto los estudiantes aprenderán diversas técnicas para escribir programas de altas prestaciones utilizando el lenguaje C++ para ilustrarlas.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1. Fundamentos de la computación de altas prestaciones. 2. Lenguajes de programación y rendimiento. enlace a código nativo 3. Gestión de memoria 4. Polimorfismo y programación genérica. 5. Bibliotecas e interoperabilidad 6. Optimización de código. 7. Programación concurrente: hilos y frameworks de concurrencia 8. Programación paralela y programación en cluster 9. Análisis de rendimiento de aplicaciones secuenciales y multi-hilo 10. Programación en tiempo real
Actividades formativas, metodología a utilizar y régimen de tutorías
ACTIVIDADES FORMATIVAS AF1 Presentaciones teóricas acompañadas de material electrónico, como presentaciones digitales AF2 Actividades de e-learning AF3 Clases teorico-prácticas docencia síncrona AF4 Prácticas de laboratorio AF5 Tutorías AF7 Trabajo individual del alumno AF9 Exámenes parciales y finales METODOLOGÍA DOCENTE MD1: Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporciona la bibliografía para complementar el aprendizaje de los alumnos. MD3: Resolución de casos prácticos, problemas, etc. planteados por el profesor de manera individual o en grupo MD4: Exposición y discusión en clase, bajo la moderación del profesor de temas relacionados con el contenido de la materia, así como de casos prácticos MD5: Elaboración de trabajos e informes de manera individual o en grupo MD6: Actividades específicas de e-learning, relacionadas con el carácter semi-presencial del título, incluyendo la visualización de contenidos grabados, actividades de auto-corrección, participación en foros, y cualquier otro mecanismo de enseñanza on-line REGIMEN DE TUTORIAS Se podrán pedir tutorías individualizadas que se realizarán virtualmente.
Sistema de evaluación
  • Peso porcentual del Examen Final 60
  • Peso porcentual del resto de la evaluación 40

Calendario de Evaluación Continua


Bibliografía básica
  • Anthony Williams. C++ Concurrency in Action. Practical Multithreading. 2nd Edition. Manning. 2019
  • Bjarne Stroustrup. Programming - Principles and Practice. 2nd Edition. Addison-Wesley. 2014
  • Michael Voss, Rafael Asenjo, James Reinders. Pro TBB: C++ Parallel Programming with Threading Building Blocks. APress. 2019
Recursos electrónicosRecursos Electrónicos *
Bibliografía complementaria
  • Bjarne Stroustrup. The C++ Programming Language. 4th Edition. Addison-Wesley. 2013
  • Bjarne Stroustrup. A Tour of C++. 2nd Edition.. Addison-Wesley. 2018
  • Gerassimos Barlas. Multicore and GPU Programming: An Integrated Approach. Morgan-Kaufmann. 2014
  • Kurt Guntheroth. Optimized C++. O'Reilly. 2016
  • Peter Gottschling. Discovering Modern C++: An intensive course for scientists, engineers and programmers. Addison-Wesley. 2015
Recursos electrónicosRecursos Electrónicos *
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.