Última actualización: 30/08/2022


Curso Académico: 2022/2023

Programación Funcional
(18283)
Grado en Matemática Aplicada y Computación (Plan: 433 - Estudio: 362)


Coordinador/a: FERNANDEZ ARREGUI, SUSANA

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación (Curso: 1/ Cuatrimestre: 1) Técnicas de Programación (Curso: 1/Cuatrimestre: 2)
Objetivos
Adquirir los resultados del aprendizaje y las competencias especificados en la Memoria Verifica del título
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1.- Paradigma de programación funcional. 2.- Funciones y reducción de expresiones. 3.- Programación funcional y sistemas de tipos. 4.- Clases de tipos. 5.- Funciones de orden superior. 6.- Programación monádica. 7.- Isomorfismo Curry-Howard
Actividades formativas, metodología a utilizar y régimen de tutorías
AF1.CLASES TEÓRICO-PRÁCTICAS. Conocimientos que deben adquirir los alumnos.Estos recibirán las notas de clase y tendrán textos básicos de referencia para facilitar el seguimiento de las clases y el desarrollo del trabajo posterior.Se resolverán ejercicios, prácticas problemas por parte del alumno y se realizarán talleres y prueba de evaluación para adquirirlas capacidades necesarias.Para asignaturas de 6 ECTS se dedicarán 44 horas como norma general con un 100% de presencialidad.(excepto aquellas que no tengan examen que dedicarán 48 horas) AF2.TUTORÍAS. Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor. Para asignaturas de 6 créditos se dedicarán 4 horas con un 100% de presencialidad. AF3.TRABAJO INDIVIDUAL O EN GRUPO DEL ESTUDIANTE. Para asignaturas de 6 créditos se dedicarán 98 horas 0% presencialidad. AF8.TALLERES Y LABORATORIOS. Para asignaturas de 3 créditos se dedicarán 4 horas con un 100% de presencialidad. Para las asignaturas de 6 créditos se dedicarán 8 horas con un 100% de presencialidad. MD1.CLASE TEORÍA. Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporcionan los materiales y la bibliografía para complementar el aprendizaje de los alumnos. MD2.PRÁCTICAS. Resolución de casos prácticos, problemas, etc. planteados por el profesor de manera individual o en grupo. MD3.TUTORÍAS. Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor. Para asignaturas de 6 créditos se dedicarán 4 horas con un 100% de presencialidad. MD6.PRÁCTICAS DE LABORATORIO. Docencia aplicada/experimental a talleres y laboratorios bajo la supervisión de un tutor.
Sistema de evaluación
  • Peso porcentual del Examen Final 60
  • Peso porcentual del resto de la evaluación 40

Bibliografía básica
  • Graham Hutton. Programming in Haskell (2nd edition). Cambridge University Press. 2016
  • Richar Bird. Introduction to Functional Programming using Haskell, Second edition. Prentice-Hall. 1998
  • Richard Bird and Philip Wadler. Introduction to Functional Programming. Prentice-Hall . 1988
Bibliografía complementaria
  • Bartosz Milewski. Category Theory for Programmers. Edited by Igal Tabachnik.
  • Miran Lipovaca. Learn You a Haskell for Great Good!: A Beginner's Guide . No Starch Press. 2011

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.