Schedule
| Week | Day | Date | Topic | Reading Due | Assignment Due |
| 1 | M | Aug 30 | Intro to the course | ||
| T | Aug 31 | Warm up: Insertion sort and analysis | Chapter 1, 2.1 - 2.2 | ||
| W | Sep 1 | Correctness of insertion sort | |||
| F | Sep 3 | Correctness of merge sort | 2.3 | ||
| 2 | M | Sep 6 | Asymptotic notation | Chapter 3 | |
| T | Sep 7 | Asymptotic notation | |||
| W | Sep 8 | Binary search trees | 12.1 - 12.3 | ||
| F | Sep 10 | Binary search trees | HW 1 | ||
| 3 | M | Sep 13 | Binary search trees | ||
| T | Sep 14 | Binary heaps | 6.1 - 6.3 | ||
| W | Sep 15 | Binary heaps | |||
| F | Sep 17 | Heapsort | 6.4 | ||
| 4 | M | Sep 20 | Priority queues | 6.5 | |
| T | Sep 21 | Divide and conquer | 4.0 - 4.1 | ||
| W | Sep 22 | Solving recurrences | 4.3 - 4.4 | HW 2 | |
| F | Sep 24 | Master theorem | 4.5 | ||
| 5 | M | Sep 27 | Quicksort | 7.1 - 7.2 and handout | |
| T | Sep 28 | Lab day | |||
| W | Sep 29 | Correctness of Quicksort | HW 3 | ||
| F | Oct 1 | Efficiency of Quicksort | 7.3 - 7.4 | ||
| 6 | M | Oct 4 | Exam 1 | ||
| T | Oct 5 | Hash tables | 11.1 - 11.2 | ||
| W | Oct 6 | Open addressing and hash functions | 11.3 - 11.3.2, 11.4 | ||
| F | Oct 8 | Review exam | |||
| 7 | M | Oct 11 | Efficiency of hashing | HW 4 | |
| T | Oct 12 | Efficiency of hashing | |||
| W | Oct 13 | Disjoint set data structures | 21.0 - 21.3 | ||
| F | Oct 15 | Disjoint set data structures | HW 5 | ||
| M-T | Oct 18-19 | F a l l S t u d y B r e a k | |||
| 8 | W | Oct 20 | Graphs | B.4, 22.1 | |
| F | Oct 22 | Breadth first search | 22.2 | ||
| M | Oct 25 | Depth first search | 22.3 | ||
| T | Oct 26 | Minimum spanning trees and Kruskal's algorithm | 23.1 - 23.2 | ||
| 9 | W | Oct 27 | Prim's algorithm | 23.2 | HW 6 |
| F | Oct 29 | No class | |||
| M | Nov 1 | Single source shortest paths and the Bellman-Ford algorithm | 24.0 - 24.1 | ||
| T | Nov 2 | Dijkstra's algorithm | 24.3 and handout | ||
| 10 | W | Nov 3 | |||
| F | Nov 5 | Dynamic programming | 15.0 - 15.1 and handout | HW 7 | |
| M | Nov 8 | No class | |||
| T | Nov 9 | No class | |||
| 11 | W | Nov 10 | Rod cutting problem, cont. | ||
| F | Nov 12 | Exam 2 | |||
| M | Nov 15 | Matrix chain multiplication | 15.2 | ||
| T | Nov 16 | Matrix chain multiplication | |||
| 12 | W | Nov 17 | Longest common subsequence | 15.3 - 15.4 | |
| F | Nov 19 | Smith-Waterman algorithm | HW 8 | ||
| M-F | Nov 22-26 | T h a n k s g i v i n g B r e a k | |||
| M | Nov 29 | Red-black trees | 13.1 | ||
| T | Nov 30 | Red-black trees | 13.2 | ||
| 13 | W | Dec 1 | Course evaluations Red-black trees |
13.3 and handouts | |
| F | Dec 3 | Red-black trees | 13.4 and handout | ||
| M | Dec 6 | Huffman codes | 16.3 | HW 9 | |
| T | Dec 7 | Multithreaded algorithms | 27.1 | ||
| 14 | W | Dec 8 | Multithreaded algorithms | ||
| F | Dec 10 | Multithreaded algorithms | |||
| M | Dec 13 | Exam 3 | |||
| T | Dec 14 | HW 10 | |||
| M | Dec 20 | Final Exam (9-11am) | |||
