Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2014-15


TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Asignaturas
 

  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.

 

Profesorado

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 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
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
02. Prácticas, seminarios y problemas
10
03. Prácticas de informática
30 CG09 CO02
10. Actividades formativas no presenciales
Estudio y prácticas sobre ordenador individuales
en casa.
60 CG09 CO02
12. Actividades de evaluación
Pruebas teóricas y prácticas
10 CG09 CO02
13. Otras actividades
Desarrollo de un proyecto en grupos pequeños.
20 Reducido 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 y defensa del proyecto en clase (en grupos pequeños).
  • Profesor/a
CG09 CO02
examen parcial y final con cuestiones sobre los contenidos teóricos y prácticos. Examen escrito y prueba de prácticas sobre ordenadores.
  • Profesor/a
CO02
Prácticas sobre ordenador Entrega de los programas y documentación requerida a través del campus virtual
  • Profesor/a
CG09 CO02

 

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.
        
CT1 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.

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.