Checking date: 19/04/2024


Course: 2024/2025

Functional programming
(19485)
Bachelor in Computer Science and Engineering (Plan: 489 - Estudio: 218)


Coordinating teacher: FERNANDEZ ARREGUI, SUSANA

Department assigned to the subject: Computer Science and Engineering Department

Type: Electives
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Programming (Course: 1/ Semester: 1) Algorithms and data structures (Course: 1/ Semester: 2)
Objectives
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.