Checking date: 25/05/2022

Course: 2022/2023

Functional programming
Study: Bachelor in Computer Science and Engineering (218)

Coordinating teacher: FERNANDEZ ARREGUI, SUSANA

Department assigned to the subject: Department of Computer Science and Engineering

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 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40
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.