Ingeniería de software y Lenguajes de programación

COMPILADORES: fases de compilación. Lenguajes regulares y libres de contexto. Autómatas finitos y autómatas de pila. Análisis sintáctico ascendente y descendente. Lenguajes intermedios. Tablas de símbolos. Traductores dirigidos por sintaxis. Gramática de atributos. Análisis automático. Tratamiento de errores. Sistemas para implementación de compiladores. Características de máquinas reales y abstractas. Administración de memoria en tiempo de ejecución. Síntesis en compilación. Generación de código. Asignación de registros. Resolución de direcciones. Optimización de código global y local. Generación automática de generadores de código.

INGENIERÍA DE SOFTWARE: principios y técnicas de ingeniería de software. Calidad de software. Especificación y proyecto de software. Verificación de software. Proceso de producción de software.

INGENIERÍA DE USABILIDAD: motivación y conceptos básicos. Modelos de evaluación de madurez en usabilidad. Principios de diseño. Proceso de usabilidad. Nociones de UML. Análisis de contexto de uso. Especificación de requisitos de usabilidad. Estandarización de interfaces. Diseño de la interacción. Prototipación. Directrices de usabilidad. Elementos de interacción. Evaluación de usabilidad. Usabilidad en interfaces web.

TÓPICOS EN COMPILADORES: Resumen variable dependiendo del énfasis ofrecido en Compiladores.

TÓPICOS EN INGENIERÍA DE SOFTWARE: Resumen variable dependiendo del énfasis ofrecido en Ingeniería de Software.

TÓPICOS EN LENGUAJES DE PROGRAMACIÓN: Resumen variable dependiendo del énfasis ofrecido en Lenguajes de Programación.