Introduction to Category Theory


Category theory is an abstract mathematical language which spans many fields of research. It is used to define very general concepts, which allows one to transfer ideas from one domain to another. Although it originates in algebraic topology, its use has spread fast. Nowadays, it also plays a prominent role in theoretical computer science.

We will do the basics of category theory (see below for topics). The aim is that you will be able to read and understand work which uses it. I will try to discuss the relevant topics for computer science.


  • Categories and Functors
  • Natural transformations
  • Products and Coproducts and …
  • Modelling Automata as Coalgebras
  • Induction and Coinduction
  • Adjoints
  • Monads
  • Limits and Colimits (if time allows)
  • The Yoneda lemma (if time allows)


We will start from the basics. So only an interest in mathematical structures is necessary.


Joshua Moerman is currently a postdoctoral researcher in the i2 group of the RWTH. See his personal page for more information.

Tentative schedule

Lectures will be on Wednesdays 15:30 – 17:30 in the UnRAVeL room 4025a.

123 October (2019)Introduction. Categories and Functors.
230 OctoberTBD
36 NovemberTBD
413 NovemberTBD
520 NovemberTBD
627 NovemberTBD