Fichas de asignaturas 2012-13
![]() |
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES |
![]() ![]() ![]() |
|
Asignatura |
![]() |
| |
Profesores |
![]() |
| |
Competencias |
![]() |
| |
Resultados Aprendizaje |
![]() |
| |
Actividades Formativas |
![]() |
| |
Sistemas de Evaluación |
![]() |
| |
Contenidos |
![]() |
| |
Bibliografía |
![]() |
Código | Nombre | |||
Asignatura | 21714027 | TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES | Créditos Teóricos | 2,5 |
Título | 21714 | GRADO EN INGENIERÍA INFORMÁTICA | Créditos Prácticos | 5 |
Curso | 3 | Tipo | Obligatoria | |
Créd. ECTS | 6 | |||
Departamento | C137 | INGENIERÍA INFORMÁTICA |
Requisitos previos
Es muy recomendable que el alumno haya adquirido las competencias correspondientes a las materias de los semestres anteriores. En particular, el alumno debe haber superado un porcentaje significativo de las materias/asignaturas de los módulos de formación básico y común. En todo caso, el alumno debería tener una madurez matemática y como programador razonable, resultado de haber cursado y superado asignaturas de primer curso con contenidos de Álgebra y Matemáticas Discretas. Igualmente debería dominar algún lenguaje de programación y ser capaz de implementar código que simule modelos de pequeña complejidad, todo ello resultado de haber cursado las asignaturas con contenidos de programación del primer curso del grado.
Recomendaciones
Se recomienda al alumno el estudio y el trabajo continuado, así como la implementación práctica sobre un ordenador de los algoritmos y programas que se enseñan en esta asignatura.
Profesores
Nombre | Apellido 1 | Apellido 2 | C.C.E. | Coordinador | |
José Antonio | Jiménez | Millán | Profesor Universidad | S |
![]() |
Competencias
Se relacionan aquí las competencias de la Materia/módulo o título a que pertenece la asignatura, entre las que el profesor podrá indicar las relacionadas con la asignatura.
Identificador | Competencia | Tipo |
CG02 | Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio. | GENERAL |
CG05 | Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía | GENERAL |
CO02 | Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, diseño y procesamiento de lenguajes | ESPECÍFICA |
G09 | Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática. | ESPECÍFICA |
T01 | Capacidad para la resolución de problemas | GENERAL |
T03 | Capacidad de organización y planificación | GENERAL |
T04 | Capacidad de aplicar los conocimientos en la práctica | GENERAL |
T05 | Capacidad para trabajar en equipo. | GENERAL |
T07 | Capacidad de análisis y síntesis. | GENERAL |
T11 | Aptitud para la comunicación oral y escrita en la lengua nativa. | GENERAL |
T12 | Capacidad para el aprendizaje autónomo y profundo | GENERAL |
T17 | Capacidad para el razonamiento crítico | GENERAL |
T21 | Capacidad para utilizar con fluidez la informática a nivel de usuario | GENERAL |
Resultados Aprendizaje
Identificador | Resultado |
R01 | R01: Modelar procesadores de lenguajes utilizando la teoría de autómatas finitos (en sus versiones determinista y no determinista) que reconozcan a lenguajes regulares dados. Aplicar los métodos de transformación entre las diferentes clases de autómatas finitos. Minimizar autómatas finitos. |
R02 | R02: Saber diseñar e implementar un lenguaje de programación a nivel léxico. |
R03 | R03: Describir un lenguaje regular mediante expresiones regulares. Aplicar el algoritmo de Thompson para pasar de una expresión regular a un autómata finito. |
R04 | R04: Saber diseñar un lenguaje de programación a nivel sintáctico así como implementar un analizador sintáctico: tanto ascendente como descendente; conociendo sus fundamentos teóricos y sus limitaciones. |
R05 | R05: Desarrollar tabularmente la Jerarquía de Chomsky y ser capaz de listar sus implicaciones teóricas. |
R06 | R06: Saber utilizar herramientas de ayuda a nivel léxico y sintáctico. |
Actividades formativas
Actividad | Detalle | Horas | Grupo | Competencias a desarrollar |
01. Teoría | 20 | CO02 T04 | ||
02. Prácticas, seminarios y problemas | 10 | CG02 CG05 T03 T04 T07 T12 T17 T21 | ||
03. Prácticas de informática | 30 | CG02 CG05 CO02 G09 T01 T03 T04 T07 T21 | ||
10. Actividades formativas no presenciales | Estudio y prácticas sobre ordenador individuales en casa. |
60 | CG02 CG05 CO02 G09 T03 T12 T17 T21 | |
12. Actividades de evaluación | Pruebas teóricas y prácticas |
10 | CG02 CO02 G09 T01 T04 T07 T11 T21 | |
13. Otras actividades | Desarrollo de un proyecto en grupos pequeños. |
20 | Reducido | CG02 CG05 CO02 G09 T01 T03 T04 T05 T07 T11 T12 T17 T21 |
Evaluación
Criterios Generales de Evaluación
En cuanto a los algoritmos y programas desarrollados, deben realizar su función (compilarse en un ordenador, ejecutarse etc.) Además se valorará su eficiencia, coherencia interna, correcta estructuración de los mismos, limpieza de código y estilo de los comentarios. En cuanto a presentación y expresión, se valorarán la claridad y la precisión, así como la adecuada organización de los contenidos expuestos.
Procedimiento de Evaluación
Tarea/Actividades | Medios, Técnicas e Instrumentos | Evaluador/es | Competencias a evaluar |
Desarrollo de un proyecto en grupo | Memoria y documentación del proyecto y defensa del proyecto en clase (en grupos pequeños). |
|
CG02 CG05 CO02 G09 T01 T03 T04 T05 T11 T12 T17 |
examen parcial y final con cuestiones sobre los contenidos teóricos y prácticos. | Examen escrito y prueba de prácticas sobre ordenadores. |
|
CG02 CO02 T01 T04 T07 T11 T21 |
Prácticas sobre ordenador | Entrega de los programas y documentación requerida a través del campus virtual |
|
CG02 CO02 G09 T01 T03 T04 T07 T12 T21 |
Procedimiento de calificación
Los alumnos deben entregar las prácticas y ejercicios pedidos en el tiempo especificado (trabajo individual). De entre todos los trabajos y prácticas entregadas se evaluarán algunos, al menos uno, y formará un 10% de la calificación final. También se realizará un proyecto en grupo y se defenderá en clase. La calificación será el 20% de la nota final. Además, se realizará un examen final que constará de una parte teórica y de otra parte práctica a realizar sobre el ordenador. El examen teórico consistirá en preguntas y ejercicios escritos. El alumno debe contestar a todas las preguntas demostrando dominar, suficientemente, todos los objetivos básicos de la asignatura. El examen práctico requerirá el diseño, escritura, depuración y ejecución de programas sobre un ordenador. Para superar la asignatura habrá que tener aprobados tanto el examen teórico como el práctico. El examen contará por un 70% de la nota final.
Descripcion de los Contenidos
Contenido | Competencias relacionadas | Resultados de aprendizaje relacionados |
T01: Introducción. Autómatas y procesadores de lenguajes formales. |
R01 | |
T02: Autómatas finitos y expresiones regulares. Equivalencias. Lema de bombeo. Minimización de autómatas finitos. |
R01 R02 R03 | |
T03: Diseño y análisis de lenguajes formales a nivel léxico. |
R02 R03 | |
T04: Gramáticas y jerarquía de Chomsky. Gramáticas Independientes de Contexto. Autómatas a Pila. |
R05 | |
T05: Algoritmos de análisis sintáctico descendente y ascendente. Chart parsing. |
R04 R06 | |
T06: Diseño y análisis de lenguajes formales a nivel sintáctico. |
R04 R06 |
Bibliografía
Bibliografía Básica
José Antonio Jiménez Millán. "Compiladores y Procesadores de Lenguajes. 2ª ed.". Edita: Servicio de Publñicaciones de la Universidad de Cádiz, 2010.
John E. Hopcroft & R. Motwani & Jeffrey D. Ullman. “Teoría de autómatas,lenguajes y computación. 3ED”. Ed. Addison-Wesley. 2008.
Bibliografía Específica
Manuales de Bison y Flex (dentro de la documentación del sistema operativo Linux).
Bjarne Stroustrup. "El Lenguaje de Programación C++". Addison Wesley.
Bibliografía Ampliación
Aho, Alfred V. & Lam, Monica & Sethi, Ravi & Ullman, Jeffrey D. "Compiladores: Principios, Técnicas y Herramientas 2ª edición". Edita: Addison-Wesley, 2008.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.