CS Department   Mt. Holyoke College
CS 312
Algorithm Design

Course Schedule

The following publications are referred to on the schedule below:

Kleinberg
Jon Kleinberg and Éva Tardos, Algorithm Design, Addison-Wesley, 2006.
Jan. 31: Stable matching
Readings
Kleinberg, Chapter 1
Slides
Homework
Solution
Feb. 5: Proof by contradiction, Asymptotic bounds on running time
Readings
Kleinberg, 2.1-2.3
Slides
Feb. 7: Priority queues
Readings
Kleinberg, 2.4-2.5
Slides
Homework
Solution
Feb. 12: Graphs
Readings
Kleinberg, 3.1-3.2
Slides
Feb. 14: Graphs
Readings
Kleinberg, 3.3
Slides
Homework
Solution
Feb. 19: Bipartite Graphs and Directed Graphs
Readings
Kleinberg, 3.4-3.6
Slides
Feb. 21: Greedy Algorithms
Readings
Kleinberg, 4.1
Slides
Homework
Solution
Feb. 26: Greedy Algorithms
Readings
Kleinberg, 4.2
Slides
Feb. 28: Greedy Algorithms
Readings
Kleinberg, 4.4-4.5
Slides
Homework
Solution
Mar. 4: Union-Find
Readings
Kleinberg, 4.6
Slides
Mar. 6: Recurrence Relations
Readings
Kleinberg, 5.1-5.3
Slides
Mar. 11: Divide and Conquer
Readings
Kleinberg, 5.4
Slides
Mar. 13: Midterm 1
Covers material through Chapter 4
Sample midterm
Sample midterm solution
Midterm solution
Mar. 25: Dynamic Programming
Readings
Kleinberg, 6.1-6.2
Slides
Mar. 27: Segmented Least Squares
Readings
Kleinberg, 6.3
Slides
Homework
Solution
BankCard.java
BankCard.h
BankCard.cpp
Segmented Least Squares Implementation
Display.java
LineSegment.java
Point.java
PointSet.java
SegmentedLeastSquares.java
Apr. 1: Subset Sum
Readings
Kleinberg, 6.4
Slides
Apr. 3: Sequence Alignment
Readings
Kleinberg, 6.6
Slides
Homework
Solution
Apr. 8: Linear Space Sequence Alignment
Readings
Kleinberg, 6.7
Slides
Apr. 10: Network Flow
Readings
Kleinberg, 7.1
Slides
Apr. 15: Midterm Review
Apr. 17: Midterm 2
Covers material in Chapters 5 and 6
Sample midterm
Sample midterm solution
Midterm solution
Apr. 22: Maximum Flow / Minimum Cut
Readings
Kleinberg, 7.2
Slides
Apr. 24: Network Flow Applications
Readings
Kleinberg, 7.5, 7.7-7.9
Slides
Homework
Solution
Apr. 29: Scaling Maximum Flow
Readings
Kleinberg, 7.3
Slides
May 1: Polynomial Reducibility and NP
Readings
Kleinberg, 8.1-8.2
Slides
May 6: NP-Completeness
Readings
Kleinberg, 8.3-8.4
Final
Sample final
Sample final solution