Cookie usage policy

The website of the University Carlos III of Madrid use its own cookies and third-party cookies to improve our services by analyzing their browsing habits. By continuing navigation, we understand that it accepts our cookie policy. "Usage rules"

[Close]

Microcredencial Universitaria Programación genérica en C++ moderno

Persona mirando através de ventanal el paisaje
  • Inicio
    • Director: José Daniel García Sánchez (UC3M)
    • Idioma: Español
    • Modalidad: Presencial
    • Precio: 300€
    • Fechas: Del 1 al 5 y del 15 al 19 de junio de 2026. .
    • Duración: 20 horas lectivas / 2 ECTS
    • Plazo de Admisión: Hasta el 28 de mayo de 2026
    • Campus de impartición: Leganés
    • Plazas: 30
    • Becas: 10 Becas Banco Santander
    • Departamento:Informática

    ¿Te has preguntado alguna vez cómo se diseñan las bibliotecas de alto rendimiento que utilizas a diario? ¿Quieres escribir código que no solo sea elegante y reutilizable, sino que además se ejecute de forma muy eficiente? Bienvenido al nivel avanzado de C++.

    En este curso profundizaremos en el corazón de la potencia de C++: la programación genérica. Aprenderás a dominar las plantillas (templates) no solo para evitar la duplicación de código, sino para elevar tu lógica de programación a un nivel de abstracción superior.

    Además, daremos el salto hacia el paradigma más moderno del lenguaje: los rangos y las vistas. Aprenderás a tratar las colecciones de datos como flujos de información, permitiéndote encadenar operaciones de filtrado, transformación y búsqueda de forma declarativa. Así, lograrás un código mucho más expresivo y legible sin sacrificar el rendimiento, al eliminar las copias innecesarias de memoria.

  • PROGRAMA

    1. Plantillas de función y de clase

    Profundizaremos en el sistema de plantillas como pilar de la reutilización de código. Veremos cómo el compilador genera código a medida mediante la instanciación y cómo gestionar la especialización de plantillas (total y parcial) para optimizar comportamientos según el tipo de dato.

    2. Restricciones y Conceptos (Concepts)

    Estudiaremos el mecanismo de conceptos introducido en C++20 y perfeccionado en C++23. Aprenderás a definir requisitos semánticos para los tipos, lo que permite escribir código genérico mucho más robusto y con errores de compilación claros.

    3. Plantillas variádicas y usos avanzados

    Aprenderemos a diseñar componentes que acepten un número indeterminado de parámetros de diferentes tipos. Veremos las expresiones de plegado (fold expressions) para procesar estas listas de parámetros de forma elegante y eficiente. También veremos algunos usos avanzados de plantillas.

    4. Programación en tiempo de compilació

    Exploraremos cómo mover el trabajo del tiempo de ejecución al tiempo de compilación. Dominaremos el uso de constexpr y consteval para cálculos inmediatos, y utilizaremos if constexpr para realizar introspección de tipos y toma de decisiones lógica que el compilador resolverá antes de generar el binario final.

    5. Entidades invocables y tipos de vocabulario 

    Analizaremos la abstracción de funciones mediante std::function y las mejoras en expresiones lambda. También veremos los tipos de vocabulario como std::optional, std::variant y std::any.

    6. Metaprogramación y uso avanzado 

    Finalizaremos aplicando todo lo anterior a la biblioteca de rangos. Aprenderás a utilizar vistas (views) para filtrar y transformar datos de forma perezosa (lazy evaluation), evitando asignaciones de memoria innecesarias y permitiendo una sintaxis declarativa basada en tuberías (pipes), culminando en un estilo de programación moderno y altamente eficiente.

  • PROFESORADO

    Profesorado UC3M

    • José Daniel García Sánchez
      Catedrático de Universidad. Departamento de Informática
      Comité ISO C++
       
    • Carlos Linares López
      Profesor Titular de Universidad. Departamento de Informática
  • ADMISIÓN

    Dirigido a:

    No requiere titulación universitaria.


    INSCRIPCIÓN, MATRÍCULA Y PAGO

    PRIMER PASO - REGISTRO

    SEGUNDO PASO - INSCRIPCIÓN, MATRÍCULA Y PAGO

    Accede con tu usuario y clave 

    Para cualquier consulta o incidencia relacionada con la solicitud de admisión ponte en contacto con admisiontp@postgrado.uc3m.es

  • INFORMACIÓN PRÁCTICA

    Método de evaluación individualizada

    Evaluación continua mediante tests para cada bloque temático Desarrollo de ejercicios de programación para evaluar las habilidades prácticas adquiridas.


    Fechas de impartición

    Del 1 al 5 y del 15 al 19 de junio de 2026. 


    Horario

    • 1/6/2026: 16:00 a 18:00
    • 2/6/2026: 16:00 a 18:00
    • 3/6/2026: 16:00 a 18:00
    • 4/6/2026: 16:00 a 18:00
    • 5/6/2026: 16:00 a 18:00
    • 15/6/2026: 16:00 a 18:00
    • 16/6/2026: 16:00 a 18:00
    • 17/6/2026: 16:00 a 18:00
    • 18/6/2026: 16:00 a 18:00
    • 19/6/2026: 16:00 a 18:00
  • BECAS SANTANDER

    Becas Santander Microcredenciales 2026

    • Plazo: desde el día 27 de enero hasta el 9 de abril (ambos incluidos)
    • Número de ayudas: 10
    • Importe: 300€
    • Resolución: 12 de mayo de 2026
       

    ☛ Más información