Daily preparation guide
Study the material listed in the preparation section prior to
attending class that day. Try to formulate precise questions concerning
the parts you don't understand or the importance of the material.
If you come across some really difficult material, try searching
the web for alternative explanations.
Thursday, January 11
Introduction:
Tuesday, January 16
Preparation:

Chapter 3, Growth of Functions
Thursday, January 18
Tuesday, January 23
Prerequisite exam
Thursday, January 25
Preparation:
Programming assignment #0 due
Tuesday, January 30
Preparation:
Thursday, February 1
Selfbalancing trees, continued
Programming assignment #0, resubmission #1 due
Tuesday, February 6
Preparation:
Thursday, February 8
Binomial and Fibonacci Heaps, continued
Programming assignment #0, resubmission #2 due
Programming assignment #1 due
Tuesday, February 13
Preparation:
Thursday, February 15
Preparation:
Programming assignment #0, resubmission #3 due
Programming assignment #1, resubmission #1 due
Tuesday, February 20
First concept exam:

Solving recurrences

Selfbalancing search trees

Binomial and Fibonacci heaps

Disjoint sets

Graphs and graph exploration
Thursday, February 22
Preparation:
Programming assignment #0, final resubmission due
Programming assignment #1, resubmission #2 due
Tuesday, February 27
Preparation:
Thursday, March 1
Preparation:
Programming assignment #1, resubmission #3 due
Tuesday, March 6
Dynamic programming, continued
Thursday, March 8
Preparation:
Programming assignment #1, final resubmission due
Programming assignment #2 due
Tuesday, March 13
Spring break
Thursday, March 15
Spring break
Tuesday, March 20
Medians and order statistics, continued
Thursday, March 22
Preparation:
Programming assignment #2, resubmission #1 due
Tuesday, March 27
Second content exam:

Minimum spanning trees

Shortest paths

Dynamic programming (including memoization)

Linear time selection

Lower bounds for comparison sorts
Wednesday, March 28
Last day to drop a class
Thursday, March 29
Preparation:
Programming assignment #2, resubmission #2 due
Programming assignment #3 due
Tuesday, April 3
Preparation:
Thursday, April 5
Preparation:
Programming assignment #2, resubmission #3 due
Programming assignment #3, resubmission #1 due
Tuesday, April 10
Amortized analysis, continued
Thursday, April 12
Preparation:
Programming assignment #2, final resubmission due
Programming assignment #3, resubmission #2 due
Tuesday, April 17
Preparation:
Thursday, April 19
P, NP, and NPcompleteness, continued
Programming assignment #3, resubmission #3 due
Tuesday, April 24
Dead week
Thursday, April 26
Dead week, last day of class
Programming assignment #3, final resubmission due
Friday, April 27
Last day to withdraw from the term