Download anexo ii - Digesto

Document related concepts

Philip Wadler wikipedia , lookup

Haskell wikipedia , lookup

Simon Peyton Jones wikipedia , lookup

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