Competencias del título |
Código
|
Competencias de la titulación
|
A39 |
Capacidad para tener un conocimiento profundo de los principios fundamentales y modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática. |
A40 |
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. |
A41 |
Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos. |
B1 |
Capacidad de resolución de problemas |
B2 |
Trabajo en equipo |
B3 |
Capacidad de análisis y síntesis |
B6 |
Toma de decisiones |
B8 |
Capacidad de trabajar en un equipo interdisciplinar |
C6 |
Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse. |
C7 |
Asumir como profesional y ciudadano la importancia del aprendizaje a lo largo de la vida. |
Resultados de aprendizaje |
Competencias de materia (Resultados de aprendizaje) |
Competencias de la titulación |
Conocer en profundidad la estructura y función de los sistemas de descripción y reconocimiento de lenguajes formales. |
A39 A40
|
B6
|
C7
|
Estudiar los conceptos, modelos y técnicas relacionados con estas cuestiones. |
A39 A40
|
B6
|
C7
|
Conocer las estructuras de datos y los algoritmos utilizados para implementar los distintos modelos de reconocimiento de lenguajes formales, así como sus posibles dominios de aplicación práctica. |
A41
|
B6
|
C6 C7
|
Realizar implementaciones de estos modelos en alguno de esos dominios. |
A41
|
B1 B2 B3
|
C6
|
Sintetizar todos los conceptos estudiados en ideas concretas que permitan comprender mejor los fundamentos de la computación. |
A39
|
B6
|
C7
|
Perfeccionar las habilidades para realizar futuros trabajos de análisis, diseño y programación. |
A40 A41
|
B1 B2 B3
|
C6
|
Considerar la integración de las técnicas y estructuras estudiadas aquí en otros dominios de aplicación. |
A40 A41
|
B1 B2 B3 B8
|
C6
|
Contenidos |
Tema |
Subtema |
Preliminares sobre lenguajes formales |
Alfabetos, palabras y lenguajes
Lenguajes regulares y expresiones regulares
Autómatas finitos |
Lenguajes independientes del contexto y autómatas de pila |
Gramáticas regulares
Gramáticas regulares y lenguajes regulares
Gramáticas independientes del contexto
Arboles de derivación y ambigüedad
Simplificación de gramáticas independientes del contexto
Propiedades de los lenguajes independientes del contexto
Algoritmos de análisis sintáctico
Autómatas de pila
Forma normal de Greibach |
Máquinas de Turing |
Definiciones básicas
Máquinas de Turing como aceptadoras de lenguajes
Construcción de máquinas de Turing
Modificaciones de las máquinas de Turing
Máquina de Turing universal |
Lenguajes recursivamente enumerables |
Lenguajes aceptados por máquinas de Turing
Lenguajes regulares e independientes del contexto como lenguajes recursivos
Propiedades de los lenguajes recursivos y recursivamente enumerables
Gramáticas no restringidas y lenguajes recursivamente enumerables
Lenguajes sensibles al contexto y la jerarquía de Chomsky |
Resolubilidad |
El problema de la parada
El problema de correspondencia de Post
Problemas no decidibles en lenguajes independientes del contexto |
Computabilidad |
Fundamentos de la teoría de funciones recursivas
Alcance de las funciones recursivas primitivas
Funciones recursivas parciales
El poder de los lenguajes de programación |
Planificación |
Metodologías / pruebas |
Horas presenciales |
Horas no presenciales / trabajo autónomo |
Horas totales |
Sesión magistral |
18 |
36 |
54 |
Prácticas de laboratorio |
13 |
26 |
39 |
Prueba de respuesta múltiple |
2 |
4 |
6 |
Trabajos tutelados |
1 |
5.5 |
6.5 |
Solución de problemas |
4 |
17 |
21 |
Prueba de ensayo/desarrollo |
3 |
16 |
19 |
|
Atención personalizada |
4.5 |
0 |
4.5 |
|
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías |
Metodologías |
Descripción |
Sesión magistral |
La técnica que mejor se adapta a la impartición de los contenidos teóricos de esta asignatura está constituida por las clases magistrales. En ellas, haremos un uso intensivo de la pizarra y de las transparencias, de modo que el ritmo de exposición de conceptos por parte del profesor y el de asimilación de los mismos por parte del alumno sean lo más acordes posible. |
Prácticas de laboratorio |
Las prácticas de laboratorio tendrán horas de laboratorio reservadas, con ordenadores a disposición de los alumnos. Estas horas serán utilizadas para implementar en algún lenguaje de programación los algoritmos más destacados, de entre todos aquéllos que hayan sido presentados en las sesiones teóricas. |
Prueba de respuesta múltiple |
Se realizarán controles tipo test al final de cada bloque temático, que permitirán al profesor conocer el grado de asimilación de la materia por parte de los alumnos, y modificar la estrategia docente si es necesario. |
Trabajos tutelados |
Los trabajos de grupos autónomos tutelados se realizarán a lo largo de todo el cuatrimestre. El profesor elegirá un tema de trabajo que será asignado por igual a todos los grupos. El tema será presentado por el profesor en una sesión en el aula, será desarrollado por los alumnos en horas no presenciales, y será supervisado y evaluado por el profesor en las tutorías en grupo. La evaluación se realizará a partir de la exposición de una memoria final por parte de los alumnos. |
Solución de problemas |
Se pondrán a disposición de los alumnos una serie de boletines de ejercicios, correspondientes a los bloques temáticos del programa de la asignatura. Los alumnos deberán entregar al profesor sus soluciones personales a estos ejercicios. El profesor deberá corregirlas, evaluarlas y comentarlas durante al menos una sesión en el aula. |
Prueba de ensayo/desarrollo |
Se implementará bajo la forma de un examen final escrito. |
Atención personalizada |
Metodologías
|
Trabajos tutelados |
Prácticas de laboratorio |
|
Descripción |
Dado el carácter personalizado de las prácticas de laboratorio, de los trabajos tutelados y de las tutorías, estas actividades no deben dedicarse a extender los contenidos con nuevos conceptos, sino a aclarar los conceptos ya expuestos.
El profesor debe además utilizarlas como una interacción que le permita extraer conclusiones respecto al grado de asimilación de la materia por parte de los alumnos.
De esta manera, podrá desarrollar las clases magistrales y el resto de actividades no personalizadas atendiendo al progreso de los alumnos en las capacidades de comprensión y asimilación de los contenidos impartidos, compaginando el avance general de la clase con una atención específica a aquellos alumnos que presenten mayores dificultades en la tarea del aprendizaje y con un apoyo adicional a aquellos otros que presenten mayor soltura y deseen ampliar conocimientos.
|
|
Evaluación |
Metodologías
|
Descripción
|
Calificación
|
Prueba de ensayo/desarrollo |
Examen final escrito. |
40 |
Solución de problemas |
Boletines de ejercicios y controles de los mismos. |
10 |
Prueba de respuesta múltiple |
Controles tipo test y cuestiones. |
5 |
Trabajos tutelados |
Trabajo de grupos autónomos tutelados. |
5 |
Prácticas de laboratorio |
Implementación de algoritmos en algún lenguaje de programación y resolución de problemas. |
40 |
|
Observaciones evaluación |
En el examen final se requiere una nota mínima de 3 puntos (sobre 10). Los alumnos a tiempo parcial tendrán consideraciones adecuadas a su situación.
|
Fuentes de información |
Básica
|
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman (2002). Introducción a la teoría de autómatas, lenguajes y computación. Addison Wesley
Thomas A. Sudkamp (1988). Languages and machines: an introduction to the theory of computer science. Addison Wesley
Dean Kelley (1995). Teoría de autómatas y lenguajes formales. Prentice Hall |
|
Complementária
|
Harry R. Lewis, Christos H. Papadimitriou (1998). Elements of the theory of computation. Prentice Hall
Peter J. Denning, Jack B. Dennis, Joseph E. Qualitz (1978). Machines, languages and computation. Prentice Hall
J. Glenn Brookshear (1993). Teoría de la computación: lenguajes formales, autómatas y complejidad. Addison Wesley Iberoamericana |
|
Recomendaciones |
Asignaturas que se recomienda haber cursado previamente |
Representación del Conocimiento y Razonamiento Automático/614G01036 | Recuperación de la Información/614G01040 | Diseño de los Lenguajeses de Programación/614G01065 | Procesamiento de Lenguajes/614G01067 |
|
Asignaturas que se recomienda cursar simultáneamente |
|
Asignaturas que continúan el temario |
Programación I/614G01001 | Matemática Discreta/614G01004 | Programación II/614G01006 | Álgebra/614G01010 | Algoritmos/614G01011 | Paradigmas de Programación/614G01014 |
|
|