CMSC 27200 - Winter 2009
Theory of Algorithms


The second midterm will be Friday, March 6


General information

Instructor: Pedro F. Felzenszwalb
email: pff (at) cs.uchicago.edu
office hours: after class or by appointment

TA: Raghav Kulkarni
email: raghav (at) cs.uchicago.edu
office hours: M/W 4:00-5:00 in Eck 2 (basement of Eckhart)

Lecture: MWF 11:30-12:20 in Ryerson 251
Textbook: Algorithm Design by Kleinberg and Tardos

Other useful sources:
Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein
Algorithms by Dasgupta, Papadimitriou and Vazirani

Grading will be based on weekly homework assignments, two midterms and a final.


Homework

Students are encouraged to work together, but each student must independently write up their solutions. Write-ups must include the names of any collaborators and any sources used to help solve a problem. Do NOT search the web for homework problems!

Students may submit up to two assignments late. Late homework is due Friday after the original deadline.

Homework 1, due Wednesday January 14.
- Exercises 2,3 in Chapter 1.
- Exercise 6 in Chapter 2.

Homework 2, due Wednesday January 21.
- Exercises 2,5,9,17 in Chapter 4.

Homework 3, due Wednesday January 28.
- Exercise 8 in Chapter 2.
- Exercise 3 in Chapter 5.
- Finding high-capacity paths.

Homework 4, due Wednesday February 11.
- Exercises 1,4,7 in Chapter 6.
-
Sleep pattern.

Homework 5, due Monday February 23th.
- Exercises 1,2,4,5,8 in Chapter 7.

Homework 6, due Friday March 6th.
- Exercise 20 in Chapter 6.
- Exercises 1,6 in Chapter 8.


Approximate Syllabus

LectureTopicsReading
1Stable matchingsChapter 1
2Running time analysisChapter 2
3Interval SchedulingSection 4.1,4.2
4Minimum Spanning TreesSection 4.5
5Union-FindSection 4.6
6Dijkstra's shortest-pathsSection 4.4
7Sorting: lowerbound and mergesortSection 5.1,5.2
8Dynamic programming
9Shortest pathsSection 6.8
10Sequence alignmentSection 6.6
11Matrix chain multiplication
12Convex hulls
13Max-flow part 1Section 7.1
14Max-flow part 2Section 7.2
15Matchings, Image segmentationSection 7.5
16Circulations, etc.Section 7.7
17ReductionsSection 8.1
18Satisfiability, NPSection 8.2,8.3,8.4
19Set cover approximationSection 11.3
20Knapsack approximationSection 11.8
21Randomized 3-SAT approximationSection 13.4
22Global min-cuts (random contraction)Section 13.2
23QuicksortSection 13.5
24Local search for max-cutSection 12.4