5.13.4.5 Construcciones de Programación Avanzadas (8 horas) [Habilidades AG-C09,AG-C12]

Referencias Bibliográficas: [Stroustrup, 2013,Vandevoorde et al., 2017b]

Temas

  1. Abstracciones orientadas a objetos: herencia múltiple, mixins, rasgos (traits), multimétodos (multimethods)
  2. Metaprogramación: macros, programación generativa, desarrollo basado en modelos (model-based development)
  3. Herencia múltiple y herencia virtual.
  4. Patrón CRTP (Patrón de Plantilla Curiosamente Recursivo).
  5. Plantillas de expresión.
  6. Rasgos de tipos e introspección en tiempo de compilación.
  7. Diseño basado en políticas.
  8. Diseño de interfaz para bibliotecas.

Aprendizaje esperado (Learning Outcomes)

  1. Usar varias construcciones e idiomas de programación avanzados correctamente [Usar]
  2. Discutir cómo varias construcciones de programación avanzadas tienen como objetivo mejorar la estructura del programa, la calidad del software y la productividad del programador [Evaluar]
  3. Discutir cómo varias construcciones de programación avanzadas interactúan con la definición e implementación de otras características del lenguaje [Evaluar]
  4. Implementar CRTP para polimorfismo estático [Usar].
  5. Diseñar interfaces de biblioteca extensibles usando diseño basado en políticas [Usar].



Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM