EN.601.630
Combinatorics & Graph Theory in Computer Science
This is a graduate level course studying the applications of combinatorics and graph theory in computer science. We will start with some basic combinatorial techniques such as counting and pigeon hole principle, and then move to advanced techniques such as the probabilistic method, spectral graph theory and additive combinatorics. We shall see their applications in various areas in computer science, such as proving lower bounds in computational models, randomized algorithms, coding theory and pseudorandomness. Required Course Background: discrete math, probability theory and linear algebra.
Spring 2026
Topics
- Counting and the pigeonhole principle
- Probabilistic method
- Spectral graph theory
- Additive combinatorics
- Lower bounds in computational models
- Randomized algorithms
- Coding theory and pseudorandomness
Readings
- Extremal Combinatorics: With Applications in Computer Science
- The Probabilistic Method
Sources
- Course catalogue ↗2026–2027
- Official course syllabus or instructor course website ↗Spring 2026
- Current public example independently checked against named reading references. Applies to the stated offering/section.