Sie sind auf Seite 1von 16

Asignatura: Proyecto de Autmatas y Lenguajes

Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

GUA DOCENTE DE PROYECTO DE AUTMATAS Y


LENGUAJES
La presente gua docente corresponde a la asignatura Proyecto de Autmatas y
Lenguajes (PAyL) del Grado en Ingeniera Informtica, aprobada para el curso lectivo
2012-2013 en Junta de Centro y publicada en su versin definitiva en la pgina web
de la Escuela Politcnica Superior. La gua docente de PAyL aprobada y publicada
antes del periodo de matrcula tiene el carcter de contrato con el estudiante.

1 de 1

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

ASIGNATURA
PROYECTO DE AUTMATAS Y LENGUAJES (PAyL)
1.1.

Cdigo

17837 de la titulacin de Grado en Ingeniera Informtica

1.2.

Materia

Autmatas y Lenguajes

1.3.

Tipo

Formacin obligatoria

1.4.

Nivel

Grado

1.5.

Curso

3 Ingeniera Informtica, 4 plan conjunto Informtica/Matemticas

1.6.

Semestre

1.7.

Nmero de crditos

3 crditos ECTS

1.8.

Requisitos previos

Para un buen aprovechamiento del curso, es recomendable haber aprobado las


asignaturas Programacin I, Programacin II y Proyecto de programacin de la
materia Programacin del mdulo Programacin y Estructura de datos. De no ser as,
el curso puede seguirse pero requiriendo de un considerable esfuerzo extra lo que
puede incidir en el rendimiento del estudiante en otras asignaturas en las que est
matriculado.

2 de 2

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

El contenido de la asignatura tambin tiene una relacin aunque ms marginal con la


materia Anlisis de Algoritmos, del mdulo Programacin y estructuras de datos,
que se imparte como asignatura con el mismo nombre; Seminario Taller de software,
del mismo mdulo y que forma parte de la materia Seminarios Taller de Informtica;
y finalmente con la materia Estructuras Discretas y Lgica, del mdulo Fundamentos
tericos de la informtica y aplicaciones.
La asignatura Proyecto de Autmatas y Lenguajes se imparte en el primer semestre
del tercer curso en el Grado de Informtica. Conforma, junto con la asignatura
Autmatas y Lenguajes la materia de Autmatas y Lenguajes (materia 2) del mdulo
Fundamentos tericos de la informtica y aplicaciones. Ambas asignaturas se
imparten en el mismo semestre. Por tanto, es imprescindible el buen
aprovechamiento en cada una de ellas para superar con xito ambas. Esta asignatura
tambin se imparte en el primer semestre del cuarto curso de la titulacin conjunta
en Informtica/Matemticas
Se ha realizado un esfuerzo considerable en la produccin de material docente
propio de las asignaturas para que resulte lo ms completa y til posible al alumno.
Se podr acceder a este material a travs de la plataforma Moodle (http://uamvirtual.es)
Este material incluir para el Proyecto de Autmatas y Lenguajes
Una copia de las trasparencias en las que se apoyarn las explicaciones de los
profesores
Una descripcin detallada de la implementacin de un compilador completo
para un lenguaje que incluye construcciones similares a las que se le pedirn
a los alumnos y que se ha desarrollado con las mismas herramientas que se
utilizan en el laboratorio. Este compilador puede servir de ejemplo o
inspiracin a los alumnos en su trabajo
Algunas libreras auxiliares para facilitar la generacin de cdigo ensamblador
(nasm)
Se requiere, por parte del alumno, iniciativa personal y constancia en el trabajo
cotidiano en todas las fases del proyecto.

1.9.

Requisitos mnimos de asistencia a las sesiones


presenciales

Se plantean dos itinerarios, uno con asistencia obligatoria a clase y otro sin ella, los
estudiantes debern optar por uno u otro desde el principio del curso y cumplir con
los distintos requisitos de evaluacin que conlleva cada uno de los modelos,
publicados en la presente gua docente (ver apartado 4).
ITINERARIO CON ASISTENCIA OBLIGATORIA A CLASE
Lo llamaremos a partir de ahora evaluacin presencial. La asistencia es obligatoria al
menos en un 80%.
ITINERARIO SIN ASISTENCIA OBLIGATORIA A CLASE

3 de 3

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Lo llamaremos a partir de ahora evaluacin no presencial. La asistencia es muy


recomendable aunque no obligatoria.

1.10. Datos del equipo docente


En orden alfabtico.
Nota: se debe aadir @uam.es a todas las direcciones de correo electrnico.
Dra. Marina de la Cruz Echeanda (coordinadora)
Departamento de Ingeniera Informtica
Escuela Politcnica Superior
Despacho - Mdulo: B-407-3 Edificio B 4 Planta
Telfono: +34 497 3364
Correo electrnico: marina.cruz
Pgina web: http://arantxa.ii.uam.es/~mdlcruz
Horario de atencin al alumnado: Peticin de cita previa por correo electrnico.
Dra. Julia Daz Garca
Departamento de Ingeniera Informtica
Escuela Politcnica Superior
Despacho - Mdulo: B-406-2 Edificio B 4 Planta
Telfono: +34 497 2331
Correo electrnico: julia.diaz
Pgina web:
Horario de atencin al alumnado: Peticin de cita previa por correo electrnico.

Dr. Luis Fernando Lago Fernndez


Departamento de Ingeniera Informtica
Escuela Politcnica Superior
Despacho - Mdulo: B-307 Edificio B 3 Planta
Telfono: +34 91 497 2211
Correo electrnico: luis.lago
Pgina web: http://arantxa.ii.uam.es/~lflago
Horario de atencin al alumnado: Peticin de cita previa por correo electrnico.

Dr. Alfonso Ortega de la Puente


Departamento de Ingeniera Informtica
Escuela Politcnica Superior
Despacho - Mdulo: B-340 Edificio B 3 Planta
Telfono: +34 91 497 2279
Correo electrnico: alfonso.ortega
Horario de atencin al alumnado: Peticin de cita previa por correo electrnico.

4 de 4

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

1.11. Objetivos del curso


Las competencias especficas de Computacin que se pretenden adquirir con esta
asignatura son las siguientes:
CC2. Capacidad para conocer los fundamentos tericos de los lenguajes de
programacin y las tcnicas de procesamiento lxico, sintctico y semntico
asociadas, y saber aplicarlas para la creacin, diseo y procesamiento de lenguajes.
Los objetivos que se pretende alcanzar con esta asignatura son:
OBJETIVOS GENERALES
Conocer representaciones intermedias, como las tuplas, y tcnicas de optimizacin
G1
para su generacin automtica por parte de procesadores de lenguaje
Saber disear la gramtica de atributos compatible con analizadores sintcticos
ascendentes para la construccin de compiladores de una pasada para lenguajes de
G2
programacin de alto nivel con diferentes caractersticas capaces de traducir el
lenguaje fuente a cdigo ensamblador nasm
Saber desarrollar en el lenguaje de programacin C las tablas de smbolos para el
G3 lenguaje objeto del proyecto (con estructura de bloques) y el tipo de compilador
objeto del proyecto (de una pasada)
Saber utilizar las herramientas de diseo flex y bison y el lenguaje de programacin
G4
C para el desarrollo del compilador del lenguaje
Saber programar casos de prueba con el lenguaje de programacin objeto del
G5
proyecto que permitan la verificacin de la correccin del compilador
OBJETIVOS ESPECFICOS POR TEMA
TEMA 0.- Introduccin a los procesadores de lenguaje
1.
Conocer la funcin de los procesadores de lenguaje, sus tipos y estructura
UNIDAD 1.- Representaciones intermedias
Conocer el concepto y funcin de las representaciones intermedias, en general, y de
2.
las cudruplas y tripletas en particular
Saber generar cudruplas a mano para cualquier fragmento de programa escrito en
3.
lenguajes de programacin de alto nivel imperativos
Conocer las principales tcnicas de optimizacin en general y basada en cudruplas
4.
en particular
UNIDAD 2.- Diseo de un lenguaje de programacin
Conocer las construcciones de las gramticas independientes del contexto con las que
5.
describir las construcciones sintcticas del lenguaje de programacin objeto del
proyecto
Determinar con claridad los aspectos del lenguaje de programacin que no se pueden
6.
expresar mediante reglas independientes del contexto
UNIDAD 3.- Diseo de la tabla de smbolos
7
Saber definir la estructura de la tabla de smbolos adecuada para el lenguaje y el

5 de 5

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

compilador que se est desarrollando (lenguaje con estructura de bloques y


compilador de una pasada) basndose en tablas hash
UNIDAD 4.- Diseo del analizador morfolgico del lenguaje de programacin
Saber determinar el fragmento de la gramtica del lenguaje del que se ocupar el
8
analizador morfolgico
Saber disear los patrones regulares necesarios para la implementacin del analizador
9
morfolgico con la herramienta que se va a utilizar (flex)
UNIDAD 5.- Diseo del analizador sintctico del lenguaje de programacin
Saber expresar la gramtica en el formato de la herramienta que se va a utilizar
10
(bison)
11 Saber solucionar los conflictos de anlisis que puedan aparecer
Saber definir la asociatividad y prioridad en los operadores especialmente para
12
gramticas ambiguas en cuanto a las expresiones aritmticas
13 Saber unificar los analizadores morfolgicos y sintcticos desarrollados
UNIDAD 6.- Analizador semntico y generador de cdigo
Saber traducir las restricciones semnticas del lenguaje de programacin en un
14 sistema de atributos para el tipo de compilador que se est diseando (compilador de
una pasada basado en un analizador sintctico ascendente)
Saber modificar la gramtica independiente del contexto del lenguaje de
15
programacin para incorporar el sistema de atributos
Conocer diferentes alternativas para la gestin del espacio auxiliar para gestionar las
16
expresiones aritmticas en cdigo ensamblador
Conocer diferentes protocolos de comunicacin de parmetros y valores de retorno de
17
las subrutinas en cdigo ensamblador
Conocer las tcnicas de gestin de bajo nivel para las estructuras de datos, las
18 estructuras de control de flujo del programa, la entrada/salida y la gestin de
memoria
Saber modificar la gramtica del lenguaje de programacin para incorporar la
19
generacin de cdigo de las diferentes construcciones del lenguaje de programacin

1.12. Contenidos del programa


PROGRAMA SINTTICO
El enfoque de esta asignatura es la realizacin de un proyecto informtico completo
en el mbito de los procesadores de lenguaje, en concreto, la construccin de un
compilador completo para un lenguaje de programacin sencillo pero tambin
completo. Para ello el alumno utilizar herramientas informticas de ayuda
adecuadas al nivel de conocimientos que posee (flex y bison con lenguaje de
programacin C y ensamblador nasm).
Para ello debe completarse los contenidos de la asignatura Autmatas y Lenguajes
con temas dedicados a la generacin de cdigo (directa y representaciones
intermedias) as como nociones de optimizacin.
Tema 0: Introduccin a los procesadores de lenguaje

6 de 6

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Unidad 1: representaciones intermedias


Tema 1: cudruplas
Tema 2: optimizacin
Tema 3: ensamblador nasm
Unidad 2: diseo de un lenguaje de programacin
Unidad 3: tablas de smbolos
Unidad 4: diseo e implementacin del analizador morfolgico de un lenguaje de
programacin
Unidad 5: diseo e implementacin del analizador sintctico (ascendente) de un
lenguaje de programacin
Unidad 6: diseo e implementacin de analizador semntico y generador de
cdigo de un lenguaje de programacin
Tema 3: generacin directa de cdigo de bajo nivel
PROGRAMA DETALLADO
0. Tema 0: Introduccin a los procesadores de lenguaje
1. Unidad 1: representaciones de bajo nivel

1.1.
1.2.
1.3.

Tema 1: cudruplas
Tema 2: optimizacin
Tema 3: lenguaje ensamblador nasm

2. Unidad 2: especificacin del lenguaje de programacin

Especificacin de caractersticas del lenguaje

3. Unidad 3: tablas de smbolos

Eleccin del tipo de tabla de smbolos (habitualmente compiladores de una


pasada con estructura de bloques)
Diseo e implementacin (lenguaje de programacin C) de la tabla de
smbolos para el lenguaje de programacin

4. Unidad 4: diseo e implementacin del analizador morfolgico de un lenguaje

de programacin
Delimitacin de la parte de la gramtica independiente del contexto que ser
responsabilidad del analizador morfolgico
Diseo de patrones regulares para el analizador morfolgico
Diseo e implementacin del analizador morfolgico del lenguaje de
programacin utilizando herramientas informticas de ayuda (flex y lenguaje
de programacin C)
5. Unidad 5: diseo e implementacin del analizador sintctico (ascendente) de

un lenguaje de programacin
Diseo e implementacin del analizador sintctico del lenguaje de
programacin utilizando herramientas informticas de ayuda (bison y lenguaje
de programacin C)
El punto anterior implica

7 de 7

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Rescribir la gramtica del lenguaje de programacin en el formato de


entrada de las herramientas (bison)
Anlisis y solucin de conflictos en el analizador
Garantizar la correcta comunicacin con el analizador morfolgico

6. Unidad 6: diseo e implementacin del analizador semntico y generador de

cdigo de un lenguaje de programacin


Uso de atributos semnticos en herramientas de ayuda al desarrollo de
compiladores completos (bison y lenguaje de programacin C)
Anlisis semntico y generacin directa de cdigo para el lenguaje e
programacin

1.13. Referencias de consulta


Bibliografa:
Nota: Las referencias de consulta de esta asignatura son compartidas con la
asignatura de Autmatas y Lenguajes dada la conexin que hay entre ellas y que se
ha explicado previamente. La documentacin disponible en Moodle contiene
suficiente detalle como para suponer una referencia de consulta completa. Por lo
tanto, la consulta de estos materiales, aunque puede resultar recomendable para un
dominio ms profundo de la materia, no es imprescindible para alcanzar los objetivos
y competencias descritos en esta gua.
1. Alfonseca, M., de la Cruz, M., Ortega, A., Pulido, E. Compiladores e
intrpretes: teora y prctica, Pearson, 2006.
2. Aho, A.V., Sethi, R., Ullman, J.D., Compilers: Principles, Techniques and
Tools. Addison-Wesley Publishing Company, Reading, MA, 1986. Traduccin
espaol, Compiladores: principios, tcnicas y herramientas, Pearson
Education, 1990-98.
3. Grune, D., Modern Compiler Design, Wiley, 2000.
4. Marcotty, M., Ledgard, H.F., Bochmann, G.V., A Sampler of Formal
Definitions. Computing Surveys, 8:2, pp. 191-276, June 1976.
5. Alfonseca, M., Alfonseca, E., Moriyon, R. Teora de Autmatas y Lenguajes
Formales, McGraw Hill, 2007. ISBN: 978-84-481-5637-4.
6. Alfonseca, M., Sancho, J., Martnez Orga, M.A., Teora de Lenguajes,
Gramticas y Autmatas. Universidad y Cultura, Madrid, 1987.
Nota: no se recomienda a los estudiantes comprar ningn libro hasta no haber
comparado su contenido con el programa y revisado previamente en la biblioteca.

2.

Mtodos docentes

La metodologa utilizada en el desarrollo de la actividad docente incluye los


siguientes tipos de actividades:

8 de 8

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

*Contenidos de carcter terico:


Fundamentalmente el tema 0, la unidad 1 y la descripcin bsica del lenguaje
ensamblador nasm.
Tras las sesiones dedicadas a estos contenidos (ver cronograma) los alumnos
realizarn una prueba individual de tipo test que proporcionar una calificacin entre
0 y 10 y que se utilizar para el clculo de la calificacin final como se explica en la
seccin 4.
Actividad del profesor
Clases expositivas simultaneadas con la realizacin de problemas y ejercicios
terico-prcticos. Se utilizarn los recursos audiovisuales (proyector de
trasparencias) e informticos disponibles en el laboratorio. Organizacin y
supervisin de la prueba de aptitud sobre estos contenidos.
Actividad del estudiante:
Actividad presencial: Toma de apuntes, participacin activa en clase
respondiendo a las cuestiones planteadas.
Actividad no presencial: estudio del material proporcionado y resolucin de los
problemas planteados en clase.

*Contenidos de carcter prctico:


El proyecto, consistente en el desarrollo completo de un compilador, se desarrollar
fundamentalmente en el laboratorio utilizando el siguiente soporte informtico:
Sistema operativo Linux
Lenguaje de programacin C
Herramienta de ayuda al desarrollo de analizadores morfolgicos flex
Herramienta de ayuda al desarrollo de procesadores de lenguaje bison (+flex)
Software pblico para la gestin de ensamblador nasm
Herramientas de desarrollo, depuracin y compilacin en C disponibles en el
laboratorio. Los alumnos podrn utilizar las que consideren oportunas.
El proyecto se desarrollar de manera individual. No obstante, si el nmero de
alumnos por grupo es superior al nmero de equipos disponibles en los laboratorios,
ser necesario el desarrollo del proyecto en grupos.

Al comienzo del curso, se presentar en clase el lenguaje de programacin para el


cual se desarrollar el compilador durante el curso.

Cada alumno/grupo debe realizar a lo largo del curso una serie de entregas para
poder asegurar la conclusin del compilador a final de curso y adems, poder evaluar
la evolucin de su trabajo (consltese la fecha prevista para las entregas en el
cronograma):
1. Tabla de smbolos
2. Analizador morfolgico

9 de 9

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

3. Analizador sintctico
4. Primera parte del analizador semntico y generador de cdigo
5. Segunda parte del analizador semntico y generador de cdigo

Cada una de las entregas ser evaluada por el profesor. Los alumnos que no superen
un porcentaje de las entregas, pasarn automticamente a la evaluacin no
presencial. Ver la seccin 4 para conocer el mtodo de evaluacin.

Los alumnos que completen la evaluacin presencial entregarn su compilador que


ser evaluado y al que se le asignar una calificacin numrica entre 0 y 10 que
tambin ser utilizada para el clculo de la nota final como se especifica en la
seccin 4.

Todos los alumnos deben presentarse a un examen final sobre el compilador


entregado que se realizar de manera individual en el laboratorio y que consistir, en
general, en la realizacin de modificaciones al lenguaje diseado y al compilador
entregado. Los alumnos obtendrn una nota entre 0 y 10 en este examen que ser
utilizada para el clculo de la nota final como se indica en la seccin 4.

A lo largo del proyecto se planifican 3 posibles tutoras, en funcin de las


necesidades, y de asistencia obligatoria para facilitar el seguimiento del trabajo.
Actividad del profesor
Clases expositivas de los contenidos necesarios para la realizacin de cada una
de las partes del compilador. Sugerencia de posibles alternativas a los
problemas que aparezcan en el diseo del compilador. Realimentacin a cada
alumno/grupo de manera individual sobre su trabajo en cada entrega. Se
utilizarn los recursos audiovisuales (proyector de trasparencias) e informticos
disponibles en el laboratorio.
Actividad del estudiante:
Actividad presencial: Participacin activa en clase respondiendo a las
cuestiones planteadas. Asistir a las tutoras a las que le convoque su profesor.
Actividad no presencial: estudio del material proporcionado, planificacin
individual o en grupo del desarrollo del trabajo para garantizar la superacin de
todas las entregas y la superacin de la materia. Este trabajo podra incluir el
diseo del conjunto de tareas que requiere cada entrega, y si procede, su
reparto entre los miembros del grupo, y el trabajo en grupo para la integracin
de cada parte con las reuniones necesarias para que todos los miembros del
grupo dominen el trabajo realizado.
Es tambin responsabilidad de los alumnos tomar la iniciativa en la solicitud de
tutoras que pudieran necesitar ante las dificultades que encuentren en
cualquier momento del proyecto.
*Tutoras presenciales:

10 de 10

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Se han planificado 3 tutoras de 1 hora, y de asistencia obligatoria para los


alumnos de evaluacin presencial. Coinciden con los momentos ms exigentes
para los alumnos. En ellas se intentar focalizar la atencin de los alumnos en
los aspectos ms relevantes de la materia y minimizar el nmero de dudas que
queden sin resolver.
Actividad del profesor:
Organizacin de las tutoras presenciales.
Actividad del alumno:
Actividad presencial: Asistir a la tutora, plantear sus dudas y atender a las
explicaciones de su profesor.
Actividad no presencial: Previo a la tutora, identificacin de posibles dudas
con relacin al temario de la tutora.

3.

Tiempo de trabajo del estudiante

Se asignan 25 horas de trabajo a cada crdito europeo, por tanto una asignatura de 3
crditos conlleva 75 horas de trabajo del estudiante, que incluyen tanto tareas
presenciales como no presenciales. En la Tabla 1 se indica el porcentaje de cada
actividad respecto al total de 75 horas para los estudiantes que han seleccionado el
mtodo de evaluacin continua con asistencia obligatoria a clase en relacin con las
directrices del Espacio Europeo de Educacin Superior.

Tabla 1. Distribucin del Tiempo de Trabajo del Estudiante en la Asignatura Proyecto


de Autmatas y Lenguajes

Clases tericas
Clases prcticas
Tutoras programadas a lo largo del semestre
Presencial
Realizacin de controles y del examen final
Realizacin de actividades prcticas
No
Preparacin y examen final (conv. ord.)
presencial
Preparacin y examen final (conv. extraord.)
Carga total de horas de trabajo: 25 horas x 3 ECTS

N de horas
6 h (8%)
20 h (26,6%)
3 h (4%)
8= 2h
(test)+
3+3h(finales)
(10,6%)
25 h (33,3%)
5 h (6.7%)
8 h (10.7%)
75 h

Porcentaje

49.3% =
37 horas

50.7% =
38 horas

11 de 11

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

4.

Mtodos de evaluacin y porcentaje en la


calificacin final

Convocatoria ordinaria
EVALUACIN PRESENCIAL

Es necesario cumplir con el requisito de asistencia a clase, al menos el 80% de las


sesiones. Los alumnos que no cumplan ese requisito pasarn a la evaluacin no
presencial desde el momento que lo incumplan.
El alumno obtendr a lo largo del curso una calificacin entre 0 y 10 de su evolucin,
a partir de este momento nos referiremos a esta calificacin con el nombre
EVOLUCIN. Para obtener esta calificacin se utilizarn un conjunto de 6 notas que
el alumno obtendr durante el curso. Una nota correspondiente el test de cudruplas
y ensamblador, y cinco notas correspondientes a las 5 entregas de las partes del
compilador. A partir de estas 6 notas, se calcular una nota de evolucin del alumno
(EVOLUCIN) haciendo la media aritmtica de las 6 notas. Para poder realizar dicha
media, es necesario que, al menos, la mitad de las 6 notas sean superiores a 4. Si un
alumno no cumple este requisito pasa automticamente a evaluacin no presencial.
Tambin se pasar a evaluacin no presencial si la media aritmtica no es igual o
superior a 4.
Los alumnos que tengan una nota EVOLUCIN igual o superior a 4, a final de curso,
entregarn el compilador desarrollado y ser corregido por su profesor obteniendo as
una calificacin entre 0 y 10 que a partir de ahora llamaremos COMPILADOR. Esta
nota deber ser igual o superior a 4 para continuar con la evaluacin presencial.
Los alumnos cuya nota EVOLUCIN y COMPILADOR sea igual o superior a 4, a final de
curso realizarn un examen sobre el compilador desarrollado y obtendrn una
calificacin entre 0 y 10. A esta calificacin la llamaremos EXAMEN. Esta nota deber
ser igual o superior a 4 para continuar con la evaluacin presencial.

La nota final de cada alumno es una media ponderada de las notas anteriores de la
siguiente manera:
0,70*EVOLUCIN + 0,15*COMPILADOR+ 0,15*EXAMEN

ATENCIN: En el caso de que un alumno que haya optado por evaluacin


presencial deje de cumplir los requisitos necesarios para optar a la misma,
automticamente pasar a evaluacin no presencial. As mismo, las entregas que
no cumplan los requisitos especificados en los enunciados (en lo relacionado con

12 de 12

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

aspectos como estructura de los ficheros entregados, nombre de los mismos y


otras caractersticas similares) sern consideradas como no realizadas

EVALUACIN NO PRESENCIAL

Los alumnos de evaluacin no presencial debern presentarse obligatoriamente a las


dos partes del examen final.
Un test sobre el contenido del tema 0, la unidad 1 y la descripcin bsica del
ensamblador nasm. La calificacin de esta parte es la nota TEST de los alumnos
de evaluacin no presencial.
Sobre el compilador entregado. Los alumnos obtendrn una nota correspondiente
al compilador entregado (COMPILADOR) y una nota correspondiente al examen
sobre el mismo (EXAMEN) que se utilizar como se especifica a continuacin para
obtener la nota final.
La nota final de la asignatura se obtiene mediante el siguiente promedio:
0,1 * TEST + 0,2*COMPILADOR + 0,7 * EXAMEN)

Los alumnos que opten por evaluacin no presencial desarrollarn un compilador para
un lenguaje de programacin segn se describir en el enunciado que se encontrar
en la plataforma Moodle. Este compilador ser siempre distinto de los realizados por
los alumnos de evaluacin presencial.
El trabajo se realizar de manera individual.
El compilador desarrollado se entregar a final de curso.
Al final de curso se realizar un examen de prcticas para los alumnos que opten
por la evaluacin no presencial.
Para superar la evaluacin no presencial, es necesario:
o Obtener una nota en la correccin del compilador (COMPILADOR) mayor o
igual que 5.
o Obtener una nota mayor o igual que 5 en el examen individual (EXAMEN)
sobre el compilador entregado.
o Obtener una nota en la prueba tipo test (TEST) mayor o igual que 5.

Sobre la convocatoria extraordinaria


Los profesores podrn especificar nuevos trabajos prcticos que el alumno debe
aportar. Se realizar un examen final y se obtendr la calificacin final como un
promedio de las dos calificaciones. Los detalles concretos tanto de los trabajos
prcticos como de la manera en la que se calcular el promedio sern especificados
tras la finalizacin de la convocatoria ordinaria pues dependen del nmero posible de
alumnos que puedan acudir a la convocatoria extraordinaria.
Sobre calificacin no evaluado en evaluacin presencial

13 de 13

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

En evaluacin presencial, el nmero mnimo de pruebas a las que el estudiante se ha


de presentar para recibir una calificacin numrica es dos tercios del nmero
mximo de pruebas. Por debajo de este mnimo, el estudiante recibir la calificacin
"No evaluado" que implica que la convocatoria es consumida.
Este nmero de pruebas por debajo del cual se considerar como no evaluado ser de
5 (ya que son un test, 5 entregas, 1 evaluacin del compilador entregado y 1 examen
sobre el compilador; un total de 8 pruebas)
ATENCIN: Cualquier copia descubierta que se haya realizado a lo largo del curso,
tanto en cualquiera de las actividades de teora desarrolladas, como en
cualquiera de los apartados de las prcticas, sern penalizadas con rigurosidad.

5.

Cronograma

El cronograma del estudiante que sigue el mtodo de evaluacin con asistencia


obligatoria a clase se muestra en la Tabla 4. Este cronograma tiene carcter
orientativo y le ofrece al estudiante una visin global del curso y le permite
planificar su trabajo de forma realista.
Horas
presenciales

Horas no presenciales

- Presentacin de la asignatura, normas de evaluacin


y material en Moodle
- Tema 0: Introduccin a los procesadores de
lenguaje
- Unidad 1: representaciones de bajo nivel

Tema 1: cudruplas

Tema 2: optimizacin
- Unidad 1: representaciones de bajo nivel

Tema 2: optimizacin

Problemas tema 1 y 2
Unidad 1: representaciones de bajo nivel

Tema 3: ensamblador nasm

Realizacin del test sobre el tema 0, la unidad 1


Presentacin de la Unidad 2: el lenguaje
programacin para el que se va a desarrollar
compilador.
- Unidad 3: tabla de smbolos

Explicacin de la tabla de smbolos

Trabajo de los alumnos en la tabla


smbolos del compilador
- Unidad 3: tabla de smbolos

Trabajo de los alumnos en la tabla


smbolos del compilador

Semana

Contenido

de
el
2

de

de

14 de 14

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Semana

Contenido

Entrega de la tabla de smbolos antes del comienzo


de la sesin

Horas
presenciales

Horas no presenciales

Unidad 4: anlisis morfolgico

Explicacin del analizador morfolgico

Trabajo de los alumnos en el analizador


morfolgico
8

Entrega del analizador morfolgico antes del


comienzo de la sesin
Unidad 5: anlisis sintctico

Explicacin del analizador sintctico

Trabajo de los alumnos en el analizador


sintctico

Entrega del analizador


comienzo de la sesin

sintctico

antes

del

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 1)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
1)
10

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 2)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
2)

11

Primera entrega del analizador y el generador de


cdigo.

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 3)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
3)
12

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 4)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
4)

13

Segunda entrega del analizador y el generador de


cdigo

15 de 15

Asignatura: Proyecto de Autmatas y Lenguajes


Cdigo: 17837
Centro: Escuela Politcnica Superior
Titulacin: Grado en Ingeniera Informtica
Nivel: Grado
Tipo: Obligatoria
N de crditos: 3 ECTS

Semana

Contenido

Horas
presenciales

Horas no presenciales

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 5)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
5)
14

Unidad 6: anlisis semntico y generacin de cdigo

Explicacin del anlisis semntico y la


generacin de cdigo (parte 6)

Trabajo de los alumnos en el anlisis


semntico y la generacin de cdigo (parte
6)
Entrega del compilador completo

entre 1-14 - Tutoras (3 de 1 h) con los alumnos

15-16

Examen final (ordinaria)

17-19

Examen final (extraordinaria)

16 de 16

Das könnte Ihnen auch gefallen