Checking date: 19/04/2024

Course: 2024/2025

Functional programming
Academic Program of Computer Engineering via Bachelor in Computer Engineering (Plan: 509 - Estudio: 218)

Coordinating teacher: FERNANDEZ ARREGUI, SUSANA

Department assigned to the subject: Computer Science and Engineering Department

Type: Electives
ECTS Credits: 6.0 ECTS


Requirements (Subjects that are assumed to be known)
Programming (Course: 1/ Semester: 1) Algorithms and data structures (Course: 1/ Semester: 2)
To Acquire the learning outcomes and competencies specified in the "Memoria Verifica" of the title
Skills and learning outcomes
Link to document

Description of contents: programme
- Functional programming. - Functions and expressions reductions. - Functional programming and type system. - Type classes. - Higher order functions. - Monadic programming. - Proof theory
Learning activities and methodology
Seminars and lectures supported by computer and audiovisual aids. Practical learning based on cases and problems, and exercise resolution. Individual and group or cooperative work with the option of oral or written presentation. Individual and group tutorials to resolve doubts and queries about the subject. Internships and directed laboratory activities.
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60

Calendar of Continuous assessment

Extraordinary call: regulations
Basic Bibliography
  • Graham Hutton. Programming in Haskell (2nd edition). Cambridge University Press. 2016
  • Richard Bird. Introduction to Functional Programming using Haskell (second edition). Prentice-Hall International. 1998
  • Richard Bird and Philip Wadler. Introduction to functional programming. Prentice-Hall. 1988
Additional Bibliography
  • 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

The course syllabus may change due academic events or other reasons.