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