Below are links to the lecture slides.
# | SLIDES | READINGS | DEMOS |
---|---|---|---|
1 | Introduction (course resources) | Preface | – |
2 | Stable Matching (Gale–Shapley) | Chapter 1 | Gale–Shapley |
3 | Algorithm Analysis (big O notation) | Chapter 2 | binary search |
4 | Greedy Algorithms I (basic techniques) | Chapter 4 | interval scheduling interval partitioning |
5 | Greedy Algorithms II (shortest paths and MSTs) | Chapter 4 | Dijkstra Prim, Kruskal, Borůvka Edmonds branching |
6 | Divide and Conquer I (sorting and selection) | Chapter 5 | merging quickselect |
7 | Divide and Conquer II (multiplication and FFT) | Chapter 5 | – |
8 | Dynamic Programming I (basic techniques) | Chapter 6 | – |
9 | Dynamic Programming II (edit distance, Bellman–Ford) | Chapter 6 | – |
10 | Duality Warmup (longest increasing subsequence) | – | – |
11 | Network Flow I (maximum flow theory) | Chapter 7 | Ford–Fulkerson |
12 | Network Flow II (maximum flow applications) | Chapter 7 | – |
13 | Intractablity I (poly-time reductions) | Chapter 8 | – |
14 | Intractablity II (P vs. NP, NP-completeness) | Chapter 8 | – |
15 | Intractablity III (coping with intractability) | Chapter 8 | independent set vertex cover |
Readings. All readings refer to Algorithm Design by Jon Kleinberg and Éva Tardos unless otherwise specified.
Advice. The slides are intended for the lecture presentations; for reference, read the indicated sections from Algorithm Design. An effective strategy is to skim the textbook before the lecture, then read it thoroughly soon afterwards. We recommend annotating the slides during lecture.
iClicker policy. Using an iClicker during lecture counts towards the participation component of your course grade. Using a classmate’s iClicker during lecture (or allowing someone else to use your iClicker during lecture) is prohibited.
Errata. Extra credit will be awarded for identifying any errata in the lectures slides and emailing the instructor.