Introduction to Category Theory
Graham Hutton, University of Nottingham
Overview
Category theory is a mathematical approach to the study of algebraic
structure that has become an important tool in theoretical computing
science, particularly for semantics-based research.
The aim of this
course is to teach the basics of category theory, in a way that is
accessible and relevant to computer scientists. The emphasis is on
gaining a good understanding the basic definitions, examples, and
techniques, so that students are equipped for further study on
their own of more advanced topics if required.
Lectures
- Categories
(what is category theory,
why is it useful,
why is it useful to computing,
course topics,
graphs,
labelled graphs,
categories,
examples of categories);
- Functors
(graph homomorphisms,
labelled graph homomorphisms,
functors,
examples of functors,
functors as arrows,
functors with two arguments);
- Natural transformations
(commuting diagrams,
natural transformations,
natural transformations as arrows,
the Godement calculus);
- Special constructions
(isomorphisms,
initial objects,
terminal objects,
products,
co-products);
- Case study
(algebras, homomorphisms, homomorphisms as arrows, initial
algebras, catamorphisms, fusion, banana split).
Exercises
There are also some
exercises for each lecture.