Category Theory with Applications in Functional Programming: Ph.D. Course, October 2009

This course aims at giving you a solid introduction to category theory, and to apply concepts from category theory to gain insights in some advanced notions within functional programming.

This is a 2 ECTS Ph.D. course within the Computer Science and Engineering programme at the Doctoral School of Technology and Science at Aalborg University.



"Why should I listen to you?"

Through this course you will gain insight in the basic concepts of category theory, an organizing paradigm increasingly used in many areas of computer science and mathematics. This will hopefully help you to be more structured in your research and to avoid pitfalls. You will also gain an understanding of modern functional programming and its relations to other fields.


The course will take place on the following four days in October 2009, each day from 9:00 to 15:00:

  1. Thursday 1 October
  2. Wednesday 7 October
  3. Wednesday 21 October
  4. Wednesday 28 October

The course will subsume four kinds of activity: lectures and exercises in category theory, and lectures and exercises in functional programming. In the beginning we will do more category theory, and in the end the functional programming part will have more weight.

Lectures and exercises in category theory will be given and supervised by Uli Fahrenberg; those in functional programming by Rene R. Hansen.


In order to pass the course, we will require you to present the solution of a selected exercise to the other course participants. More details on this during the first lecture.


Category theory:

Functional programming:


For the category theory part of the course, we will use the following as a basic textbook:

We will also make use of material from the following sources: We will make copies from these books available if needed. Also, for the numerous examples of categorical structures and constructions in the course we will read other material; more about this later.

For the functional programming part of the course, we will mainly use the following:

Additional material

We will additionally make use of the following sources:


  1. First day programme
  2. Second day programme
  3. Third day programme
  4. Fourth day programme

Material for further study

Below follows a list of topics and material which can guide you further in exploring the land of categories and functional programming: