skip to primary navigationskip to content

Department of Computer Science and Technology

Category Theory


Course pages 2023–24

Category Theory



  • Lecture 1 Introduction; some history; content of this course. Definition of category. The category of sets and functions. Commutative diagrams. Alternative definitions of category.
  • Lecture 2 Examples of categories: pre-ordered sets and monotone functions; monoids and monoid homomorphisms; a pre-ordered set as a category; a monoid as a category. Definition of isomorphism.
  • Lecture 3 Terminal objects. The opposite of a category and the duality principle. Initial objects. Free monoids as initial objects.
  • Lecture 4 Binary products and coproducts.
  • Lecture 5 Exponential objects: in the category of sets and in general. Cartesian closed categories: definition and examples.
  • Lecture 6 Intuitionistic Propositional Logic (IPL) in Natural Deduction style. Semantics of IPL in a cartesian closed pre-ordered set.
  • Lecture 7 Simply Typed Lambda Calculus (STLC). Semantics of STLC types in a cartesian closed category (ccc).
  • Lecture 8 Semantics of STLC terms as morphisms in a ccc. Capture-avoiding substitution and its semantics in a ccc.
  • Lecture 9 Soundness of the ccc semantics for beta-eta equality of lambda terms. The internal language of a ccc. Free cccs. The Curry-Howard-Lawvere/Lambek correspondence.
  • Lecture 10 Functors. Contravariance. Identity and composition for functors. Size: small categories and locally small categories. The category of small categories.
  • Lecture 11 Natural transformations. Functor categories. The category of small categories is cartesian closed.
  • Lecture 12 Adjunctions. Examples of adjoint functors. Hom functors. Natural isomorphisms.
  • Lecture 13 Theorem characterizing the existence of right (respectively left) adjoints in terms of a universal property.
  • Lecture 14 Dependent types. Dependent product sets and dependent function sets as adjoint functors.
  • Lecture 15 Presheaf categories. The Yoneda lemma. Presheaf categories are cartesian closed.
  • Lecture 16 Moggi's computational lambda calculus and its categorical semantics using (strong) monads. Notions of computation. Monads and adjunctions.


Solution notes for the exercises will be posted on the course Moodle page.

Example classes

The course has one-hour example classes by Sanjiv Ranchod and Dima Szamozvancev in WGB LT2 to provide help with the exercises as follows:

  • Wednesday November 8 2023 4-5 pm
  • Wednesday November 15 2023 10-11 am
  • Wednesday November 22 2023 4-5 pm
  • Wednesday November 29 2023 4-5 pm

Details of the arrangements for these sessions will be on the course Moodle page.

Please use the Discussion Forum on the course Moodle page if you have questions about the course material or the exercise sheets.

Additional material

See the syllabus for the recommended reading list.

The classic text on category theory is:

  • Mac Lane, Saunders. Categories for the Working Mathematician. Graduate Texts in Mathematics 5, second ed. (Springer, 1988), ISBN 0-387-98403-8.
It is definitely worth looking at if you are feeling mathematically mature.

Another mathematically-oriented but simpler text (with its roots in the long-running course on Category Theory for Part III of the Mathematical Tripos) is:

Further material: