Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automatas y Lenguajes
Automatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
1 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
ASIGNATURA
AUTÓMATAS Y LENGUAJES (AyL)
1.1. Código
17838 de la titulación de Grado en Ingeniería Informática
1.2. Materia
Autómatas y Lenguajes
1.3. Tipo
Formación obligatoria
1.4. Nivel
Grado
1.5. Curso
3º Ingeniería Informática, 4º plan conjunto Informática/Matemáticas
1.6. Semestre
1º
2 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
como asignatura con el mismo nombre; Seminario Taller de software, del módulo
Seminarios Taller de Informática; y finalmente con la materia Estructuras Discretas y
Lógica, del módulo Fundamentos teóricos de la informática y aplicaciones.
3 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
4 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
OBJETIVOS GENERALES
Conocer los tipos de lenguaje regulares e independientes del contexto, y sus
G1
equivalencias con los autómatas y otros tipos de representaciones.
Conocer las gramáticas de atributos como dispositivo capaz de generar cualquier
G2
tipo de lenguaje
G3 Desarrollar procesadores de lenguaje para los que son objeto de la asignatura
Conocer los límites expresivos de cada modelo de cómputo y estar familiarizado
G4
con las técnicas formales que permiten determinarlos
5 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
6 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
sintácticos ascendentes según las técnicas SLR(1), LR(1) y LALR(1), lo que incluye el
diseño de diagramas de estado de análisis LR(0), conjuntos primero y siguiente y
símbolos de adelanto
A partir de las gramáticas independientes del contexto, saber diseñar analizadores
22.
sintácticos descendentes según la técnica LL(1) a partir de tablas de análisis
23. Estar familiarizados con la técnica de análisis LL(k)
Conocer el concepto de conflicto y las condiciones por las cuales un lenguaje no es
24.
SLR(1), LR(1), LALR(1), LL(1) o LL(k)
25. Utilizar herramientas informáticas actuales para facilitar los objetivos anteriores
TEMA 8.- Análisis semántico
Conocer las funciones del análisis semántico en el contexto de los procesadores de
26.
lenguaje
Saber construir procesadores de lenguaje (tanto de una pasada como de más) a partir
27. de analizadores sintácticos (tanto ascendentes como descendentes) y las gramáticas
de atributos de los lenguajes objeto de estudio
28. Utilizar herramientas informáticas actuales para facilitar los objetivos anteriores
TEMA 9.- Conjuntos regulares
29. Saber minimizar autómatas finitos
30. Saber obtener autómatas finitos deterministas equivalentes a no deterministas
Estar familiarizado con los algoritmos que permiten obtener expresiones regulares
31.
equivalentes a autómatas finitos y viceversa
Estar familiarizado con el lema de bombeo como herramienta para demostrar que un
32.
lenguaje predeterminado no es regular
TEMA 10.- Conjuntos independientes del contexto
Estar familiarizado con los algoritmos que permiten obtener gramáticas
33.
independientes del contexto equivalentes a autómatas a pila y viceversa
Estar familiarizado con el lema de anidamiento doble como herramienta para
34.
demostrar que un lenguaje predeterminado no es independiente del contexto
7 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Programa Detallado
8 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Bibliografía:
Nota: Parte de esta asignatura está contenida, parcialmente, en los dos primeros
textos que han sido escritos por profesores de este departamento. El alumno podrá
encontrar material similar al utilizado en alguno de los temas. El resto de las
referencias recogen la materia de una manera menos vinculada a la forma en la que
se imparte en esta escuela. La documentación disponible en Moodle contiene
suficiente detalle como para suponer una referencia de consulta completa. Por lo
tanto, la consulta de estos materiales, aunque puede resultar recomendable para un
dominio más profundo de la materia, no es imprescindible para alcanzar los objetivos
y competencias descritos en esta guía.
Unidades 1y 3:
1. Alfonseca, M., de la Cruz, M., Ortega, A., Pulido, E. Compiladores e
intérpretes: teoría y práctica, Pearson, 2006.
2. Alfonseca, M., Alfonseca, E., Roberto Moriyon, R. Teoría de Autómatas y
Lenguajes Formales, McGraw Hill, 2007. ISBN: 978-84-481-5637-4.
3. Hopcroft, J.E., Motwani, R. and Ullman, J.D.: Introducción a la Teoría de
Autómatas, Lenguajes y Computación, Ed. Pearson Education, 2002.
4. Alfonseca, M., Sancho, J., Martínez Orga, M.A., Teoría de Lenguajes,
Gramáticas y Autómatas. Universidad y Cultura, Madrid, 1987.
Unidades 1 y 2:
1. Alfonseca, M., de la Cruz, M., Ortega, A., Pulido, E. Compiladores e
intérpretes: teoría y práctica, Pearson, 2006.
2. Aho, A.V., Sethi, R., Ullman, J.D., Compilers: Principles, Techniques and
Tools. Addison-Wesley Publishing Company, Reading, MA, 1986. Traducción
español, Compiladores: principios, técnicas y herramientas, Pearson
Education, 1990-98.
3. Grune, D., Modern Compiler Design, Wiley, 2000.
4. Marcotty, M., Ledgard, H.F., Bochmann, G.V., A Sampler of Formal
Definitions. Computing Surveys, 8:2, pp. 191-276, June 1976.
9 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
2. Métodos docentes
La metodología utilizada en el desarrollo de la actividad docente incluye los
siguientes tipos de actividades:
*Clases de teoría:
10 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
*Tutorías presenciales:
Se han planificado 5 tutorías de 1 hora, y de asistencia obligatoria para los
alumnos de evaluación presencial. Coinciden con 5 de los momentos más
exigentes para los alumnos. En ellas se intentará focalizar la atención de los
alumnos en los aspectos más relevantes de la materia y minimizar el número de
dudas que queden sin resolver.
Actividad del profesor:
Convocar y supervisar la tutoría
Actividad del alumno:
Actividad presencial: Asistir a la tutoría, plantear sus dudas y atender las
explicaciones de su profesor.
Actividad no presencial: Previo a la tutoría, identificación de posibles dudas
con relación al temario de la tutoría.
*Prácticas:
Todas las prácticas de la asignatura requieren la utilización de herramientas
informáticas que facilitan las tareas asociadas con cada uno de los contenidos
de la asignatura.
Las prácticas se articulan como una colección de ejercicios que el alumno debe
solucionar en el laboratorio preferiblemente en presencia de su profesor. Eso
no significa que de manera no presencial los alumnos puedan avanzar fuera del
aula.
Las prácticas se realizarán de manera individual o en grupos de un tamaño
máximo no superior al 10-15% del total de alumnos en el aula.
Al final de cada práctica se articulará un mecanismo que permita comprobar
que los alumnos han superado la práctica en curso. El profesor supervisará las
pruebas determinadas en cada caso.
La sección 4 de esta guía contiene la forma de evaluación de las prácticas.
11 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Nº de horas Porcentaje
Clases teóricas 39 h (26%)
Clases prácticas 26 h (17.3%)
Tutorías programadas a lo largo del semestre 5 h (3.3%)
Presencial 11h = 81 h (54%)
5 (3 control+ 2
Realización de pruebas escritas parciales y final fin práct.) +
6 h (finales)
(7.3%)
23 h
Estudio semanal regulado (2x9+1x5)
(15.3%)
No 14 h (1x14) 1h
69 h (46%)
presencial Realización de actividades prácticas por sesión
(9.3%)
Preparación y exámenes finales (conv. ord.) 13 h (8.7%)
Preparación y exámenes finales (conv. extra.) 19 h (12.7%)
Carga total de horas de trabajo: 25 horas x 6 ECTS 150 h
12 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
ATENCIÓN: Cualquier copia descubierta que se haya realizado a lo largo del curso,
tanto en cualquiera de las actividades de teoría desarrolladas, como en
cualquiera de los apartados de las prácticas, serán penalizadas con rigurosidad.
Bloque de teoría
PARA LA EVALUACIÓN PRESENCIAL
Las diferentes partes que serán tenidas en cuenta en el bloque de teoría se
calificarán de la siguiente manera
1) Taller de problemas:
Sólo se considerarán aptos aquellos alumnos que consigan la calificación de
apto en la actividad presencial.
La calificación (apto o no apto) obtenida por el alumno seleccionado para
representar al grupo en esta actividad será la que obtenga todo el grupo.
El profesor puede elegir más de una vez al mismo grupo si lo necesita para
decidir si es apto o no apto en esta actividad.
Los alumnos no aptos en el taller pasarán automáticamente a evaluación
no presencial.
13 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
14 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Los alumnos que hayan recibido calificación de no apto en sólo una práctica tendrán
al menos una nota de 5 (sobre 10) en las prácticas. Esta nota podrá ser mejorada en
el examen final de prácticas.
Los alumnos que hayan recibido calificación de no apto en más de una práctica
pasarán automáticamente a la evaluación no presencial.
El último día de clase se celebrará el examen final de las prácticas. Sólo los alumnos
de evaluación no presencial tienen la obligación de presentarse a él. Los demás
alumnos (aptos con nota de 5 o 7) pueden utilizarlo para mejorar su nota que en
ningún caso bajará de la que ya tienen de partida. Por lo tanto, el examen final se
calificará entre 0 y 10 y la nota final de prácticas del alumno será el máximo entre la
nota de su examen y los puntos obtenidos a la finalización de los ejercicios prácticos
en el laboratorio.
PARA LA EVALUACIÓN NO PRESENCIAL
Sólo se tendrá en cuenta el examen final que será calificado entre 0 y 10 y dará
directamente la nota de prácticas del alumno.
15 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
5. Cronograma
Horas Horas no
Semana Contenido
presenciales presenciales
1 - Presentación y motivación de la asignatura, descripción del 3 2
programa, normativa y los métodos de evaluación, descripción del
material accesible en la plataforma Moodle.
- Unidad 1: modelos de cómputo y familias de lenguajes.
Tema 1: preliminares
Tema 2: Gramáticas Independientes del contexto y
autómatas a pila: presentación
- Práctica 1: herramientas estudio de gramáticas independientes
del contexto y autómatas a pila (ej. jflap)
2 1
2 - Unidad 1: modelos de cómputo y lenguajes. 3 2
Tema 2: Gramáticas Independientes del contexto y
autómatas a pila: problemas
Tema 3: Autómatas finitos deterministas y no
deterministas, expresiones regulares:
o Presentación
o Problemas
- Práctica 1: herramientas estudio de gramáticas independientes 2 1
del contexto y autómatas a pila (ej. jflap)
3 - Unidad 1: modelos de cómputo y lenguajes. 3 2
Tema 3: Autómatas finitos deterministas y no
deterministas, expresiones regulares:
o Presentación
o Problemas
- Primer control: modelos y lenguajes regulares e independientes
del contexto
- Práctica 2: herramientas estudio de autómatas finitos y 2 1
expresiones regulares (ej. jflap)
4 - Unidad 1: modelos de cómputo y lenguajes. 3 2
Tema 4: Gramáticas de atributos
o Presentación del modelo
o Programación de gramáticas de atributos
o Problemas
- Práctica 2: herramientas estudio de autómatas finitos y
expresiones regulares (ej. jflap) 2 1
5 - Unidad 1: modelos de cómputo y lenguajes. 3
Tema 4: Gramáticas de atributos
o Problemas
- Unidad 2: procesadores de lenguaje 2 (total)
Tema 5: Análisis morfológico
o Presentación y problemas
- Práctica 3: herramientas de ayuda a la generación de 2
analizadores morfológicos (ej. flex)
5 - Tutorías sobre autómatas finitos, expresiones regulares y análisis 1
morfológico
6 - Segundo control: gramáticas de atributos 3 2
- Unidad 2: procesadores de lenguaje
Tema 6: Tablas de símbolos
16 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Horas Horas no
Semana Contenido
presenciales presenciales
Tema 7: Análisis sintáctico (ascendente):
o Introducción al análisis sintáctico
- Práctica 3: herramientas de ayuda a la generación de 2 1
analizadores morfológicos (ej. flex)
7 - Unidad 2: procesadores de lenguaje 3 2
Tema 7: Análisis sintáctico ascendente:
o SLR(1): presentación y problemas
o LR(1): presentación
- Práctica 4: herramientas de ayuda a la generación de 2 1
analizadores sintácticos (ej. bison)
8 - Unidad 2: procesadores de lenguaje 3
Tema 7: Análisis sintáctico ascendente:
o LR(1) – LALR(1)
- Correcciones de los controles 1 y 2 2 (total)
- Práctica 4: herramientas de ayuda a la generación de 2
analizadores sintácticos (ej. bison)
8 - Tutorías sobre gramáticas independientes del contexto, autómatas 1
a pila y análisis sintáctico ascendente
9 - Unidad 2: procesadores de lenguaje 3 2
Tema 7: Análisis sintáctico ascendente:
o Problemas
Tema 8: Análisis sintáctico descendente:
o LL(1) – LL(k)
- Práctica 5: herramientas de ayuda a la generación de 2 1
analizadores sintácticos (ej. antlr)
10 - Unidad 2: procesadores de lenguaje 3
Tema 8: Análisis sintáctico descendente:
o LL(k)
o Problemas 2 (total)
- Unidad 2: procesadores de lenguaje
Tema 9: Análisis semántico:
- Práctica 6: herramientas de ayuda a la generación de 2
compiladores (ej. bison)
10 - Tutorías sobre gramáticas independientes del contexto, autómatas 1
a pila y análisis sintáctico descendente
11 - Unidad 2: procesadores de lenguaje 3
Tema 9: Análisis semántico:
o Problemas
- Tercer control: Análisis morfológico y sintáctico 2 (total)
o Corrección del control
- Práctica 6: herramientas de ayuda a la generación de 2
compiladores (ej. bison)
11 - Tutorías sobre gramáticas de atributos y análisis semántico 1
17 de 18
Asignatura: Autómatas y Lenguajes
Código: 17838
Centro: Escuela Politécnica Superior
Titulación: Grado en Ingeniería Informática
Nivel: Grado
Tipo: Obligatoria
Nº de créditos: 6
Horas Horas no
Semana Contenido
presenciales presenciales
compiladores (ej. antlr) 2 1
18 de 18