Date |
Assignment |
Reading |
Subject |
20-Jan |
HW1 |
|
Administrivia; problems, instances, algorithms, and
programs |
25-Jan |
|
1.1-1.3 |
Basic concepts |
27-Jan |
|
1.4 |
Review basic data structures |
28-Jan |
Deadline
to add courses |
1-Feb |
|
2.1-2.2 |
Efficiency, resources, and what should affect them |
3-Feb |
HW1 due; HW2 |
|
Presentations & discussion on Euclid's game |
8-Feb |
|
|
Discuss HW1 |
10-Feb |
|
2.3-2.4 |
How to analyze an algorithm's efficiency |
15-Feb |
Deadline to drop courses |
15-Feb |
|
2.5-2.7 |
Loops and recursion |
17-Feb |
|
Appendix B |
Solving recurrence relations |
22-Feb |
HW2 due |
4.1-4.3 |
Selection (heap), Insertion (tree), and Mergesort |
24-Feb |
|
4.2, 4.6 |
Quicksort; some geometric examples |
1-Mar |
HW3 |
|
Homework, convex hulls, lower bounds... |
3-Mar |
|
5.1-5.3 |
DFS, BFS, topological sorting |
8-Mar |
|
5.5-5.6 |
More decrease-and-conquer algorithms |
10-Mar |
|
6.1-6.3 |
Instance simplification |
15-Mar |
HW3 due |
6.4-6.5 |
Representation change |
17-Mar |
|
6.6 |
Problem reduction |
19-27-Mar |
Spring
break; no classes |
28-Mar |
Deadline to withdraw from courses |
29-Mar |
|
7.1-7.2 |
Speed, for a price |
31-Mar |
|
7.1-7.2 |
String matching with preprocessing |
5-Apr |
|
7.3 |
Hashing |
7-Apr |
HW4 |
7.3, 8.1-8.2 |
More hashing; start on dynamic programming |
12-Apr |
|
8.3-8.4 |
More examples of dynamic programming |
14-Apr |
|
9.1-9.3 |
Greedy algorithms |
19-Apr |
|
|
Cryptography |
21-Apr |
|
10.1-10.2 |
Proving a problem is difficult |
26-Apr |
|
|
Computability and uncomputability |
28-Apr |
|
10.3 |
Complexity, P and NP, NC and friends |
3-May |
HW4 due |
2003 Final Exam |
Catch up and review |
12-May |
Final
exam, 10:30-12:30 |