Instructor: | Pedro F. Felzenszwalb |
Email: | pff (at) cs.uchicago.edu |
Lecture: | MWF 1:30-2:20 Ryerson 251 |
Office hours: | Tuesday 4:00-5:00 in Ryerson 162C |
TAs
Paolo Codenotti |
Email: paoloc (at) cs.uchicago.edu |
Office hours: Monday 2:30-4:30 in Eckhart 2A (basement). |
Parinya Chalermsook |
Email: parinya (at) cs.uchicago.edu |
Office hours: Wednesday and Friday 3:30-4:30 in Ryerson 162. |
Textbook: Algorithm Design - Jon Kleinberg and Eva Tardos
Grading will be based on weekly homework assignments (50%) and two exams (50%).
Lecture | Topics | Reading |
1 | Stable matchings | Chapter 1 |
2 | Running time analysis | Chapter 2 |
3 | Interval Scheduling | Section 4.1,4.2 |
4 | Minimum Spanning Trees | Section 4.5 |
5 | Union-Find | Section 4.6 |
6 | Dijkstra's shortest-paths | Section 4.4 |
7 | Sorting: lowerbound and mergesort | Section 5.1,5.2 |
8 | Closest pair of points / DP | Section 5.4 |
9 | Shortest paths, Sequence alignment | Section 6.8,6.6 |
10 | Convex hulls | |
11 | Max-flow part 1 | Section 7.1 |
12 | Max-flow part 2 | Section 7.2 |
13 | Matchings, Image segmentation | Section 7.5 |
14 | Circulations, etc. | Section 7.7 |
15 | Reductions | Section 8.1 |
16 | Satisfiability, NP | Section 8.2,8.3,8.4 |
17 | Set cover & Vertex cover approximation | Section 11.3,11.4 |
18 | Knapsack approximation | Section 11.8 |
19 | Randomized 3-SAT approximation | Section 13.4 |
20 | Global min-cuts (random contraction) | Section 13.2 |
21 | Quicksort | Section 13.5 |
22 | Local search for max-cut | Section 12.4 |
23 | Matrix search, min-filter | |
24 | Matrix chain multiplication |
Homework 1, due Wednesday January 11.
- Exercises 2,3,4 in Chapter 1 of the textbook.
- Extra credit: Show that the greedy algorithm for interval scheduling
that selects the shortest valid interval in each step is not "too
bad".
Homework 2, due Wednesday January 18.
- Exercises 2,5,8,9,17,26 in Chapter 4 of the textbook.
Homework 3, due Wednesday January 25.
Homework 4, due Wednesday February 1.
Homework 5 due Wednesday February 8.
Homework 6 due Wednesday February 22.
Homework 7 due Friday March 3.
- Exercise 8 in Chapter 2.
- Exercise 3 in Chapter 5.
- Merging sorted arrays.
- Finding high-capacity paths.
- Exercises 1,4,6,20 in Chapter 6.
- Sleep pattern.
- Exercise 3 in Chapter 4.
- Exercise 6 in Chapter 5.
- Exercises 1,2,7 in Chapter 7.
- k-connected graphs.
Extra credit: Exercise 7 in Chapter 5 (please turn in separately from the rest).
- Exercises 1,6,14,29 in Chapter 8.
- Exercises 1,10,11 in Chapter 11.
- Exercises 1,9,12 in Chapter 13.
Challenge problems
1. Cyclic string alignmentMidterm: Wednesday, February 8
Practice problems
Problem/Review sessions: Monday and Tuesday (February 6,7) at 5pm in Ryerson 251