Syllabus
SCD-1015 LENGUAJES Y AUTOMATAS I
DR. JOSE ALFONSO CUEVAS BACAB
jacuevas@itescam.edu.mx
Semestre | Horas Teoría | Horas Práctica | Créditos | Clasificación |
6 | 3 | 2 | 5 | Ciencia Ingeniería |
Prerrequisitos |
CONOCIMIENTOS PREVIOS: Conoce, comprende y aplica las estructuras de datos, métodos de ordenamiento y búsqueda para la optimización del rendimiento de soluciones de problemas del contexto. |
Competencias | Atributos de Ingeniería |
Identifica los conceptos de lenguajes formales para comprender las fases de un compilador y traductor. | Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería | Crea y reconoce Expresiones Regulares para solucionar problemas del entorno. | Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería | Crea y reconoce autómatas finitos en un lenguaje de programación para la solución de un problema. | Identificar, formular y resolver problemas de ingeniería aplicando los principios de las ciencias básicas e ingeniería | Construye un analizador léxico a partir de un lenguaje de programación. | Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas | Construye un analizador sintáctico a partir de un lenguaje de programación. | Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas | Diseña y construye o simula una Maquina de Turing (MT), para el reconocimiento de cadenas propias de lenguajes. | Aplicar, analizar y sintetizar procesos de diseño de ingeniería que resulten en proyectos que cumplen las necesidades específicas |
Normatividad |
ACTIVIDADES EN MOODLEEN LINEA POR CONTINGENCIA DE SALUD CONTINUANDO CON LAS ACTIVIDADES POR CONTINGENCIA DE SALUD, LAS CUALES ESTAN ALOJADAS EN EL MOODLE |
Materiales |
|
Bibliografía disponible en el Itescam | |||||
Título |
Autor |
Editorial |
Edición/Año |
Ejemplares |
|
Parámetros de Examen | ||
PARCIAL 1 | De la actividad 1.1.1 a la actividad 3.1.6 | |
PARCIAL 2 | De la actividad 4.1.1 a la actividad 6.1.3 |
Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje) | |
1. Introducción a la Teoría de Lenguajes Formales.
1.1. Identifica los conceptos de lenguajes formales para comprender las fases de un compilador y traductor. 1.1.1. Definir alfabetos y lenguajes en un caso de estudio. ![]() ![]() ![]() ![]() ![]() 1.1.2. Obtener un alfabeto a partir de un lenguaje. ![]() 1.1.3. Investigar la estructura de diferentes traductores. ![]() 1.1.4. Estructurar mediante un diagrama, las fases de un compilador. ![]() |
2. Expresiones Regulares.
2.1. Crea y reconoce Expresiones Regulares para solucionar problemas del entorno. 2.1.1. Investigar las expresiones regulares y sus operaciones. ![]() ![]() 2.1.2. Generar cadenas a partir de una expresión regular. ![]() 2.1.3. Obtener una expresión regular a partir de un grupo de cadenas o viceversa. ![]() |
3. Autómatas Finitos.
3.1. Crea y reconoce autómatas finitos en un lenguaje de programación para la solución de un problema. 3.1.1. Determinar la notación formal de un autómata finito. ![]() 3.1.2. Conocer la diferencia entre un AFND y AFD. ![]() 3.1.3. Construir un AF a partir de un ER. ![]() ![]() 3.1.4. Construir un AF a partir de la descripción de un caso de estudio (en grupos de trabajo). ![]() 3.1.5. Convertir un AFN a AFD. ![]() 3.1.6. Minimizar estados en un AF. ![]() |
4. Análisis Léxico.
4.1. Construye un analizador léxico a partir de un lenguaje de programación. 4.1.1. Elaborar por equipo, la identificación de lexemas, componentes léxicos y patrones a partir de un lenguaje. 4.1.2. Conocer los elementos de una tabla de tokens. ![]() 4.1.3. Definir las reglas de un lenguaje de programación propio. 4.1.4. Identificar patrones válidos, generar autómatas y tabla de tokens del lenguaje propuesto. 4.1.5. Distinguir los Errores léxicos. 4.1.6. Construir un analizador léxico mediante un lenguaje de programación. (Utilizar un generador de analizador léxico como ejemplo). ![]() |
5. Análisis Sintáctico.
5.1. Construye un analizador sintáctico a partir de un lenguaje de programación. 5.1.1. Identificar la notación formal de una gramática. ![]() ![]() ![]() 5.1.2. Buscar la sintaxis de la construcción de los Lenguajes de Programación por medio de GLC o utilizando notación BNF (Backus- Naur Form). ![]() ![]() ![]() 5.1.3. Investigar las formas normales de Chomsky. ![]() 5.1.4. Conocer la notación de los diagramas de sintaxis. ![]() 5.1.5. Construir diagramas de sintaxis de un lenguaje. ![]() 5.1.6. Construir una GLC a partir de los diagramas de sintaxis. ![]() 5.1.7. Eliminar la ambigüedad de una gramática. ![]() ![]() |
6. Máquinas de Turing.
6.1. Diseña y construye o simula una Maquina de Turing (MT), para el reconocimiento de cadenas propias de lenguajes. 6.1.1. Identificar la notación formal de una MT. ![]() 6.1.2. Construir una MT a partir de un caso de estudio. ![]() 6.1.3. Simular a través de un lenguaje de alto nivel, la representación de una MT. ![]() |
Prácticas de Laboratorio (20232024P) |
Fecha |
Hora |
Grupo |
Aula |
Práctica |
Descripción |
Cronogramas (20232024P) | |||
Grupo | Actividad | Fecha | Carrera |
Temas para Segunda Reevaluación |