Lectures
- Jan 15 - Introduction
- Jan 22 - Basic data structures (stack, queue, search tree, heap, hash table)
- Jan 29 - Advanced data structures (segment tree, disjoint set union (or union-find))
- Feb 5 - Advanced data structures (segment tree, disjoint set union (or union-find))
- Feb 12 - Problem solving techniques (full search)
- Feb 19 - Problem solving techniques (divide and conquer & greedy)
- Feb 26 - Problem solving techniques (greedy)
- Mar 5 - Problem solving techniques (dynamic programming)
- Mar 19 - Midterm Competition
- Mar 25 - More dynamic programming
- Apr 2 - And more dynamic programming
- Apr 9 - Graph algorithms
- Apr 16 - Graph algorithms + Game theory
- Apr 23 - Computational Geometry
- Apr 30 - Final Competition