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

Homeworks