Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2010-11


PROCESADORES DE LENGUAJES II

Asignaturas
 

  Código Nombre    
Asignatura 1713027 PROCESADORES DE LENGUAJES II Créditos Teóricos 1,5
Descriptor   Language Processors II Créditos Prácticos 3
Titulación 1713 INGENIERÍA EN INFORMÁTICA Tipo Troncal
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS    
Curso 5      
Duración (A: Anual, 1Q/2Q) 1Q      
Créditos ECTS 4      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 100.0% 83.3%

 

 

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

Profesorado

José Antonio Jiménez Millán (Coordinador)

Situación

Prerrequisitos

Los necesarios para acceder al segundo ciclo de la carrera de ingeniero en
Informática

Contexto dentro de la titulación

Esta asignatura troncal de 5º curso es continuación de la asignatura llamada
“Procesadores de Lenguajes I” de 4º curso de la Ingeniería en Informática que, a
su vez, se puede considerar continuación  de la asignatura de "Traductores"
obligatoria de 3º curso de las Ingenierías Técnicas de Gestión y Sistemas.

Esta asignatura pone en práctica conocimientos y habilidades aprendidas en
otras asignaturas distintas de las previamente citadas. En concreto sobre
programación Orientada a objetos, Estructuras de Datos, y Metodología de la
Programación.

Recomendaciones

Debido al escaso número de créditos de esta asignatura, se ha planteado como una
panorámica de los temas descritos en su temario.

Se recomienda:
a) Poseer los conocimientos proporcionados por la asignatura troncal de 4º
curso titulada "Procesadores de Lenguajes I".
b) La asistencia a clases teóricas y prácticas.
c) El estudio y trabajo continuado realizando los ejercicios propuestos por el
profesor y entregando los trabajos pedidos a tiempo.
d) La utilización del Campus Virtual como herramienta de intercambio de
conocimientos entre los alumnos y con el profesor.

Competencias

Competencias transversales/genéricas

Capacidad de análisis y síntesis.
Capacidad de relacionar los conocimientos teóricos con la práctica.
Capacidades de comunicación oral y escrita.
Resolución autónoma de problemas.

Competencias específicas

  • 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 implementar y depurar, sobre un ordenador, un pequeño
    compilador de un lenguaje funcional.
    • Saber implementar y depurar, sobre un ordenador, un pequeño
    compilador de un lenguaje lógico.
    • 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.
    

Objetivos

• 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.

Programa

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.
• Recolección de basura (Garbage Collection).

Tema 2: Implementación de Lenguajes Funcionales
• Máquina reductora de grafos.
• Máquina SECD.
• Cálculo en Deducción Natural para la lógica.
• 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).

Metodología

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 y lógicos, 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 un trabajo a exponer en público.

Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total): 100

  • Clases Teóricas: 14  
  • Clases Prácticas: 23  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas:  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado: 8  
    • Sin presencia del profesorado:  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 28  
    • Preparación de Trabajo Personal: 18  
    • ...
      Realización de
      problemas = 4 horas
       
  • Realización de Exámenes:
    • Examen escrito: 4  
    • Exámenes orales (control del Trabajo Personal):  

Técnicas Docentes

Sesiones académicas teóricas:Si   Exposición y debate:Si   Tutorías especializadas:Si  
Sesiones académicas Prácticas:Si   Visitas y excursiones:No   Controles de lecturas obligatorias:No  

Criterios y Sistemas de Evaluación

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.

Recursos Bibliográficos

• Xavier Leroy. "Compiling functional languages".
http://pauillac.inria.fr/~xleroy/talks/compilation-agay.pdf

• Simon L. Peyton Jones and David Lester. "Implementing functional languages: a
tutorial". Published by Prentice Hall, 1992.
"http://research.microsoft.com/%7Esimonpj/Papers/pj%2Dlester%2Dbook/"

• Hassan Aït-Kaci. “Warren's Abstract Machine: A Tutorial Reconstruction”.
“http://www.vanx.org/archive/wam/wam.html”.

• Paul R. Wilson. "Uniprocessor Garbage Collection Techniques".
ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps.

• Kevin Knight. “Unification: A Multidisciplinary Survey”. ACM Computing Surveys,
Vol. 21, No. 1, March 1989.
http://www.isi.edu/natural-language/people/unification-knight.pdf

• Henk Barendregt y Erik Barendsen. "Introduction to Lambda Calculus".
"http://www.cs.ru.nl/E.Barendsen/onderwijs/sl2/materiaal/lambda.pdf".

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.