Tipo A
|
Código |
Competencias Específicas | | CM6 |
Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos. |
| CP1 |
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. |
| CP2 |
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.
|
| CP3 |
Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir su a la resolución y recomendar, desarrollar e implementar la que garantice el mejor rendimiento de acuerdo con los requisitos establecidos. |
Tipo B
|
Código |
Competencias Transversales | | CT5 |
Comunicar información de forma clara y precisa a audiencias diversas |
Tipo C
|
Código |
Competencias Nucleares |
Resultados de aprendizaje |
Tipo A
|
Código |
Resultados de aprendizaje |
| CM6 |
Comprende los conceptos básicos de calculabildad y complejidad.
| | CP1 |
Conoce los principales tipos de lenguajes formales.
Sabe construir expresiones regulares, gramáticas y automatas para la descripción, generación y reconocimiento de lenguajes formales.
Comprende los conceptos básicos de calculabilidad i complejidad.
Conoce la estructura básica de los procesadores de lenguajes.
Sabe utilizar herramintas para generar analizadores léxicos y sintácticos.
| | CP2 |
Conoce los principales tipos de lenguajes formales.
Sabe construir expresiones regulares, gramáticas y automatas para la descripción, generación y reconocimiento de lenguajes formales.
Conoce la estructura básica de los processadores de lenguajes.
Sabe utilizar herramientas para generar analizadores léxicos y sintácticos.
| | CP3 |
Comprende los conceptos básicos de calculabilidad y complejidad.
|
Tipo B
|
Código |
Resultados de aprendizaje |
| CT5 |
Produce un texto de calidad, sin errores gramaticales y ortográficos, con una presentación formal cuidadosa y un uso adecuado y coherente de las convenciones formales y bibliográficas
Construye un texto estructurado, claro, cohesionado, rico y de extensión adecuada.
Elabora un texto adecuado a la situación comunicativa, consistente y persuasivo.
|
Tipo C
|
Código |
Resultados de aprendizaje |
tema |
Subtema |
1. Introducción |
1.1. Los lenguajes de programación como lenguajes formales.
1.2. Nociones básicas de lenguajes formales: definición, descripción, y reconocimiento de lenguajes formales.
1.3. Estructura básica de un compilador. |
2. Lenguajes regulares |
2.1. Expresiones regulares.
2.2. Autómatas finitos: deterministas, no deterministas y con lambda-movimientos.
2.3. Equivalencia entre expresiones regulares y autómatas finitos.
2.4. Generadores de analizadores léxicos: flex. |
3. Lenguajes independientes del contexto |
3.1. Gramáticas independientes del contexto.
3.2. Autómatas de pila.
3.3. Equivalencia entre gramáticas independientes del contexto y autómatas de pila.
3.4. Generadores de analizadores sintácticos: bison. |
4. Otros lenguajes formales |
4.1. Clasificación de los lenguajes formales: jerarquía de Chomsky.
4.2. Máquinas de Turing.
4.3. Lenguajes recursivos y lenguajes recursivamente innumerables. |
5. Calculabilidad y complejidad |
5.1. Tesis de Church-Turing.
5.2. Máquina de Turing universal.
5.3. Problemas indecidibles: problema de parada
5.4. Introducción a la teoría de la complejidad.
5.5. Los problemas P, NP y NP-completos. |
6. Procesadores de lenguajes formales |
6.1. Tabla de símbolos.
6.2. Análisis léxico.
6.3. Análisis sintáctico.
6.4. Análisis semántico.
6.5. Generación de código intermedio.
6.6. Generación de código objeto.
|
Metodologías :: Pruebas |
|
Competencias |
(*) Horas en clase
|
Horas fuera de clase
|
(**) Horas totales |
Actividades introductorias |
|
1 |
0 |
1 |
Sesión magistral |
|
11 |
24 |
35 |
Resolución de problemas/ejercicios en el aula ordinaria |
|
13 |
22.5 |
35.5 |
Practicas a través de TIC en aulas informáticas |
|
30 |
22.5 |
52.5 |
Atención personalizada |
|
1 |
0 |
1 |
|
Pruebas mixtas |
|
3 |
6 |
9 |
Pruebas prácticas |
|
1 |
15 |
16 |
|
(*) En el caso de docencia no presencial, serán las horas de trabajo con soporte virtual del profesor. (**) Los datos que aparecen en la tabla de planificación son de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías
|
descripción |
Actividades introductorias |
Presentación de la asignatura durante la primera hora del curso. |
Sesión magistral |
Clases teóricas introductorias de la materia del curso. |
Resolución de problemas/ejercicios en el aula ordinaria |
Para ejercitar las diferentes metodologías introducidas en las sesiones magistrales. |
Practicas a través de TIC en aulas informáticas |
Aplicar, a nivel práctico, la teoría. Ejercicios prácticos a través de las TIC. |
Atención personalizada |
Seis horas de consulta semanales a disposición del alumno. |
descripción |
Durante las 6 horas semanales de atención
personalizada, el alumno podrá ir al despacho del profesor con el fin de
aclarar dudas, reforzar conceptos y técnicas, y pedir supervisión en la
resolución de ejercicios. |
Metodologías |
Competencias
|
descripción |
Peso |
|
|
|
|
Pruebas mixtas |
|
Tres pruebas individuales parciales mediante preguntas cortas con solución tipo test y/o problemas de desarrollo sobre los contenidos proporcionados hasta el momento. |
70% |
Pruebas prácticas |
|
Los trabajos realizados en el laboratorio y completados en casa son presentados en forma documental |
30% |
Otros |
|
Entrega de ejercicios realizados individualmente o en grupo y solicitados periódicamente |
10% |
|
Otros comentarios y segunda convocatoria |
La segunda convocatoria consistirá en un examen escrito evaluando el total de los contenidos de la asignatura. |
Básica |
J. Ullman, J. John and R. Motwani, Introduccion a la teoria de Automatas, lenguajes y computación, Addison Wesley, 2002
D. Riaño, Models abstractes de càlcul, Tarragona : Universitat Rovira i Virgili, Servei Lingüístic, 1998
|
|
Complementaria |
J. Levine, Flex & Bison: Text Processing Tools, O'Reilly Media, 2009
|
|
Asignaturas que continúan el temario |
COMPILADORES/17234127 | COMPILADORES/17234214 |
|
Asignaturas que se recomienda haber cursado previamente |
|
(*)La Guía docente es el documento donde se visualiza la propuesta académica de la URV. Este documento es público y no es modificable, excepto en casos excepcionales revisados por el órgano competente o debidamente revisado de acuerdo la normativa vigente. |
|