The course is an introduction to category theory emphasizing applications in computer science, especially functional programming, from a type theoretic perspective. We cover the basic concepts of category theory: categories, duality, functors and natural transformations, adjunctions, the Yoneda lemma, products and coproducts, cartesian closed categories, initial algebras and terminal coalgebras, limits and colimits, monads and comonads.

- Parts 1 (Prelimenaries) and 2 (Categories)
- Part 3 (Functors and natural transformations)
- Part 4 (Products, coproducts and exponentials)
- Part 5 (Initial algebras and terminal coalgebras)

Last modified: Wed Apr 17 18:46:36 BST 2019