Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2015-16


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

El alumno debe haber superado todas las asignaturas de los dos primeros cursos de
grado, y tener cierta "madurez matemática" como resultado de ello.

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

a)Sería de desear que el alumno dispusiese de un dominio razonable del
castellano,
tanto a nivel de expresión oral como escrita, así como del marco
cognitivo-intelectivo y metalingüístico necesario para una correcta
lectura,procesamiento y asimilación de los contenidos que la bibliografía de la
asignatura exige, al ser estos muchos y variados.

b)Igualmente deseable sería el dominio de las reglas elementales de la aritmética
básica, y cierta cultura general, obtenida a través de la lectura de libros de
toda clase, de la prensa escrita, o de ambas.

c) No resultará ocioso el adecuado conocimiento y manejo de las reglas de
urbanidad, para el correcto trato tanto a los compañeros como al profesor.

d)Se recomienda al alumno entregarse al estudio con seriedad, rigor, continuidad
e
interés, como si se tuviese una inquebrantable voluntad intelectual y académica.

e)Más vale un mal libro que muchos buenos apuntes: por tanto, para cada tema
concreto del curso se le propondrán como material de revisión/trabajo/estudio un
mínimo de dos y un máximo de cuatro capítulos de referencias concretas (en
inglés,
claro está). Ocasionalmente se le proporcionarán unos apuntes (en castellano),
que
como mucho debería usar como material de apoyo, pero nunca como texto base. Se
deja constancia clara y explícita de que un correcto estudio y preparación de la
asignatura requerirá la lectura íntegra del material propuesto,y que en modo
alguno limitar la preparación al estudio aislado de los apuntes
garantiza superar la misma, y mucho menos garantiza la adquisición de los
conocimientos deseados.

f)La copia de apuntes en clase ES UNA PÉRDIDA DE TIEMPO: por tanto, los
profesores
harán lo posible para que no tenga que copiar apuntes en clase, proporcionándole
en la página de la asignatura con carácter previo a su explicación todo el
material necesario para la preparación de la misma. En consecuencia, si copia
apuntes, es porque es usted un copiador compulsivo; pero sepa que distraen su
atención y suelen ser fuente de errores en el estudio posterior, ya que lo que se
copia mal se estudia peor, para el hipotético caso en que el alumno se apreste a
estudiar.

g)El alumno debe saber que una clase comienza antes de ser explicada y continua
tras ser explicada: o lo que es lo mismo, llegar a clase a ver qué nos cuenta hoy
este buen señor es un error. La mecánica de trabajo que les recomiendo a lo largo
del curso para preparar una clase debe seguir las siguientes fases:  PRIMERA:
Lectura y revisión previa de los materiales indicados en el cronograma del curso
para esa clase en concreto.  Semanalmente se establecerá  el conjunto de tópicos
a impartir del temario oficial, el material de lectura para esa clase en
concreto, los problemas recomendados para ejercitar los contenidos teóricos
explicados, y en ocasiones alguna tarea adicional de interés.  SEGUNDA:
Asistencia
a clase. Dado que no necesita tomar apuntes, preste atención a los desarrollos y
explicaciones del profesor, y relaciónelos con lo previamente leído por usted.
Tome notas de la dudas o discrepancias que le surjan, para sup osterior discusión
en la propia clase o en una tutoría individualizada. El alumno debe saber además
que se encuentra matriculado en una universidad pública presencial, y que la
asistencia a clase forma parte de sus obligaciones como discente. TERCERA: Tras
la
clase, repase los contenidos de la misma, entiéndalos
y aclare con el profesor los conceptos que no estén claros. Póngalos en práctica
con los problemas de la relación que corresponda, y conéctelos con los contenidos
a desarrollar en la próxima clase. Es decir, vuelva al primer apartado.

h)Una asignatura NO se prepara en una semana. NO deje la preparación de los
trabajos a entregar ni la del examen final para el último momento. Probablemente
será inútil. Utilice el cronograma de la asignatura para planificar su esfuerzo,
o
pida ayuda a su profesor para planificar el tiempo y su preparación de cara al
examen final con antelación. Si no lo hace, el único perjudicado será usted.

i) Saber una asignatura NO es saber unos apuntes. Nunca lo ha sido. Unos apuntes
son, probablemente y en el mejor de los casos, un resumen de lo explicado por
elprofesor en clase, lo cual a su vez será un resumen de lo revisado por el
profesor en la bibliografía específica. Por tanto, olvide aquello de "me sé los
apuntes pero me han suspendido", o "esto no estaba en los apuntes, sino en tal
libro" o "este problema o ejercicio no se parece a  ninguno que hayamos hecho en
clase". Si usted  SABE la materia, estará preparado para aplicarla a situaciones
nuevas y desconocidas. Y ello pasa por haber manejado bibliografía tal y cómo se
indica en el apartado b). Saber los apuntes es una condición necesaria para
aprobar, pero no suficiente. Por tanto, si usted  sabe sus apuntes, NO SABE la
materia. Y recuerde que SABER no es MEMORIZAR.

j)La revisión de calificaciones NO es una subasta.  Es  un  medio que la
Universidad pone a su  disposición para que sepa DÓNDE, CÓMO Y POR QUÉ ha
fallado, y proceda a  PLANIFICAR con su profesor la fase posterior de estudio
orientada a subsanar las lagunas que sus conocimientos tengan.  Por tanto, por
favor, no acuda a revisión con la intención de discutir sobre:
•Los criterios de corrección, ya que estos los define su profesor, y no es ni
puede ser algo sujeto a negociación.
•La distribución de la puntuación entre los diferentes enunciados de los
ejercicios del examen, ya que su profesor sabe qué es más importante que usted
haya aprendido, y cómo evaluar ese aprendizaje, y ajustará esa distribución en
consecuencia. El que considere que esa distribución le perjudica es un error, ya
que habrá sido aplicada por igual a sus compañeros, y además lo que hará será
demostrar que no tiene claros aquellos conceptos que son más relevantes.
•Lo parecido o distinto de los ejercicios del examen a los realizados en clase.
Un
examen no tiene por qué parecerse a lo ya ejercitado. Los ejercicios de clase le
CAPACITAN para dominar los conceptos. Los exámenes DEMUESTRAN que usted sabe
aplicar esos conceptos aprendidos a situaciones novedosas o simplemente
diferentes
a las estudiadas.
•La verificación de si determinado ejercicio estaba o no en sus apuntes
•La simple pataleta por no haber superado la asignatura. No entienda un suspenso
más que con la siguiente lectura: el trabajo realizado no ha sido válido, no ha
sido suficiente, o ambas cosas. Debe trabajar más. Cualquier otra interpretación
por su parte es un error.

k)Su obligación es estar informado de las circunstancias de la asignatura. Visite
con asiduidad la sección de noticias de la plataforma virtual de la asignatura y
en caso de duda consulte por e-mail a su profesor. No utilice argumentos de la
clase "no sabía nada..." o "no me he enterado de que.." para excusar un fallo.
Recuerde que ES su obligación y su responsabilidad  estar enterado.

l)Utilice la tutoría. Es el único medio por el cual el profesor puede ofrecerle
una enseñanza de carácter individualizado. Por tanto, aproveche la tutoría, en
sus
versiones presencial, electrónica, o de cualquier otro tipo boloñés. Y hágalo con
frecuencia: siga el método de preparación de las clases ya descrito, y visite a
su
profesor cada vez que tenga dudas. Con carácter ordinario, un mínimo de una
visita
al profesor cada tres semanas debería ser normal para usted. Si hay dificultades,
tan a menudo como necesite.

m)NO se quede con una duda. Es muy habitual entre nuestros alumnos que cuando les
surge una duda se queden con ella hasta el mismo momento del examen. Luego,
durante la revisión reconocen: "sí, esto no me quedó claro, pero..." EVITE estos
comportamientos. En una asignatura como esta, el progreso con garantías hacia
nuevos contenidos implica haber asimilado correctamente los contenidos previos.
n)El profesor es su juez. Su labor en el momento de evaluarle se limitará a
juzgar
la cantidad y calidad del esfuerzo realizado por usted. Cualquier otro aspecto es
irrelevante.

ñ)Acuda a clase y participe en ella. Plantee sus dudas, y fomente la discusión
entre sus compañeros y con el profesor. Ello contribuirá de forma positiva a su
formación, y hará la dinámica académica más rica. Además, contribuirá
positivamente a su crecimiento personal.

o)Sea consciente de sus derechos como alumno, pero también de las obligaciones
que
el serlo conlleva. En particular, trate de seguir en todo momento la línea de
conducta que el código ético de la Universidad (Código Peñalver) le aconseja.

 

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
10
03. Prácticas de informática
30 CG09 CO02
10. Actividades formativas no presenciales
a) Lectura cuidadosa y razonada de las
referencias
bibliográficas y textos que sobre la materia
indiquen los profesores indicadas por los
profesores.

b) Resolución de los ejercicios y/o problemas de
afianzamiento de contenidos propuestos por los
profesores.

c) Estudio intenso y continuado con aplicación e
interés.
86 CG09 CO02
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 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
CG09 CO02
Prácticas sobre ordenador Entrega de los programas y documentación requerida a través del campus virtual
  • Profesor/a
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 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
            TEMA 1: Introducción. Autómatas y procesadores de lenguajes formales.
        
R01
            TEMA 2: Autómatas finitos y expresiones regulares. Equivalencias. Lema de bombeo. Minimización de autómatas finitos.
        
R03 R01 R02
            TEMA 3: Diseño y análisis de lenguajes formales a nivel léxico.
        
R03 R02
            TEMA 4: Gramáticas y jerarquía de Chomsky. Gramáticas Independientes de Contexto. Autómatas a Pila.
        
R05
            TEMA 5: Algoritmos de análisis sintáctico descendente y ascendente. Chart parsing.
        
CT1 R04 R06
            TEMA 6: Diseño y análisis de lenguajes formales a nivel sintáctico.
        
R04 R06

 

Bibliografía

Bibliografía Básica

[Alf87] Alfonseca, M., Sancho, J. y Martínez, M. Teoría de Lenguajes,
Gramáticas y Autómatas. Ediciones Universidad y Cultura, 1987.

[Bro93] Brookshear, J. Teoría de la Computación: lenguajes formales, autómatas
y complejidad. Addison-Wesley Iberoamericana, 1993.

[Dav94] Davis, M., Sigal, R. and Weyuker, E. Computability, Complexity and
Languages. Academic Press, 1983. (Hay segunda edición de 1994).

[Hop02] Hopcroft, J., Motwani, R. u Ullman, J. Introducción a la Teoría de
Autómatas, Lenguajes y Computación. Addison-Wesley, 2008.

[Kel95] Kelley, D. Teoría de Autómatas y Lenguajes Formales. Prentice Hall,
1995.
[Ram03] Ramos, G. Apuntes de Teoría de Autómatas y Lenguajes Formales I.
Servicio de Publicaciones de la Universidad de Málaga, 2003.

 

 

Bibliografía Específica

[Aho92] Aho, A. and Ullman, J.D. Foundations of Computer Science. W. H.
Freeman and Company. New York, 1992
[Bil93] Billington, D. Using the context-free pumping lemma. Commun. ACM, 36
(6), 21-ff, 1993
[Cal88] Calude, C. Theories of Computational Complexity. North-Holland, 1988.
[Car89] Carroll, J. and Darrell, L. Theory of Finite Automata with an
Introduction to Formal Languages. Englewood Cliffs, NJ. Prentice Hall, 1989.
[Coh91] Cohen, D. Introduction to Computer Theory. John Wiley and Sons, Inc.
1991.
[Deh93] Dehornoy, P. Complexite et decidabilite. Springer-Verlag, 1993
[Dro89] Drobot, V. Formal Languages and Automata Theory. Computer Science
Press, 1989.
[Fer95] Fernández, G. y Sáez, F. Fundamentos de Informática: lógica,
autómatas, algoritmos y lenguajes.  Anaya Multimedia, 1995.
[Gar79] Garey, M and Johnson, D. Computers and Intractability: a guide to the
theory of NP-completness. New York, Freeman, 1979.
[Hop79] Hopcroft, J. and Ullman, J. Introduction to Automata Theory, Languages
and Computation. Addison-Wesley, 1979.
[How91] Howie, J. M. Automata and Languages. Oxford University Press. Oxford,
1991.
[Jon97] Jones, N. D. Computability and Complexity. The MIT Press, 1997.
[Lee90] Leeuwen, J. V. (ed.) Handbook of Theoretical Computer Science.
Elsevier, 1990.
[Lew91] Lewis, H and Papadimitriou, C. Elements of the Theory of Computation.
Englewood Cliffs, NH. Prentice Hall, 1991.
[Lin90] Linz, P. An Introduction to Formal Languages and Automata. Lexington,
MA. D.C. Health and Company, 1990.
[Mar91] Martin, J. Introduction to Languages and the Theory of Computation.
New York, McGraw-Hill, 1991.
[Mcn82] McNaughton, R. Elementary Computability, Formal Languages and
Automata. Prentice Hall, 1982.
[Rev83] Revesz, G. Introduction to Formal Languages. McGraw-Hill, 1983
[San90] Sancho, J. Lógica Matemática y Computabilidad. Díaz de Santos, S.A.,
1990.
[Som88] Sommerhalder, R. and Van Westerhenen S. C. The Theory of
Computability : Programs, Machines, Effectiveness and Feasibility. Addison-
Wesley, 1988.
[Sud88] Sudkamp, T. Languages and Machines, An Introduction to the Theory of
Computer Science. Addison-Wesley Series in Computer Science. Readin, MA.
Addison-Wesley Inc 1988.
[Wil86] Wilf, H.S. Algorithms and Complexity. Prentice-Hall, 1986.
[Woo87] Wood, D. Theory of Computation, New York, John Wiley & Sons, 1987.

 

 

 

 

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.