Procesadores de lenguajes

Código Asignatura:
1397
Nº Créditos ECTS:
6
Duración:
Semestral
Idioma:
Castellano
Plan de estudios:
Profesor(es):
Año académico:
2022-23

La información sobre los datos de contacto y el horario de tutorías se encuentra publicada en el aula virtual de la asignatura.

Descripción

Procesadores de Lenguajes es una asignatura de tipo obligatorio que consta de 6 créditos y que introducirá al estudiante en las áreas fundamentales de la teoría de autómatas, lenguajes formales y gramáticas que constituyen la base del funcionamiento de los procesadores de lenguajes. Se exploran los problemas y técnicas que se plantean en la construcción de procesadores, compiladores, traductores e intérpretes de los diferentes lenguajes de programación. El estudio de dichas técnicas ofrecerá al estudiante una visión más amplia de los lenguajes de programación, previamente estudiados desde el punto de vista del programador y no del constructor de intérpretes o compiladores. Otras aplicaciones de la teoría de autómatas son los analizadores del lenguaje natural, los sistemas de control de máquinas industriales y la robótica.

En esta asignatura se abordarán principalmente los siguientes temas:

  • Teoría de autómatas, que incluye autómatas finitos deterministas (AFD) y no deterministas (AFND), autómatas a pila.
  • Lenguajes y expresiones regulares, y transformaciones.
  • Gramáticas independientes del contexto.
  • Análisis sintáctico y semántico.

Son dos los prerrequisitos básicos que debería cumplir todo estudiante antes de abordar esta asignatura:

  • Es necesario contar con habilidades básicas de programación, que permitan desenvolverse en un entorno de Programación Orientada a Objetos, así como manipular estructuras de datos. Por lo tanto se recomienda cursar previamente las asignaturas “Metodología de la Programación” y “Estructuras de Datos”.
  • Es recomendable superar previamente la asignatura “Estructuras Discretas”.

Antes de matricular la asignatura, verifique los posibles requisitos que pueda tener dentro de su plan. Esta información la encontrará en la pestaña "Plan de estudios" del plan correspondiente.

Competencias generales

El objetivo de la asignatura es introducir al estudiante a la teoría de autómatas como base de la compilación y el procesamiento de lenguajes.

Competencias específicas

  • Reconocer los modelos formales que sostienen la teoría del procesamiento de lenguajes.
  • Dominar los conceptos y aplicaciones de los Lenguajes y Gramáticas Formales.
  • Ser capaz de construir los distintos tipos de autómatas, incluyendo AFD, AFND y autómatas a pila.
  • Describir los distintos tipos de gramáticas, tales como las dependientes del contexto, las independientes del contexto y las regulares.
  • Conocer las distintas fases y algoritmos utilizados en la traducción y generación de código desde el programa fuente al ejecutable, incluyendo el análisis léxico, sintáctico y semántico.

Los objetivos basados en los contenidos de la asignatura son los siguientes:

  • Conceptos de teoría de autómatas y lenguajes formales.
  • Tipos de procesadores de lenguajes y sus componentes principales.
  • Análisis léxico.
  • Análisis sintáctico.
  • Comprobación de tipos.
  • Generación y optimización de código.

Metodología

La metodología adoptada en esta asignatura para el aprendizaje y evaluación de sus contenidos, se encuentra adaptada al modelo de formación continuada y a distancia de la UDIMA.

Los conocimientos de la asignatura se adquieren a través del estudio razonado de todas las unidades didácticas propuestas en el Aula Virtual y que guían al estudiante en el estudio del material didáctico básico de la asignatura, así como del material didáctico complementario que se ponga a disposición de los estudiantes en el Aula Virtual.

Además, es preciso que los estudiantes realicen las actividades de evaluación continua (AEC), de aprendizaje y controles planificados en el “cronograma de actividades didácticas”, y definidos en el “sistema de evaluación”, apartados que figuran en la guía docente de la asignatura.

Dedicación requerida

Se estima que la lectura y comprensión de los contenidos teóricos abarcados en las diversas unidades didácticas ocupará aproximadamente unas 60 horas, mientras la realización de las Actividades de Evaluación Continua (AECs), las Actividades de Aprendizaje y la realización de los Controles, llevará unas 75 horas aproximadamente. También podemos considerar que con el empleo de unas 15 horas por parte del alumno, de cara a preparar el examen final presencial, será suficiente para consolidar los conocimientos y habilidades adquiridas durante el trascurso de la asignatura.

Tutorías

El profesor aporta un seguimiento individualizado de la actividad del estudiante para asegurar las mejores condiciones de aprendizaje mediante la tutorización a través de las herramientas de la plataforma educativa y/o de las tutorías telefónicas. En estas tutorías los estudiantes pueden consultar a los profesores las dudas acerca de la materia estudiada.

Materiales didácticos

Para el desarrollo del aprendizaje teórico sobre el que versará el examen final se ha seleccionado el siguiente manual, a partir del cual se estudiarán las unidades didácticas que se corresponden con la descripción de los contenidos de la asignatura:

Manual de la asignatura:
Lezcano, L.. "Procesadores de Lenguajes", Ed: CEF.

Finalmente, el profesor podrá poner a disposición del estudiante cualquier otro material complementario voluntario al hilo de las unidades didácticas o en una carpeta de material complementario.

Contenidos y programación

Unidad 1. Introducción a los Procesadores de Lenguajes.
Unidad 2. Autómatas Finitos Deterministas.
Unidad 3. Autómatas Finitos No-Deterministas y sus Aplicaciones.
Unidad 4. Lenguajes y Expresiones Regulares.
Unidad 5. Transformaciones entre Sistemas Formales.
Unidad 6. Gramáticas Independientes del Contexto.
Unidad 7. Autómatas a Pila.
Unidad 8. Análisis Sintáctico Descendente.
Unidad 9. Análisis Sintáctico Ascendente.
Unidad 10. Análisis Semántico.

(*) Las fechas concretas se pueden consultar en el aula virtual de la asignatura y en la pestaña de “Precios, Calendario y Matriculación” de la titulación.

Sistema de evaluación

Durante el estudio de esta asignatura, el proceso de evaluación del aprendizaje es continuo y contempla la realización de:

Cuadro resumen del sistema de evaluación

Tipo de actividad Peso calificación
Actividades de aprendizaje
10%
Actividades de Evaluación Continua (AEC)
25%
Controles
10%
Examen final presencial
55%
TOTAL 100%

Para aprobar la asignatura, es necesario obtener una calificación mínima de 5 en el examen final presencial, así como en la calificación total del curso, una vez realizado el cómputo ponderado de las calificaciones obtenidas en las actividades didácticas y en el examen final presencial.

Si un estudiante no aprueba la asignatura en la convocatoria ordinaria podrá examinarse en la convocatoria de septiembre. El estudiante que no se presente a la convocatoria de febrero y/o de julio ni a la de septiembre, perderá automáticamente todos los trabajos realizados a lo largo del curso. Deberá en este caso matricularse de nuevo en la asignatura.

Las fechas previstas para la realización de todas las actividades se indican en el aula virtual de la asignatura.

Originalidad de los trabajos académicos

Según la Real Academia Española, “plagiar” significa copiar en lo sustancial obras ajenas dándolas como propias. Dicho de otro modo, plagiar implica expresar las ideas de otra persona como si fuesen propias, sin citar la autoría de las mismas. Igualmente, la apropiación de contenido puede ser debida a una inclusión excesiva de información procedente de una misma fuente, pese a que esta haya sido citada adecuadamente. Teniendo en cuenta lo anterior, el estudiante deberá desarrollar sus conocimientos con sus propias palabras y expresiones. En ningún caso se aceptarán copias literales de párrafos, imágenes, gráficos, tablas, etc. de los materiales consultados. En caso de ser necesaria su reproducción, esta deberá contemplar las normas adecuadas para la citación académica.

Los documentos que sean presentados en las actividades académicas podrán ser sometidos a diferentes mecanismos de comprobación de la originalidad (herramientas antiplagios que detectan coincidencias de texto con otras fuentes, comparación con trabajos de otros estudiantes, comparación con información publicada en Internet, etc). El profesor valorará si el trabajo presentado cuenta con los criterios de originalidad exigidos o, en su caso, se atribuye adecuadamente la información no propia a las fuentes correspondientes. La adjudicación como propia de información que corresponde a otros autores podrá suponer el suspenso de la actividad.

Los documentos presentados en las actividades académicas podrán ser almacenados en formato papel o electrónico y servir de comparación con otros trabajos de terceros, a fin de proteger la originalidad de la fuente y evitar la apropiación indebida de todo o parte del trabajo del estudiante. Por tanto, podrán ser utilizados y almacenados por la universidad, a través del sistema que estime, con el único fin de servir como fuente de comparación de cualquier otro trabajo que se presente.

Sistema de calificaciones

El sistema de calificación de todas las actividades didácticas es numérico del 0 a 10 con expresión de un decimal, al que se añade su correspondiente calificación cualitativa:

0 – 4.9: Suspenso (SU)
5.0 – 6.9: Aprobado (AP)
7.0 – 8.9: Notable (NT)
9.0 – 10: Sobresaliente (SB)
Matrícula de honor (MH)

(RD 1125/2003, de 5 de septiembre, por lo que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y con validez en todo el territorio nacional).

La matrícula de honor se concede cuando el profesor lo considere oportuno en función de la excelencia de las actividades realizadas por el estudiante y las calificaciones obtenidas por el resto del grupo. No obstante, los criterios académicos de su concesión corresponden al departamento responsable de cada grado.