Grupo 7073 🤖

Profesor: Favio Miranda Perea (favio@ciencias.unam.mx)

Ayudante: Javier Enríquez Mendoza (javierem_94@ciencias.unam.mx)

Laboratorio: Luis Fernando Loyola Cruz (loyola@ciencias.unam.mx )

Sinopsis ✏️

El objetivo del curso es estudiar diversos conceptos subyacentes al diseño, definición, implementación y características de los lenguajes de programación modernos así como técnicas formales para el estudio de algunos de los principales paradigmas de programación: funcional, imperativo y orientado a objetos.

Al finalizar el curso el alumno comprenderá los principios y componentes en el diseño de los lenguajes de programación y contará con las herramientas básicas para analizar formalmente diversas de sus características.


Temario 🧮

  1. Introducción: ¿para qué estudiar lenguajes de programación?, sintaxis, semántica, pragmática.

  2. Fundamentos: definiciones inductivas, inducción estructural, sustitución, estilos de sintaxis y de semántica.

  3. Paradigma Funcional: cálculo lambda, lenguaje PCF, tipos registro y variantes.

  4. Paradigma Imperativo: referencias, excepciones, continuaciones

  5. Paradigma Orientado a Objetos: subtipado, características fundamentales, Java Peso Pluma.