Skip to content
Competitive Programming

Lecture resources

The published collection contains 54 lectures across ten weeks. Each week below links to the original course videos and the recovered lecture notes. Notes preserve their original transcript wording; they have not been reassigned to a particular annual run.

Week 1 · Ad hoc problems and implementation

Lecture videos

Notes

Week 2 · Searching and sorting

Lecture videos

Notes

Week 3 · Greedy algorithms

Lecture videos

Notes

Week 4 · Disjoint-set union

Lecture videos

Notes

Week 5 · Graph traversal

Lecture videos

Notes

Week 6 · Shortest paths

Lecture videos

Notes

Week 7 · Minimum spanning trees

Lecture videos

Notes

Week 8 · Network flow

Lecture videos

Notes

Week 9 · Flow duality and cuts

Lecture videos

Notes

Week 10 · Dynamic programming

Lecture videos

Notes