Fichas de asignaturas 2016-17
![]() |
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES |
![]() ![]() ![]() |
|
Asignatura |
![]() |
| |
Profesorado |
![]() |
| |
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 cierta madurez matemática, del nivel de asignaturas como Álgebra y Matemática Discreta. Igualmente debería dominar algún lenguaje de programación y ser capaz de implementar código que simule modelos de pequeña complejidad. Los conocimientos necesarios son los adquiridos en 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.
Profesorado
Nombre | Apellido 1 | Apellido 2 | C.C.E. | Coordinador | |
BERNABE | DORRONSORO | DIAZ | Investigador Doctor | S |
Competencias
Se relacionan aquí las competencias de la materia/módulo o título al que pertenece la asignatura, entre las que el profesorado podrá indicar las relacionadas con la asignatura.
Identificador | Competencia | Tipo |
CG09 | 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. | 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 |
CT1 | Trabajo en equipo: capacidad de asumir las labores asignadas dentro de un equipo, así como de integrarse en él y trabajar de forma eficiente con el resto de sus integrantes | TRANSVERSAL |
Resultados Aprendizaje
Identificador | Resultado |
R05 | Desarrollar tabularmente la Jerarquía de Chomsky y ser capaz de listar sus implicaciones teóricas. |
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. |
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 | Saber diseñar e implementar un lenguaje de programación a nivel léxico. |
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. |
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 | ||
02. Prácticas, seminarios y problemas | Realización de prácticas individuales con el ordenador. |
10 | CG09 CO02 | |
03. Prácticas de informática | 30 | CG09 CO02 | ||
10. Actividades formativas no presenciales | a) Estudio continuado de la asignatura. b) Realización de prácticas individuales con el ordenador. c) Realización de un proyecto en pequeños grupos. d) Resolución de los ejercicios propuestos por el profesor. |
86 | CG09 CO02 CT1 | |
12. Actividades de evaluación | Pruebas teóricas y prácticas finales |
4 | CG09 CO02 |
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 (en grupos pequeños). |
|
CG09 CO02 CT1 |
Examen final con cuestiones sobre los contenidos teóricos y prácticos. | Examen final escrito |
|
CG09 CO02 |
Prácticas sobre ordenador | Entrega de los programas y documentación requerida a través del campus virtual |
|
CG09 CO02 CT1 |
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. La calificación será el 20% de la nota final. Además, se realizará un examen final teórico, que consistirá en preguntas y ejercicios escritos, cubriendo la mayoría de los contenidos de la asignatura. El alumno debe contestar a todas las preguntas demostrando dominar, suficientemente, todos los objetivos básicos de la asignatura. El examen supondrá un 70% de la nota final. El alumno deberá sacar al menos un 5 sobre 10 tanto en el proyecto como en el examen final para poder aprobar. Si no se supera alguna de estas partes la nota máxima final será de 4.
Descripcion de los Contenidos
Contenido | Competencias relacionadas | Resultados de aprendizaje relacionados |
TEMA 1: Introducción. |
||
TEMA 2: Autómatas finitos deterministas. |
R03 R01 R02 | |
TEMA 3: Autómatas finitos no deterministas. |
CO02 | R03 R01 R02 |
TEMA 4: Expresiones regulares y sus propiedades. |
CO02 | R03 R01 R02 R04 |
TEMA 5: Gramáticas Libres del Contexto |
CT1 | R05 R04 R06 |
TEMA 6: Autómatas a pila |
CO02 | R04 R06 |
Bibliografía
Bibliografía Básica
- John E. Hopcroft & R. Motwani & Jeffrey D. Ullman. “Teoría de autómatas, lenguajes y computación. 3ª ed.” Pearson Educación 2008.
- José Antonio Jiménez Millán. "Compiladores y Procesadores de Lenguajes. 2ª ed.". Edita: Servicio de Publicaciones de la Universidad de Cádiz, 2010.
- Aho, Alfred V. & Lam, Monica & Sethi, Ravi & Ullman, Jeffrey D. "Compiladores: Principios, Técnicas y Herramientas 2ª edición". Edita: Addison-Wesley, 2008.
Bibliografía Específica
- Manuales de Bison y Flex (dentro de la documentación del sistema operativo Linux).
Bibliografía Ampliación
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.