UW Category Theory Class
I will be leading a summer class on introductory category theory at the University of Washington, aimed at programming language researchers. It will cover the basics of the subject and be motivated throughout with examples and applications from programming languages and computer science in general. It is not expected that participants do any outside reading or work, but optional homework problems will be assigned for those interested. The class will be in-person only, and is intended to be highly interactive and hopefully fun for everyone.
Dates, Time and Location
The class will meet Tuesdays 11am-12noon starting July 11 (see the syllabus below for details). The location is Gates (CSE2) 271. At 12noon, lunch will be provided in the PLSE lab. The final class is September 12.
We will primarily follow Pierce, at least for the basic outline of topics. Section numbers are for his book.
Outlines of Classes with Exercises
Machines, Monoids, Categories by Gilbert Bernstein
All of these are available online, but I have only provided links for those that are officially free.
Benjamin Pierce, Basic Category Theory for Computer Scientists, MIT Press, 1991.
Concise and efficient, with computer science examples sprinkled throughout.
Saunders Mac Lane, Categories for the Working Mathematician, Springer, 1978.
The standard reference by one of the founders of the subject.
Steve Awodey, Category Theory, 2nd Edition. Oxford University Press, 2010.
My favorite text. Aimed mostly at mathematicians but contains some CS examples.
Emily Riehl, Category Theory in Context, Dover, 2016.
Also aimed at mathematicians and a bit heavier-going than Awodey.
Michael Barr and Charles Wells, Category Theory for Computer Science, 1990.
I've been unable to get excited about this book, but it is free and worth taking a look at.
Brendan Fong and David Spivak, Seven Sketches in Compositionality: An Invitation to Applied Category Theory, 2018.
Applications including to databases.
Jeremy Gibbons, Calculating Functional Programs, Springer LNCS 2297, 2002.
Lecture notes for a summer course. Beautifully and clearly written, the best introduction I've seen to the categorical representation of datatypes and folds.
Ralf Hinze, Generic Programming with Adjunctions, Springer LNCS 7470, 2012.
Lecture notes for a summer course. One of several long articles by Hinze on applications of adjoints. Starts with a very condensed introduction to category theory.