Lenguajes de Programación

HRS./SEM.: 5

Objetivos Conocer los diferentes paradigmas de programación. Conocer los diferentes modelos de máquinas virtuales. Programar eficientemente en al menos dos lenguajes de programación pertenecientes a paradigmas distintos.

Contenido

  • 1. Introducción. Conceptos generales. Clasificación de los lenguajes de programación. Paradigmas de programación. Elementos esenciales de un lenguaje de programación. Abstracción en los lenguajes de programación.
  • 2. Programación Procedural.
  • 3. Programación Estructurada.
  • 4. Programación funcional. Recursividad como base del control de flujo. Listas como esencia en el manejo de datos. Módulos como elementos de primer orden (first-class functions). Lenguajes representativos: Lisp, Scheme
  • 5. Lenguajes orientados a objetos. Características esenciales de los lenguajes orientados a objetos. Ejemplos de lenguajes orientados a objetos: Smalltalk, C++, Java.
  • 6. Programación lógica. Principios de la programación lógica. Bases para la programación en lenguaje Prolog.
  • Otros paradigmas de programación. Tópicos complementarios. Lenguajes manejadores de bases de datos. Lenguajes para la elaboración de prototipos.

Evaluación
Será continua mediante exámenes y trabajos o tareas en las que el alumno deberá demostrar que maneja con soltura los conceptos y las técnicas del curso.

Bibliografía.


1. Harold Abelson and Gerald Jay Sussman with Julie Sussman. Structure and Interpretation of Computer Programs. MIT Press, 1985.

2. George Springer and Daniel P. Friedman. Scheme and the Art of Programming. McGraw-Hill, 1989.

3. Daniel P. Friedman and Mitchell Wand and Christopher T. Haynes. Essentials of Programming Languages. McGraw-Hill, 1992.

4. Samuel N. Kamin. Programming Languages: An Interpreter-Based Approach. Addison-Wesley, 1990.