- Tema 1. Introducción: Modelos de Programación.
Lenguajes y Herramientas de Programación. Control de Versiones. Pruebas Unitarias. Desarrollo Dirigido
por Pruebas.
- Tema 2. Programación imperativa.
Estructuras de Datos. Subprogramas. Abstracción y Encapsulamiento.
- Tema 3. Programación Orientada a Objetos.
Clases, Objetos, Métodos. Encapsulamiento, Abstracción, Herencia, Polimorfismo. Mixins.
Meta Programación. Lenguajes de Dominio Específico. Programación Orientada a Aspectos.
- Tema 4. Programación Declarativa: Lógica y Funcional.
Funcional: Funciones de Orden Superior. Lambdas. Clausuras. Evaluación Perezosa. Memoización. Listas
Infinitas.
Declarativa: Cláusulas. Hechos. Consultas. Reglas.
- Tema 5. Programación Concurrente y Paralela.
Corrutinas. Hilos. Procesos. Programación Distribuida. Computación de Alto Rendimiento. Computación
en la Nube.
Casiano Rodriguez León
2015-01-07