| Moon's day | Woden' s day | Frigga's day | 
|---|
| 
| Jan 9 |  | Prolegomena. IntroductionSlides
 |  |  Pretest assigned
 |  | 
| Jan 11 |  | Algorithms and correctnessSlides
 |  |  Pretest due
 |  | 
| Jan 13 |  | Algorithms and correctness; algorithms and efficiencySlides
 |  |  
 |  | 
|  | 
| Jan 18 |  | Algorithms and efficiencySlides
 |  |  
 |  | 
| Jan 20 |  | Algorithms and efficiency |  |  Implementing ADTs assigned
 |  | 
| 
| Jan 23 |  | Abstract data typesSlides
 |  |  
 |  |  | 
| Jan 27 |  | Data structures; programming practicesSlides
 |  |  
 |  | 
| 
| Jan 30 |  | Case studies. Counting sortSlides
 |  |  Linear Sorting assigned
 |  | 
| Feb 1 |  | Radix sort |  |  Implementing ADTs due
 |  | 
| Feb 3 |  | Disjoint sets and array forestsSlides
 |  |  
 |  | 
| 
| Feb 6 |  | Priority queues and heapsSlides
 |  |  Linear Sorting due; Heaps assigned
 |  | 
| Feb 8 |  | N-sets and bit vectorsSlides
 |  |  Bit Vectors assigned
 |  | 
| Feb 10 |  | Graphs. Concepts and implementationSlides
 |  |  
 |  | 
| 
| Feb 13 |  | TraversalSlides
 |  |  Heaps due
 |  | 
| Feb 15 |  | Minimum spanning treesSlides
 |  |  Bit Vectors due; MST assigned
 |  | 
| Feb 17 |  | Minimum spanning tree |  |  
 |  | 
|  | 
| Feb 22 |  | Single source shortest pathsSlides
 |  |  MST due; SSSP assigned
 |  | 
| Feb 24 |  | Finishing SSSP |  |  SSSP due Mar 3
 |  | 
|  |  | 
| Mar 3 |  | Binary search trees. General BSTs and the balanced tree problemSlides
 |  |   BST Rotations assigned
 |  | 
|  |  |  | 
| 
| Mar 13 |  | Balanced BST problem, AVL treesSlides
 |  |  
 |  | 
| Mar 15 |  | AVL trees |  |  BST rotations due; AVL trees assigned
 |  |  | 
| 
| Mar 20 |  | Left-leaning red-black treesSlides
 |  |  AVL trees due; [Practice: LLRB trees]
 |  |  | 
| Mar 24 |  | Dynamic programming. IntroductionSlides
 |  |  
 |  | 
| 
| Mar 27 |  | Dynamic programming principlesSlides
 |  |  Traditional RB trees due
 |  | 
| Mar 29 |  | Dynamic programming algorithmsSlides
 |  |  
 |  |  | 
|  |  |  | 
| 
| Apr 10 |  | Hash tables. Introduction and separate chainingSlides
 |  |  Opt BSTs due; [separate chaining practice]
 |  | 
| Apr 12 |  | Open addressingSlides
 |  |  Open addressing assigned
 |  |  | 
| 
| Apr 17 |  | Perfect hashingSlides
 |  |  Perfect hashing assigned
 |  | 
| Apr 19 |  | Hash table performanceSlides
 |  |  Open addressing due
 |  | 
| Apr 21 |  | Strings. String sortsSlides
 |  |  
 |  | 
| 
| Apr 24 |  | TriesSlides
 |  |  Tries assigned
 |  | 
| Apr 26 |  | Regular expressionsSlides
 |  |  Perfect hashing due
 |  |  |