Download anexo ii - Digesto
Document related concepts
Transcript
UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado SAN LUIS, 11 de Diciembre de 2008.VISTO: El EXP-USL: 1109/2008, mediante el cual se solicita la protocolización del Curso de Posgrado: “INGENIERÍA DE SOFTWARE: PROGRAMACIÓN FUNCIONAL, FUNDAMENTOS Y APLICACIONES”; y CONSIDERANDO: Que el mencionado Curso se dicta en el ámbito de la Facultad de Ciencias Físico Matemáticas y Naturales del 1 al 6 de diciembre de 2008, bajo la responsabilidad del Dr. Carlos CAMARÃO de FIGUEIREDO del Departamento de Ciencias de la Computación, Universidad Federal de Minas Gerais, Belo Horizonte, Brasil y como Co-Responsable y Coordinador el Mg. Daniel Edgardo RIESCO de la Universidad Nacional de San Luis, con un crédito horario de 40 horas (presenciales: 20 hs; no-presenciales: 20 hs). Que la Comisión Asesora de Investigación, actuando como Comisión de Posgrado de la Facultad de Ciencias Físico Matemáticas y Naturales, luego de analizar el presente expediente, aconseja la protocolización del presente Curso como Curso de Perfeccionamiento. Que el Consejo de Posgrado de la Universidad Nacional de San Luis en su reunión del día 25 de Noviembre de 2008, luego de su tratamiento aprobó el dictado del mismo como Curso de Posgrado de Perfeccionamiento. Que corresponde su protocolización. Por ello y en uso de sus atribuciones EL RECTOR DE LA UNIVERSIDAD NACIONAL DE SAN LUIS RESUELVE: ARTÍCULO 1º.- Protocolizar el dictado del Curso de Posgrado de Perfeccionamiento: “INGENIERÍA DE SOFTWARE: PROGRAMACIÓN FUNCIONAL, FUNDAMENTOS Cpde RESOLUCIÓN Nº 1427/08-Rnnh 1 UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado Y APLICACIONES” en el ámbito de la Facultad de Ciencias Físico Matemáticas y Naturales del 1 al 6 de diciembre de 2008, bajo la responsabilidad del Dr. Carlos CAMARÃO de FIGUEIREDO del Departamento de Ciencias de la Computación, Universidad Federal de Minas Gerais, Belo Horizonte, Brasil y como Co-Responsable el Mg. Daniel Edgardo RIESCO (DNI Nº 16.316.797) de la Universidad Nacional de San Luis, con un crédito horario de 40 horas (presenciales: 20 hs; no-presenciales: 20 hs).ARTÍCULO 2º.- Aprobar el programa del Curso de referencia, de acuerdo al ANEXO de la presente disposición.ARTÍCULO 3º.- Comuníquese, insértese en el Libro de Resoluciones y archívese.RESOLUCIÓN Nº 1427/08-Rnnh 2 UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado ANEXO DENOMINACIÓN DEL CURSO: “INGENIERÍA DE SOFTWARE: PROGRAMACIÓN FUNCIONAL, FUNDAMENTOS Y APLICACIONES” UNIDAD ACADÉMICA RESPONSABLE: Facultad de Ciencias Físico Matemáticas y Naturales RESPONSABLE: Dr. Carlos CAMARÃO de FIGUEIREDO CO-RESPONSABLE Y COORDINADOR: Mg. Daniel Edgardo RIESCO CATEGORIZACIÓN: Perfeccionamiento CRÉDITO HORARIO TOTAL: 40 hs (20 hs. Presenciales; 20 hs. No-presenciales) DESTINATARIOS: Profesionales y alumnos con perfil de carreras informáticas CUPO: 40 personas CALENDARIO DE ACTIVIDADES: Del 1 de diciembre al 6 del diciembre del 2008. FECHA PREVISTA PARA ELEVAR LA NÓMINA DE ALUMNOS APROBADOS: Marzo de 2009 OBJETIVOS: Introducir y motivar a los estudiantes en relación a: 1) la novedad del paradigma funcional: la programación se utiliza desde una perspectiva matemática (funcional) no tradicional; 2) la expresividad de los lenguajes funcionales: permiten crear programas pequeños, rápidos y seguros; 3) la exploración del desarrollo de software con placer y de modo de permitir la aplicación de técnicas para solución de problemas. CONTENIDOS MÍNIMOS: Tipos algebraicos, definiciones de funciones sobre éstos con correspondencia de patrones (pattern-matching) Pruebas de corrección por inducción Funciones de orden superior Cpde RESOLUCIÓN Nº 1427/08-Rnnh Polimorfismo 3 UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado Sobrecarga de tipos, clases de tipos en Haskell, inferencia de tipos Evaluación perezosa Tipos abstractos de datos y módulos, uso de bibliotecas (específicamente Data Set y Data Map) Monadas y E/S funcional PROGRAMA: Introducción a la Programación Funcional (PF) Fundamentos Conceptos básicos Fundamentos de la programación funcional Semántica axiomática, operacional y denotacional Poder de expresión de la PF y sus limitaciones PF y sus aplicaciones Conceptos básicos de la programación funcional Definición de funciones, funciones sobre listas Pruebas por inducción Razonamiento sobre programas Uso de funciones de orden superior Polimorfismo Lenguajes de Programación en PF Haskell Introducción Tipos básicos Funciones de orden superior Módulos Tipos Abstractos Cpde RESOLUCIÓN Nº 1427/08-Rnnh Programación con evaluación Perezosa y Listas Infinitas 4 Haskell UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado Monadas Ingeniería de Software y Programación Funcional Introducción Análisis y sus aplicaciones en la Industria. Casos de Estudio. MODALIDADES DE DICTADO: Exposición conceptual - Realización de trabajos en el laboratorio análogos a los correspondientes a la Industria de Software SISTEMA DE EVALUACIÓN: Desarrollo de casos prácticos correspondientes a la temática. Comprobación formal mediante test de evaluación REQUISITOS DE APROBACIÓN Y PROMOCIÓN: Aprobación del desarrollo de los casos correspondientes al módulo Aprobación del test de comprobación formal o de los correspondientes recuperatorios Los alumnos deberán desarrollar, en horas no presenciales, y entregar un proyecto propuesto por el docente como caso de estudio sobre la temática dada en el curso. BIBLIOGRAFÍA: Thompson S., The Craft of Functional Programming, 2nd edition, Addison-Wesley, 1998. Bird R., Introduction to Functional Programming using Haskell, 2nd edition, Prentice Hall 1998. Mitchell J., Foundations for Programming Languages, MIT Press, 1996. Salus P. H, Functional and Logic Programming Languages, Volumen 4 de Handbook of Programming Languages. Indianapolis, Indiana: Macmillan Technical Publishing, 1998. Cousineau G. y Mauny M., The Functional Approach to Programming, Cambridge, University Press, 1998. O'Sullivan B., Stewart D. B. y Goerzen J., Real World Haskell, O'Reilly (a ser publicado en Noviembre del 2008) http://book.realworldhaskell.org, (última visita Octubre del 2008). Cpde RESOLUCIÓN Nº 1427/08-Rnnh 5 UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado Wadler P., The essence of functional programming, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 1992. Hutton G., Programming in Haskell, Cambridge University Press, Reino Unido, 2007. Doets K. y Van Eijck J., The Haskell Road to Logic, Maths and Programming, College Publications, Volumen 4, ISBN 0-9543006-9-6, 2004. Camarão C., Vasconcelos C., Figueiredo, L. y João N., Open and Closed World Approaches for Overloading: a Definition and Support for Coexistence, Journal of Universal Computer Science, Volumen 13, p. 874-890, 2007. Camarão C., Figueiredo, L. y Rodrigues H.. Mímico: A Monadic Combinator Parser Generator, Journal of the Brazilian Computer Society, Volumen. 9, n. 1, 2003. http://haskell.org, (última visita Octubre del 2008). ARANCEL: sin cargo para personal de la UNSL, caso contrario el alumno deberá abonar $150. FUENTES DE FINANCIAMIENTO: Proyecto CAFP-BA (UNSL-UFMG-Brasil), Maestría en Ingeniería de Software y FOMEI. RESOLUCIÓN Nº 1427/08-Rnnh 6 UNIVERSIDAD NACIONAL DE SAN LUIS Rectorado 7