7514 - Lenguajes Formales PLANIFICACIONES Planificaciones 7514 - Lenguajes Formales Docente responsable: KUHN MONICA 1 de 6 Actualización: 1ºC/2015 7514 - Lenguajes Formales PLANIFICACIONES Actualización: 1ºC/2015 OBJETIVOS Que el alumno aprenda los conceptos del paradigma de la programación funcional basándose en los conceptos teóricos básicos del Cálculo Lambda utilizando en la práctica los lenguajes funcionales Lisp, FP y APL. CONTENIDOS MÍNIMOS - PROGRAMA SINTÉTICO Unidad I Sistema FP Atomos, , secuencias e indefinido. Funciones primitivas. Formas funcionales. Definición de funciones Unidad II APL Tipos de datos simples y estructurados. Operadores monádicos y diádicos. Operadores aplicados a vectores y arreglos n dimensionales. Resolución de problemas en modo expresión. Definición de funciones y procedimientos. Transmisión de parámetros. Unidad III Cálculo Lambda Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución. Reglas de conversión alfa, beta y etha. Orden de evaluación: orden normal y orden aplicativo. Aplicaciones. Unidad IV Lisp Funciones primitivas. Definición de funciones. Recursividad. Definición de ambiente. Formas funcionales. PROGRAMA ANALÍTICO Unidad 1: Sistema FP Conjuntos de objetos: átomos, secuencias e indefinido. Funciones primitivas: selectores, distribución, trasposición, rotación, condicional, predicados. Formas funcionales: composición, construcción, inserción aplicación a todo. Definición de funciones. Resolución de problemas en modo FP sin el uso de la recursividad ni la iteración. Unidad 2: APL Tipos de datos simples y estructurados. Operadores monádicos y diádicos. Operadores aplicados a vectores y arreglos multidimensionales. Producto interno y producto externo. Modo comando y modo programa. Definición de funciones y procedimientos. Transmisión de parámetros. Resolución de problemas en una única expresión eficiente utilizando el modo comando sin recursividad ni iteración. Unidad 3: Cálculo Lambda Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución. Reglas de conversión: alfa, beta y etha. Orden de evaluación: orden Normal y orden aplicativo. Combinadores. Puntos fijos. Aplicaciones: Conectivos proposicionales, numerales de Church, Thunks. Evaluación de expresiones lambda aplicando las reglas de conversión y los distintos ordenes. Unidad 4: Lisp Átomos y Listas. Primitivas básicas de Lisp. Predicados y condicionales. Definición de funciones. Pasaje de parámetros.Definición de ambiente en los lenguajes funcionales. Abstracción de funciones y recursividad. Formas funcionales. Aplicación a la definición de un GPS. Máquina virtual de un Pseudo C en Lisp. Máquina virtual de Lisp en Lisp. Definición de pattern matching. Resolución de juegos. Resolución del problema de N reinas en un tablero de N x N. BIBLIOGRAFÍA - LISP de P.H.Winston y B.K.P. Horn Ed.Addison-Wesley Iberoamericana - Principles of functional Programming De Glaser Hankin y Till Ed. P.H.I. - Lenguajes de Programación. Diseño e implementación de Pratt Ed. P.H.H. - Functional Programming Practice and Theory de Bruce Maclennan Ed. Addison Wesley - Functional Programming 2 de 6 7514 - Lenguajes Formales PLANIFICACIONES Actualización: 1ºC/2015 de Anthony Field, Peter Harrison Ed. Addison Wesley - John Backus - Communications of the ACM 1978 Webgrafía: http://tryapl.org/ http://tutorial.dyalog.com/next.htm http://lisp.plasticki.com/ RÉGIMEN DE CURSADA Metodología de enseñanza - Clases teórico-prácticas Exposición teórica de conceptos fundamentales, con resolución metódica de problemas tipo y ensayos sobre objetivos. - Clases prácticas Resolución por parte de los alumnos y controlada por los docentes auxiliares de problemas correspondientes a las unidades temáticas del programa, ya sea por escrito o por computadora (programas). En general se tratará de problemas abiertos, que generen dudas y motiven la consulta a los docentes y la profundización del conocimiento a través de la bibliografía. Durante el curso se plantearán trabajos prácticos con problemas complejos a resolver por programación, que los alumnos deberán desarrollar individualmente - Clases de consulta Modalidad de Evaluación Parcial Evaluación De manejo de conceptos, aplicación de conocimientos y dominio de técnicas, mediante la respuesta a preguntas y la resolución de problemas por escrito en evaluaciones parciales e integradoras, y el desarrollo controlado de trabajos prácticos en computadora. Las evaluaciones parciales e integradoras son por unidades o subunidades temáticas. La evaluación de los trabajos por computadora es por presentación en tiempo y forma (plazos y formato establecido), método de desarrollo (aplicación de método de desarrollo de programas visto en el curso) y corrección del resultado (cumplimiento de objetivos del programa) 3 de 6 7514 - Lenguajes Formales PLANIFICACIONES Actualización: 1ºC/2015 CALENDARIO DE CLASES Semana Temas de teoría Resolución de problemas Laboratorio Otro tipo Fecha entrega Informe TP Bibliografía básica <1> 17/08 al 22/08 Sistema F.P. Primitivas Ejercicios en FP John Backus Communication s of the ACM 1978 <2> 24/08 al 29/08 Def. de funciones en F.P. Ejercicios en FP John Backus Communication s of the ACM 1978 <3> 31/08 al 05/09 Modos de resolución en F.P. Resolución de ejercicios en FP en modo FP y modo iterativo Communication s of the ACM 1978 John Backus <4> 07/09 al 12/09 A.P.L. Modo comando Ejercicios en APL Lenguajes de Programación. Diseño e implementación de Pratt Ed. P.H.H. Webgrafía: http://tryapl.org/ http://tutorial.dy alog.com/next.h tm <5> 14/09 al 19/09 Operadores monádicos y diádicos Ejercicios en APL modo comando Lenguajes de Programación. Diseño e implementación de Pratt Ed. P.H.H. Webgrafía: http://tryapl.org/ http://tutorial.dy alog.com/next.h tm <6> 21/09 al 26/09 Modo programa en A.P.L. Ejercicios en APL Lenguajes de Programación. Diseño e implementación de Pratt Ed. P.H.H. Webgrafía: http://tryapl.org/ http://tutorial.dy alog.com/next.h tm <7> 28/09 al 03/10 Cálculo Lambda. Sintaxis Ejercicios en Cálculo Lambda <8> 05/10 al 10/10 Reglas de substitución. Reglas de conversión Reducción de expresiones Lambda aplicando reglas de substitución/redu cción <9> 12/10 al 17/10 Orden de evaluación aplicativo y normal Ejercios aplicando los dos ordenes de evaluación <10> 19/10 al 24/10 Puntos fijos. Aplicaciones. Numerales de Church. Ejercicios de aplicación <11> 26/10 al 31/10 Lisp. Funciones primitivas Ejercicios aplicando las funciones LISP de P.H.Winston y B.K.P. Horn 4 de 6 7514 - Lenguajes Formales Semana Temas de teoría PLANIFICACIONES Resolución de problemas Laboratorio Otro tipo Actualización: 1ºC/2015 Fecha entrega Informe TP Bibliografía básica primitivas de Lisp Webgrafía: http://lisp.plastic ki.com/ LISP de P.H.Winston y B.K.P. Horn Webgrafía: http://lisp.plastic ki.com/ <12> 02/11 al 07/11 Definición de funciones en Lisp. Ejercicios definiendo funciones en Lisp <13> 09/11 al 14/11 Ambiente en Lisp Interprete de Lisp en Lisp. Ejercicios evaluando los distintos abientes <14> 16/11 al 21/11 Definición de la máquina virtual de Lisp en Lisp LISP de P.H.Winston y B.K.P. Horn Webgrafía: http://lisp.plastic ki.com/ Máquina virtual de un pseudo C en Lisp. Definición de la máquina virtual de un Pseudo C en Lisp Fecha de evaluación integradora LISP de P.H.Winston y B.K.P. Horn Webgrafía: http://lisp.plastic ki.com/ <15> 23/11 al 28/11 Resolución del GPS en Lisp Lisp en macheo de patrones, caminos en grafos y/o resolución de juegos Fecha de evaluación integradora LISP de P.H.Winston y B.K.P. Horn Webgrafía: http://lisp.plastic ki.com/ <16> 30/11 al 05/12 Pattern matching. Thunks. Problema de las n reinas Aplicaciones de Lisp en macheo de patrones, caminos en grafos y/o resolución de juegos Fecha de evaluación integradora LISP de P.H.Winston y B.K.P. Horn Webgrafía: http://lisp.plastic ki.com/ 5 de 6 7514 - Lenguajes Formales PLANIFICACIONES Actualización: 1ºC/2015 CALENDARIO DE EVALUACIONES Evaluación Parcial Oportunidad Semana Fecha Hora 1º 14 10/06 19:00 2º 15 17/06 19:00 3º 16 24/06 19:00 4º 9:00 6 de 6 Aula
© Copyright 2024