Temario


Por motivos pedagógicos, se han añadido y/o modificado el orden en que se imparten los temas. El temario oficial de la asignatura puede consultarse aquí.

1. Conceptos generales


  • 1.1 Historia de los lenguajes de programación
  • 1.2 Clasificación de los lenguajes de programación
  • 1.3 Componentes de un lenguaje de programación
  • 1.4 Generación de código ejecutable. El lenguaje WAE

2. El paradigma funcional


  • 2.1 Clasificación de funciones. El lenguaje FWAE
  • 2.2 Currificación
  • 2.3 Ambientes de evaluación
  • 2.4 Cerraduras
  • 2.5 Alcance estático vs. alcance dinámico
  • 2.6 Evaluación perezosa. El lenguaje CFWAE/L
  • 2.7 Recursividad. El lenguaje RCFWAE

3. El paradigma imperativo


  • 3.1 Continuaciones
  • 3.2 Estado. El lenguaje BRCFWAE
  • 3.3 Paso de parámetros
  • 3.4 Recolección de basura

4. Introducción a la teoría de tipos


  • 4.1 Definición de tipo. El lenguaje Typed-RCFWAE
  • 4.2 Tipificado estático vs. tipificado dinámico
  • 4.3 Juicios de tipo. Sistema verificador de tipos
  • 4.4 Algoritmos de inferencia de tipos
  • 4.5 Programación lógica: Unificación de tipos
  • 4.6 Subtipificado
  • 4.7 Polimorfismo

5. Extensión sintáctica de lenguajes


  • 5.1 Definición de macro
  • 5.2 Macros en distintos lenguajes de programación
  • 5.3 Higiene

6. El paradigma orientado a objetos


  • 6.1 Macros y orientación a objetos
  • 6.2 Objetos
  • 6.3 Clases
  • 6.4 Herencia y polimorfismo