El programa oficial de la materia puede ser descargado desde aquí.
- Unidad 1: Repaso y Mixins
- Repaso de Objetos. Polimorfismo. Herencia.
- Mixins. Introducción. Resolución de Conflictos.
- Modelado con Bloques.
- Unidad 2: Metaprogramación
- Reflection y Self-Modification en Ruby.
- Open Classes. Autoclase.
- Metamodelo.
- Method missing, class e instance eval.
- Unidad 3: Tipado Estático
- Chequeo estático de tipos.
- Polimorfismo tipado. Comparación con polimorfismo no tipado. Polimorfismo con mixins.
- Binding estático y dinámico. Sobrecarga. Inferencia de tipos.
- Tipado estructural. Type arguments.
- Varianza. Covarianza. Contravarianza.
- Unidad 4: Programación Funcional-Objetos en Scala
- Pattern Matching vs Polimorfismo.
- Inmutabilidad. Case classes.
- Comportamiento vs Estructura.
- Mónadas.
- Objetos como función/funciones como objetos.
- Funciones Parciales.
- Deconstrucción.