Course Schedule
The following publications are referred to on
the schedule below:
- Kleinberg
- Jon Kleinberg and Éva Tardos, Algorithm Design,
Addison-Wesley, 2006.
- Jan. 25: Stable matching
- Readings
- Kleinberg, Chapter 1
- Slides
- Homework 1
- Jan. 30: Efficiency
- Readings
- Kleinberg, 2.1-2.2
- Slides
- Homework
2
- API for starter code
- StableMatcher.java
- Chooser.java
- Chosen.java
- Feb. 1: Asymptotic bounds on running time
- Readings
- Kleinberg, 2.3-2.5
- Slides
- Feb. 6: Introduction to graphs, Breadth-First
Search, Depth-First Search
- Readings
- Kleinberg, 3.1-3.2
- Slides
- Homework 3
- Feb. 8: Implementation of BFS and DFS
- Readings
- Kleinberg, 3.3-3.4
- Slides
- Feb. 13: O() Analysis of BFS and DFS,
Bipartiteness, Topological sort
- Readings
- Kleinberg, 3.5-3.6
- Feb. 15: Greedy Algorithms: Interval Scheduling
- Readings
- Kleinberg, 4.1
- Feb. 20: Greedy Algorithms: Interval
Partitioning, Minimizing Maximum Lateness
- Readings
- Kleinberg, 4.2
- Feb. 22: Dijkstra's Algorithm
- Readings
- Kleinberg, 4.4
- Feb. 27: Minimum Spanning Trees
- Readings
- Kleinberg, 4.5-4.6
- Feb. 29: Divide and Conquer Intro, Recurrence relations
- Readings
- Kleinberg, 5.1-5.2
- Mar. 5: Midterm 1 - no class
- Mar. 7: Counting Inversions
- Readings
- Kleinberg, 5.3
- Mar. 12: Closest Pair of Points
- Readings
- Kleinberg, 5.4
- Mar. 14: Dynamic Programming
- Readings
- Kleinberg, 6.1-6.2
- Mar. 26: Segmented Least Squares, Subset Sum
- Readings
- Kleinberg, 6.3-6.4
- Mar. 28: Sequence Alignment
- Readings
- Kleinberg, 6.6-6.7
- Apr. 2: Network Flow
- Readings
- Kleinberg, 7.1
- Apr. 4: Maximum Flow / Minimum Cut
- Readings
- Kleinberg, 7.2-7.3
- Apr. 9: Midterm 2
- Apr. 11: Bipartite Matching, Circulation with Demands
- Readings
- Kleinberg, 7.5, 7.7
- Apr. 16: Network Flow Applications
- Readings
- Kleinberg, 7.8-7.9
- Apr. 18: Polynomial Reducibility
- Readings
- Kleinberg, 8.1-8.2
- Apr. 23: NP-Completeness
- Readings
- Kleinberg, 8.3-8.4
- Apr. 25: Sequencing Problems and Partitioning Problems
- Readings
- Kleinberg, 8.5-8.6
- Apr. 30: Algorithms and CS