Este es el tercer curso de la secuencia introductoria en Ciencia de la Computación.
El curso profundiza en el dominio avanzado de la Programación Orientada a Objetos (POO) en C++,
enfocándose en el desarrollo de sistemas de alto rendimiento. Los temas principales incluyen:
Conceptos Avanzados Fundamentales:
- Metaprogramación con plantillas (TMP) y Substitution Failure Is Not An Error (SFINAE)
- Semántica de movimiento (move semantics), perfect forwarding y optimización RAII (Resource Acquisition Is Initialization)
- Problemas comunes de herencia múltiple y patrones de herencia virtual
Programación Concurrente y de Sistemas:
- std::thread, async/await y sincronización de hilos
- Programación lock-free con tipos atómicos
- Patrones de diseño POO seguros en entornos multihilo (ej. variantes de singleton)
Paradigmas Modernos de C++:
- CRTP (Curiously Recurring Template Pattern)
- Plantillas de expresiones para código crítico en rendimiento
- Introspección en tiempo de compilación con constexpr y type traits
Aplicaciones Prácticas:
- Interfaz entre C++ y otros lenguajes (FFI - Foreign Function Interface)
- Benchmarking y perfilado de código con uso intensivo de plantillas
Prepara a los estudiantes para desarrollo de motores de juego, computación de alto rendimiento (HPC)
y sistemas embebidos, áreas donde C++ es dominante.
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM