Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2012-13


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.

 

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).
  • Profesor/a
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.
  • Profesor/a
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
  • Profesor/a
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.