- Jan 22: Course Overview, Stable Matching
- Reading: Kleinberg Chapter 1
- Slides

- Jan 24: Stable Matching, Efficiency
- Reading: Kleinberg, 2.1-2.2
- Slides
- Homework 1

- Jan 28: Fourth hour
- Kleinberg, Chapter 1, Exercise 4

- Jan 29: Asymptotic Growth
- Slides

- Jan 31: Analyzing Running Time of Algorithms
- Reading: Kleinberg, 2.3-2.5
- Slides
- Sipser article on P vs NP
- Homework 2

- Feb 4: Fourth Hour
- Kleinberg. Chapter 1, Exercise 6 (ship scheduling)

- Feb 5: Graphs, BFS, DFS
- Reading: Kleinberg, Chapter 3
- Slides

- Feb 7: BFS/DFS Implementation & Running Time
- Slides
- Homework 3

- Feb 11: Fourth Hour
- Homework 3

- Feb 12: Directed Graphs, DAGS, and Topological Sort
- Reading: Kleinberg 3.5, 3.6
- Broder et al., Graph structure in the web
- Slides

- Feb 14: Greedy Algorithms: Interval Scheduling
- Reading: Kleinberg 4.1, 4.2
- Slides
- Homework 4

- Feb 18: Fourth Hour
- Homework 4 Problem 1

- Feb 19: Greedy; Dijkstra
- Reading: Kleinberg 4.4
- Slides

- Feb 21: Dijkstra; Minimum Spanning Tree
- Reading: Kleinberg 4.5
- Slides

- Feb 25: Fourth hour
- Homework 4 problems

- Feb 26: Minimum Spanning Tree
- Midterm 1 out

- Feb 28: Union Find
- Slides

- Mar 5: Divide and Conquer Intro, Solving Recurrences
- Reading: Kleinberg, Chapter 5.1–5.2
- Slides
- Homework 5

- Mar 7:
~~Counting Inversions~~, Closest Pair of Points - Reading: Kleinberg, Chapter 5.3–5.4
- Slides

- Mar 11: Fourth Hour
- Worked on HW5

- Mar 12: Dynamic Programming Intro
- Reading: Kleinberg, Chapter 6, up through 6.2
- Slides
- Homework 6

- Mar 14: Weighted Interval Scheduling, Segmented Least Squares
- Reading: Kleinberg, 6.3
- Slides

- Week of March 18: SPRING BREAK

- Mar 25: Fourth Hour
- Work on HW6

- Mar 26: Segmented Least Squares, Subset Sum
- Reading: Kleinberg, 6.4
- Slides
- Notes
- Homework 7

- Mar 28: Shortest Paths with Negative Weights: Bellman-Ford Algorithm
- Reading: Kleinberg, 6.8

- April 1: Fourth Hour
- Work on HW7

- April 2: Shortest Paths with Negative Weights: Bellman-Ford Algorithm
- Reading: Kleinberg, 6.8
- Midterm #2 out in class; due Tuesday 4/9
- Slide (yes, just one)

- April 4: Network Flow Intro
- Reading: Kleinberg, 7.0, 7.1
- Slides

- April 8: Fourth hour canceled (due to Midterm #2)

- April 11: Max-Flow Min-Cut
- Reading: Kleinberg, 7.2
- Homework 8
- Slides
- Notes

- April 15: Fourth hour
- Reading: Kleinberg, 7.5
- Cover Bipartite Matching, and work on HW8 Problem #5

- April 16: Flow Applications: Circulation, Airline Scheduling, Graph Cuts
- Reading: Kleinberg 7.7, 7.9, 7.10
- Slides
- Graph Cuts Slides

- April 18: Polynomial Reducibility
- Reading: Kleinberg 8, 8.1, 8.2
- Slides
- Homework 9 (due April 29 at 10 am)

- April 22: Fourth Hour
- Homework #9

- April 23: NP-Completeness
- Reading: Kleinberg 8.3, 8.4
- Slides

- April 25: Conclusion
- Slides