Profesor | Fernando Abigail Galicia Mendoza | lu mi vi | 11 a 12 | P211 |
Ayudante | Pedro Juan Salvador Sánchez Pérez | ma ju | 11 a 12 | P211 |
Ayud. Lab. | María Ximena Lezama Hérnandez | mi | 14 a 16 | Laboratorio de Ciencias de la Computación 1 |
El horario será el siguiente
Profesor: Lunes, Martes y Jueves 11 a 12 P211
Ayudante (María Ximena Lezama Hernández): Miércoles y viernes 11 a 12 P211
Ayud. Lab. (Pedro Juan Salvador Sánchez Pérez): Miércoles 14 a 16 Laboratorio de Ciencias de la Computación 1
Modalidad: Presencial con actividades en una plataforma de educación a distancia.
Enlace: http://esie.icat.unam.mx/moodle
Objetivo:
Estudiar los conceptos teóricos correspondientes al diseño y definición de los lenguajes de programación y los principales paradigmas: Funcional, imperativo y orientado a objetos. Una vez analizados cada uno de estos, realizaremos una implementación cercana a un lenguaje de programación real de cada paradigma.
Al finalizar el curso el alumno tendrá la capacidad de diseñar y/o analizar cualquier lenguaje de acuerdo a los paradigmas mencionados, es decir, tendrá la facilidad para entender un nuevo lenguaje o profundizar en alguno ya estudiado.
Contenido:
1. Introducción
2. Fundamentos
3. Paradigma Funcional
4. Paradigma Imperativo
5. Paradigma Orientado a Objetos
6. El poder de la máquina de Turing (MT), comparación de las MT vs un lenguaje imperativo.
Evaluación:
Total: 100 pts.
Habrá puntos extra en el curso, favor de revisar el PDF anexo a esta presentación.
Tecnologías involucradas.
Bibliografía básica:
- Miranda Perea, Favio E. et al., Notas para el curso: Lenguajes de Programación.
- Practical Foundations for Programming Languages de Harper, Robert.
- Introduction to the Theory of Programming Languages de Dowek, Gilles & Jean-Jacques Lévy.
- Principles of Programming Languages de Dowek, Gilles.
Para mayor información, consultar el siguiente enlace: https://bit.ly/2Y8PaKb