Este curso consiste del estudio de los principios y aspectos de diseño de los traductores de Lenguajes de Programación. Se discuten los componentes principales de un compilador: análisis (léxico, sintáctico y semántico) y síntesis (representación intermedia, generación de código y optimización). En todas las etapas del análisis se incluye el reconocimiento de ambigüedad, formalismos de representación y recuperación a partir de errores.
Se presenta el funcionamiento de un compilador y las técnicas que se emplean en la construcción de compiladores con la finalidad de que los alumnos tengan más herramientas para el diseño de cualquier otro tipo de sistema automatizado. Las enseñanzas deberán capacitar a los alumnos para elaborar durante el curso un pequeño compilador, auxiliándose de algunas herramientas existentes que automatizan parte de esta labor. Este trabajo se desarrolla en equipo como comúnmente se hace en la construcción de compiladores comerciales.
La evaluación final se integra de la siguiente manera: el 40% del total corresponde al proyecto, el 30% a exámenes y 30% a tareas (3 o 4).