Combinatorics studies the configurations that discrete objects can form: how many exist, which properties force a particular structure, and how one configuration can be transformed into another. This course follows that way of thinking into problems in computer science.
The 2024 course is organized around four themes: extremal set systems, randomized algorithms, geometry and graphs. Linear algebra is a recurring tool, and recreational puzzles provide a second route into the ideas.
A first course in discrete mathematics is useful preparation. The published course is largely self-contained, with comfort in proofs and elementary linear algebra as useful background.