Lenguajes de Programación (1 Semestre, 3er Año)

El papel de los lenguajes de programación en el desarrollo de software. Sintaxis y semántica de los lenguajes de programación. Propiedades fundamentales de los lenguajes. El concepto de variable. Ligadura (binding). Alcance o ámbitos. Tiempo de vida. Arquitectura de ejecución de los lenguajes. Arquitectura estática. Arquitectura dinámica tipo pila. Arquitectura dinámica tipo heap. Basura y recolección de basura. Registro de activación. Las acciones. Expresiones y operadores. Panorámica de las estructuras de control fundamentales. Formas de traspaso de parámetros. Organización de la memoria y representación de los datos. Secuenciales (arreglos). Composición (records). Unión. Representaciones recursivas. El concepto de tipo. El modelo Orientado a Objetos. Importancia de la abstracción y de ocultar información. Aserciones. Herencia. Herencia Múltiple. Interfaces. Problemas con la Herencia Múltiple. Genericidad. Declaración por asociación. Problemas asociados a los sistemas de tipos. Metaprogramación. Reflexión (reflection).  Tipado dinámico. Lenguajes funcionales. Evaluación retardada. Eventos y delegados. Manipulación de eventos. La arquitectura Modelo Vista Controlador (MVC).  Concurrencia. Sincronización.

Evaluación: Examen Final y Seminarios

Profesores:

  • Prof. Titular Dr. Miguel Katrib
  • Prof. Auxiliar MSc. Ludwig Leonard
  • Prof. Instructor Lic. Antonio Alejo