Uso de cookies

En las páginas web de la Universidad Carlos III de Madrid utilizamos cookies propias y de terceros para mejorar nuestros servicios mediante el análisis de sus hábitos de navegación. Al continuar con la navegación, entendemos que se acepta nuestra política de cookies. "Normas de uso"

[Cerrar]

Microcredencial Universitaria Desarrollo de Componentes Software Reutilizables en C++ Moderno

Persona mirando através de ventanal el paisaje
  • Inicio
    • Dirección: José Daniel García Sánchez.
    • Idioma: Castellano.
    • Campus: Leganés.
    • Modalidad: Presencial.
    • Fechas: Del 21 al 30 de octubre de 2025.
    • Horario: Martes y jueves de 16:00 a 18:00 horas.
    • Duración: 16 horas.
    • ECTS: 2.
    • Precio:  300 euros.
    • Plazas: 30.
    • Plazo de Admisión: Hasta el 20 de octubre de 2025.
    • Becas: 18 Becas Banco Santander
    • Departamento: Informática

    ¿Quieres avanzar en tu dominio del lenguaje C++? ¿Quieres hacerlo directamente con C++23? Este curso te ayudará a mejorar tu dominio del lenguaje C++ si ya tienes unos conocimientos básicos mínimos.

    Cuando hayas completado este curso serás capaz de construir componentes software que sean reutilizables utilizando memoría dinámica, polimorfismo dinámico y programación genérica básica. También avanzarás en el tratamiento de texto. Además conocerás las principales estructuras de datos ofrecidas por la biblioteca estándar y sus correspondientes iteradores y serás capaz de utilizar algoritmos estandarizados.

  • PROGRAMA

    1. Punteros y memoria dinámica: Comenzaremos introduciendo la memoria dinámica y cómo los punteros elegantes (smart pointers) permiten acceder a memoria reservada durante la ejecución de un programa. También presentaremos los punteros primitivos del lenguaje y los casos en que su uso es adecuado.

    2. Semántica de copia y de movimiento: Iremos incorporando distintas capacidades a los tipos definidos por el usuario centrándonos en particular en las diferencias entre los conceptos de copias de objetos y movimientos de objetos para comprender su impacto en el rendimiento y facilidad de uso.

    3. Tratamiento de texto: Prestaremos atención a las cadenas de texto y a las vistas sobre cadenas, que pueden suponer una optimización. Introduciremos el uso de cadenas en codificaciones Unicode. Veremos cómo podemos tratar los argumentos que se pasan a un programa. Finalizaremos con los flujos en memoria como mecanismo de tratamiento de texto y finalizaremos con el formato avanzado de cadenas y las rutinas modernas de impresión.

    4. Gestión de memoria. Propiedad estricta y propiedad compartida: Profundizaremos en el uso de punteros elegantes (tanto de propiedad estricta como de propiedad compartida). Usaremos estos tipos para implementar dos tipos de datos: Un vector de valores y una lista enlazada de valores.

    5. Herencia y polimorfismo dinámico: Presentaremos los conceptos fundamentales de la programación orientada a objetos: la herencia de clases y el polimorfismo dinámico (o en tiempo de ejecución). Veremos como estos conceptos permite desarrollar componentes software con una estructura flexible y adaptable.

    6. Introducción a la programación genérica: Presentaremos la programación genérica como una alternativa complementaria a la programación orientada a objetos, mediante el desarrollo de funciones genéricas y de tipos genéricos. Veremos ejemplos con pares y tuplas y su relación con las vinculaciones estructuradas. Finalizaremos con dos conceptos muy relacionados: las expresiones lambda y los objetos función.

    7. STL: Contenedores, iteradores y algoritmos: Nos centraremos en la STL (Standard Template Library): una parte fundamental de la biblioteca estándar de C++. Veremos las diferencias entre los contenedores de secuencia y los contenedores asociativo. Presentaremos el concepto de iterador e introduciremos los principales algoritmos disponibles.

  • PROFESORADO

    Profesorado UC3M

    • José Daniel García Sánchez
      Catedrático de Universidad.
      Departamento de Informática.
      Miembro de comité ISO C++.
    • David Expósito Singh
      Profesor Titular de Universidad.
      Departamento de Informática.
    • Javier Fernández Muñoz
      Profesor Titular de Universidad.
      Departamento de Informática.
    • 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

    El curso tiene una importante componente práctica por lo que será necesario que vengas al curso con tu ordenador portátil (da igual el sistema operativo). Antes del curso recibirás unas indicaciones para que puedas preparar tu ordenador para el curso.

    Método de evaluación individualizada

    Tests de evaluación formativa a lo largo del curso. Test de evaluación final para evaluar la comprensión de los conceptos principales. Desarrollo de  pequeños ejercicios de programación para evaluar las habilidades prácticas adquiridas.


    Fechas de impartición

    21, 23, 28 y 30 de octubre de 2025.


    Horario

    Martes y jueves de 16:00 a 18:00 horas.

  • BECAS SANTANDER

    Becas Santander Microcredenciales 2025

    • Plazo: 3 de septiembre de 2025 hasta el 28 de octubre de 2025 (ambos incluidos)
    • Número de ayudas: 18
    • Importe: 300€
    • Resolución: antes del 28 de noviembre de 2025
       

    ☛ Más información