| Date | Lecture | Readings to be Completed Before Class |
| Tu, 9/2 |
Introduction: Algorithms and Asymptotic Analysis | §0 |
| Th, 9/4 | Euclid's Algorithm | §1.1 - §1.2 |
| | |
| Tu, 9/9 | Primality Testing and
RSA | §1.3 - §1.4; HW 1 due |
| Th, 9/11 | Universal Hashing | §1.5 |
| | |
| Tu,9/16 | Divide and Conquer:
Mergesort and Recurrence Equations | HW 2
due; Notes on Induction;
§2.1 - §2.3 |
| Th, 9/18 | Ω(nlog n) Sorting Lower Bound and Linear-Time
Sorting | §2.4 |
| | |
| Tu,9/23 | More Divide and
Conquer |
HW 3 due; §2.5 |
| Th, 9/25 | Graphs, Undirected Depth First
Search | §3.1 - §3.2 |
| | |
| Tu, 9/30 | no class: (Rosh Hashanah) | |
| Th, 10/2 | Directed Depth First
Search | HW 4 due; §3.3 |
| | |
| Tu, 10/7, 7:15 to 8:45 pm | First
Test | Study Guide HAS 134 |
| Th, 10/9 | Dijkstra's Algorithm | §4.1 - §4.4 |
| | |
| Th, 10/16 | Priority
Queues and Shortest Paths in Presence of Negative Edges | HW 5 due; §4.5 - §4.7 |
| | |
| Tu, 10/21 | Greedy Algorithms: Minimum Spanning
Tree | HW 6
due; §5.1 |
| Th, 10/23 | More Greedy
Algorithms | §5.2 - §5.4 |
| | |
| Tu, 10/28 | Dynamic Programming | HW 7
due; §6.1 - §6.5 |
| Th, 10/30 | More Dynamic Programming | §6.6 - §6.7 |
| | |
| Tu, 11/4 | Linear Programming | HW 8
due; §7.1 |
| Th, 11/6 | Linear Programming | §7.2 - §7.3 |
| | |
| Wed, 11/12, 7:15 to 8:45 pm | Second
Test | Study
Guide; HAS 134 |
| Th, 11/13 | Duality in Linear Programming | §7.4 - §7.5 |
| | |
| Tu, 11/18 | The Simplex Algorithm | HW 9
due; §7.6 |
| Th, 11/20 | P and NP | §8.1 - §8.2 |
| | |
| Tu, 11/25 | NP Completeness | §8.3 |
| Th, 11/27 | Thanksgiving |  |
| | |
| Tu, 12/2 | Coping with NP
Completeness | HW 10
due; §9.1 |
| Th, 12/4 | Coping with NP Completeness | §9.2 |
| | |
| Tu, 12/9 | Coping with NP Completeness | HW 11
due; §9.3 |
| Th, 12/11 | Conclusions | |
| Wed, 12/17, 4:00 pm | Final Exam | Study
Guide; ELAB 303 |
| | |