Introducción [3h]
- Presentación del profesor, objetivos,
contenido, metodología y formas de evaluación del curso.
- Conceptos fundamentales de programación:
variables,funciones,correción,evaluación, alto orden,
estado y no determinismo.
- Sintaxis y Semántica de Lenguajes de
programación.
El modelo de Computación Declarativa [6h]
- Almacén de variables de una
asignación.
- El lenguaje núcleo del modelo.
- Semántica del lenguaje núcleo.
- Excepciones.
Técnicas
de programación declarativa [6h]
- Qué significa declarativo.
- Computación iterativa.
- Computación recursiva.
- Programando recursivamente.
- Programación de alto orden.
- Tipos abstractos de datos.
- Necesidades no declarativas.
- Diseño de programas en pequeño.
Taller
de programación declarativa [3h]
Asignación
Miniproyecto 1 (Bajar también el visualizador)
Examen 1
El modelo de Computación Concurrente
Declarativa [9h]
- Concurrencia dirigida por los datos.
- Técnicas de programación con hilos.
- Flujos.
- Ejecución perezosa.
- Programación en tiempo real
- Limitaciones y extensiones de la
programación declarativa.
Taller
de programación concurrente [3h]
Entrega del MiniProyecto 1 y Asignación
Miniproyecto 2 (Bajar también el simulador)
Examen
2
El modelo de Computación Imperativa
[6h]
- El concepto de estado.
- Estado y construcción de sistemas.
- El modelo declarativo con estado explícito.
- Tipos abstractos de datos.
- Tipos de datos con estado.
- Programación con estado.
- Diseño de programas en grande.
Taller
de programación imperativa [3h]