Rough Schedule

This is an attempted schedule for the course and semester. It may be that we fall behind my plans for the course and the semester

          Cormen      
Week# Date Day Break? Topic Pre-reading Extra Resources HW Out HW Due
0 1/18/23 Wednesday   Intro, Background & Language        
1 1/23/23 Monday   DSSL2 Q&A, Linked lists, Arrays   Bhargava Ch. 2-pg32    
1 1/25/23 Wednesday   ADTs, Stack and Queue     HW1  
2 1/30/23 Monday   ADTs, Stack and Queue        
2 2/1/23 Wednesday   Asymptotic Analysis and Complexity Ch. 2, Ch. 3-3.2†‡ Bhargava Ch. 1 WS1 HW1
3 2/6/23 Monday   DSSL2 Classes, Queues, Contracts        
3 2/8/23 Wednesday   Asymptotic Analysis and Complexity, Sorting Ch. 2, Ch. 3-3.2     WS1
4 2/13/23 Monday   Simple Sorting Routines        
4 2/15/23 Wednesday   Quicksort Ch. 7 Bhargava Ch. 4 HW2  
5 2/20/23 Monday   Sort Remainders: Merge, Stable, Compr Ch. 2, redux MergeSort    
5 2/22/23 Wednesday   Dictionary ADTs, 1/2 Hash Tables       HW2
6 2/27/23 Monday   Hash tables 2/2 Ch. 11 Bhargava Ch. 5 WS2  
6 3/01/23 Wednesday   Graphs Appx. B.4, Ch 20-20.1 Bhargava Ch. 6-pg99    
      Spring          
      Spring          
7 3/13/23 Monday   Midterm Review       WS2
7 3/15/23 Wednesday   Graph Search Ch 20.2-20.4 Bhargava Ch. 6,pg99-114 Ch. 7 HW3  
8 3/20/23 Monday   Midterm Exam        
8 3/22/23 Wednesday   Graph Search Pt. 2 Ch 20.2-20.4 Bhargava Ch. 6,pg99-114   HW3
9 3/27/23 Monday   SSSP Ch 22-22.4 Bhargava Ch. 7    
9 3/29/23 Wednesday   SSSP* Pt. 2 / Priority Queues Ch 22-22.4 Bhargava Ch. 7    
10 4/3/23 Monday   Post Mortem     HW4  
10 4/5/23 Wednesday   Heapsort Ch 6      
11 4/10/23 Monday NO CLASS          
11 4/12/23 Wednesday   Data Design I Ch 23     HW4
12 4/17/23 Monday   Minimum Spanning Trees Ch 23   Project  
12 4/19/23 Wednesday   Special Guest        
13 4/24/23 Monday   Binary Search Trees Ch 12   HW5  
13 4/26/23 Wednesday   Amortized Analysis Ch 17      
14 5/1/23 Monday   Persistent, Extended Example Conchon-Filiatre   [Persistent_Union-Find][Persistent U-F]   HW5
14 5/3/23 Wednesday   Exam Review        
15 5/8/23 Monday   EXAM 2       OPTIONAL Project draft
  5/10/23 Wednesday            
  5/15/23 Monday           Project
  5/17/23 Wednesday            

† Duplicate entries means you should spread your reading across the period where I have duplicated those entries. So for instance you should split these chapters between this and next week

‡ Reading entries listed A-B are inclusive of end points, that is “Ch. 3-3.2” would mean from the beginning of Ch. 3 up to and including §3.2. So stop at the beginning of §3.3.

Recursion refresher

If you would like a refresher on writing recursive functions, and in a Python-like language, see Ch. 3 of the Bhargava “Grokking” text.