Elija una titulación.
Elija una provincia en caso de que su país sea España.

Autómatas y Procesadores de Lenguajes

Código Asignatura:
1765
Nº Créditos ECTS:
6
Duración:
Semestral
Idioma:
Castellano
Plan de estudios:
Profesor(es):

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.

Los requisitos previos obligatorios antes de abordar esta asignatura son:

  • 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 es obligatorio haber superado previamente la asignatura “Metodología de la Programación”.
  • Es recomendable superar previamente la asignatura “Matemática Discreta”.

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

  • Capacidad de resolución de problemas aplicando conocimientos de matemáticas, ciencias e ingeniería.
  • Capacidad para el aprendizaje autónomo y la actualización de conocimientos, así como el reconocimiento de su necesidad en el área de la informática.
  • Capacidad para comunicarse de forma efectiva con los compañeros, usuarios (potenciales) y el público en general acerca de cuestiones reales y problemas relacionados con la ingeniería informática.
  • Capacidad para el uso profesional de la tecnología de la información y la comunicación.
  • Capacidad para desarrollar los conocimientos de la ingeniería informática en un contexto internacional, comunicándose en lengua inglesa y adaptándose a un nuevo entorno.
  • Conocer los cimientos esenciales y fundacionales de la informática, abarcando tanto conceptos y teorías abstractas como los valores y los principios profesionales, subrayando los aspectos esenciales de la disciplina que permanecen inalterables ante el cambio tecnológico.
  • Tener capacidad para realizar la formalización y especificación de problemas reales cuya solución requiere el uso de la informática.
  • Capacidad para trabajar en el ámbito profesional de la Ingeniería Informática de forma efectiva como individuo, organizando y planificando su propio trabajo.

Competencias específicas

  • Capacidad para conocer los fundamentos de los lenguajes de programación y las técnicas de procesamiento utilizadas en el desarrollo de sistemas de procesamiento de lenguajes.

Competencias transversales

  • Capacidad de análisis y síntesis.
  • Capacidad de organización y planificación.
  • Utilizar eficientemente los recursos y herramientas disponibles en el aula virtual de la universidad, así como ser capaz de manejar en un nivel óptimo las tecnologías de la información y la comunicación aplicadas a la educación a distancia.
  • Resolución de problemas.
  • Toma de decisiones.
  • Aprendizaje autónomo.
  • Creatividad.

Resultados del aprendizaje

  • Dominar los modelos formales que sostienen la teoría del procesamiento de lenguajes, tales como las expresiones regulares, teoría de autómatas y gramáticas.
  • Describir las distintas fases y algoritmos utilizados en la traducción y generación de código desde el programa fuente al ejecutable, incluidas las consideraciones en la traducción de código dependiente e independiente de la máquina.
  • Dominar los conceptos de optimización de código, incluyendo las distintas posibilidades en la elección de código intermedio y fases de optimización.
  • Dominar los conceptos de tipos, ámbito y su comprobación (compatibilidad), en el procesamiento de lenguajes de programación.
  • Ser capaz de utilizar herramientas de construcción de procesadores de lenguajes.

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

  • Estudio de las Unidades Didácticas: 30 %
  • Material complementario. Lectura de artículos/Visionado de vídeos en web: 5 %
  • Supuestos, casos prácticos: 35 %
  • Búsqueda de información: 15 %
  • Redacción o realización de informes: 5 %
  • Acción tutorial: 5 %
  • Evaluación: 5 %

Tutorías

Las dudas conceptuales que surjan tras el estudio razonado de las unidades del manual y/o del material complementario deben plantearse en los Foros de Tutorías disponibles en el Aula Virtual.

No obstante, está a disposición de los estudiantes un horario de tutorías telefónicas o consultas mediante correo electrónico.

Se quiere destacar la importancia de los foros como principal canal de comunicación con el profesor y con los compañeros del aula, además de ser una herramienta primordial para el intercambio de conocimientos, facilitando así el aprendizaje de los conceptos asociados a la asignatura.

La participación en las tutorías, que serán adaptadas en función de las características y necesidades de cada estudiante, también es muy recomendable. Estas sesiones de tutorización se realizarán prioritariamente utilizando los foros virtuales o el teléfono.

A continuación se recogen diferentes recursos de apoyo para la metodología de la asignatura:

Aula Virtual: Por medio del aula el estudiante se puede comunicar a cualquier hora con su profesor y con sus compañeros.

Materiales didácticos

Para el desarrollo del aprendizaje teórico, sobre el que versará el examen final, se proporcionará al estudiante un manual constituido por unidades didácticas, que se corresponden con la descripción de contenidos de la asignatura. Este manual podrá tener diferentes formatos dependiendo de la asignatura.

La bibliografía recomendada y los materiales complementarios asociados al desarrollo de cada asignatura serán facilitados en el Aula Virtual al hilo del desarrollo de las unidades didácticas.

La UDIMA también cuenta con múltiples recursos para el aprendizaje de sus estudiantes, como pueden ser:

Librería Virtual e-brary: Nuestros alumnos tienen a su disposición una librería virtual con más de 65.000 títulos.

Youtube: UDIMA dispone de su propio canal donde los profesores pueden colgar vídeos interesantes para la formación de los estudiantes.
(www.youtube.com/universidadudima)

Manual de la asignatura:
Lezcano, L. y Sánchez, S. (2012) "Procesadores de Lenguajes". Ed: CEF.

Contenidos de la asignatura

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.

Sistema de evaluación

El sistema de evaluación del aprendizaje de la UDIMA contempla la realización de diferentes tipos de actividades de evaluación y aprendizaje. El criterio de valoración establecido se detalla a continuación:

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

Programa oficial de la asignatura

  • Solicitud Información
    Elija una titulación.
    Elija una provincia en caso de que su país sea España.