Fichas de asignaturas 2007-08
CÓDIGO | NOMBRE | |
Asignatura | 1713027 | PROCESADORES DE LENGUAJES II |
Titulación | 1713 | INGENIERÍA EN INFORMÁTICA |
Departamento | C137 | LENGUAJES Y SISTEMAS INFORMATICOS |
Curso | 5 | |
Duración (A: Anual, 1Q/2Q) | 1Q | |
Créditos ECTS | 4 |
Créditos Teóricos | 1,5 | Créditos Prácticos | 3 | Tipo | Troncal |
Cognitivas(Saber):
INSTRUMENTALES Capacidad de análisis y síntesis Capacidad de organización y planificación Comunicación oral y escrita en la lengua nativa Manejo de manuales y documentos en inglés Conocimientos de informática relativos al ámbito de estudio Capacidad de gestión de la información Resolución de problemas Toma de decisiones PERSONALES Trabajo en equipo Habilidades en las relaciones interpersonales Razonamiento crítico Compromiso ético SISTÉMICAS Aprendizaje autónomo Adaptación a nuevas situaciones Iniciativa y espíritu emprendedor Motivación por la calidad Creatividad
Procedimentales/Instrumentales(Saber hacer):
Saber impllementar y depurar, sobre un ordenador, un pequeño compilador de un lenguaje funcional. Saber impllementar y depurar, sobre un ordenador, un pequeño compilador de un lenguaje lógico. Saber utilizar un sistema de reescritura para implementar, sobre un ordenador, un pequeño traductor utilizando la técnica de compilación mediante transformación de programas. Buscar información sobre la asignatura. Programar, compilar y depurar programas que implementen ejercicios de la materia en cuestión. Resolver ejercicios y problemas de la materia. Describir, por escrito, preguntas teóricas.
Presentar al alumno/a la materia. Conocer los principios, ventajas y limitaciones de las diversas tecnologías implicadas. Capacitar a los alumnos/as para implementar, sobre un ordenador, pequeños compiladores utilizando las herramientas y técnicas mostradas en clase.
Tema 1: Introducción a la compilación de lenguajes funcionales. El cálculo lambda. Reducción de grafos. Orden normal y aplicativo. Unificación en lenguajes funcionales. Recolección de basura (Garbage Collection). Tema 2: Implementación de Lenguajes Funcionales Máquina reductora de grafos. Máquina SECD. Correspondencia Curry-Howard y la Máquina de Krivine Tema 3: Compilación de Prolog. La unificación en Prolog. La máquina abstracta de Warren (WAM).
Parte de las clases de teoría consistirán en la exposición, por parte del profesor y con ayuda de los medios audiovisuales necesarios, de los contenidos teóricos. En ellas también se propondrán algunos ejercicios a realizar en casa por los alumnos y que serán discutidos, por los propios alumnos, en las clases siguientes. En las clases de prácticas el profesor mostrará pequeños modelos típicos de compiladores de lenguajes funcionales, lógicos y programas basados en sistemas de reescritura, discutiendo la solución adoptada. Por último, se pedirá que los alumnos implementen y depuren sobre el ordenador pequeños módulos de compiladores propuestos por el profesor. Tanto los ejemplos típicos como los enunciados de los ejercicios propuestos se publicarán con la suficiente antelación en la página web de la asignatura. Así mismo, los alumnos tendrán que preparar dos trabajos a exponer en público.
Nº de Horas (indicar total): 100
- Clases Teóricas: 9
- Clases Prácticas: 17
- Exposiciones y Seminarios: 13
- Tutorías Especializadas (presenciales o virtuales):
- Colectivas: 3
- Individules:
- Realización de Actividades Académicas Dirigidas:
- Con presencia del profesorado: 3
- Sin presencia del profesorado:
- Otro Trabajo Personal Autónomo:
- Horas de estudio: 17.5
- Preparación de Trabajo Personal: 31.5
- ...
- Realización de Exámenes:
- Examen escrito: 6
- Exámenes orales (control del Trabajo Personal):
|
Se realizarán un examen teórico y otro práctico. El examen práctico se realizará sobre un ordenador y necesitará la implementación de un programa. Los trabajos de los alumnos deben ser entregados dentro de las fechas indicadas por el profesor. Tanto los trabajos realizados y expuestos por los alumnos como cada uno de los exámenes se valorarán sobre 10. Para aprobar la asignatura habrá que tener aprobado todos y cada uno de ellos (es decir, un mínimo de 5 en cada trabajo, 5 en el examen de teoría y 5 en el de prácticas). Para poder realizar el examen de teoría habrá que haber aprobado el trabajo. Para aprobar el examen de teoría el alumno debe contestar todos los ejercicios y preguntas presentadas demostrando dominar, suficientemente, todos los objetivos básicos de la asignatura. Para poder pasar a la fase del examen de prácticas habrá que tener aprobado el examen de teoría. La calificación final, para aquellos alumnos que tengan aprobadas todas las partes, será la suma ponderada de cada parte.
Simon L. Peyton Jones. The Implementation of Functional Programming Languages. Edita: Prentice Hall. 1987. Hassan Aït-Kaci. Warren's Abstract Machine: A Tutorial Reconstruction. Accesible para usos no comerciales en la dirección de Internet: http://www.vanx.org/archive/wam/wam.html Martí-Oliet and José Meseguer, 2002. Rewriting Logic: Roadmap and Bibliography. Theoretical Computer Science 285(2):121-154.
Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.