Skip to main navigation Skip to search Skip to main content

Functional Programming

Course

URL study guide

https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=2IPH0&collegejaar=2025&taal=en

Description

This course is about the theory of functional programming and some basic programming in Haskell. In the theoretical part we cover computing correct-by-construction recursive functions, polymorphic types, inductive types and co-inductive types. The theory connects directly to the programming practical, where you use basic inductive and co-inductive types to solve problems. 

Objectives

After this course, students are able to

  1. calculate a correct-by-construction recursive function based on a formal specification.
  2. improve the efficiency of recursive functions by means of accumulation and tupling.
  3. apply pointwise and pointfree equational reasoning.
  4. use polymorphic type inference to determine the most general type of a function.
  5. explain inductive and co-inductive data structures by means of functors, (co-)homomorphisms and initiality/finality.
  6. systematically define functions as catamorphisms and anamorphisms.
  7. to apply the techniques of cata-fusion, ana-fusion and hylo-fusion.
  8. implement the solution to a problem in a functional programming language.

Method of Assessment

Written examination
Course period1/09/1631/08/26
Course levelAdvanced
Course formatCourse