This is a rough schedule of topics for each day, and the release and due dates for homework assignments. Dates and topics are subject to change.

“Perusall” means there is reading due that day on Perusall. All reading is due before class time on that day.

Supplemental Algorithms Videos

Data Structures Database

Date Topics Due (Before Class) Assigned (After Class)  
Week 1 Math and C++      
M 3/27 Intro, Expectations, (un)Grades   HWK 0  
W 3/29 Mathematical Background      
F 3/31 C++ Perusall (1.1-1.7) && HWK 0    
Week 2 Arrays      
M 4/3 Array Stacks, Queues, Deques Perusall (2.1-2.4) HWK 1  
W 4/5 NO CLASS: Instructor Absence      
F 4/7 NO CLASS: Instructor Absence      
Week 3 Lists and Pointers      
M 4/10 Pointers Persuall && HWK 1 HWK 2  
W 4/12 Singly-Linked Lists Persuall (3.1)    
F 4/14 Doubly-Linked Lists (+ Work Day) Persuall (3.2)    
Week 4 Templates and Overrides      
M 4/17 Group Exam   Group Exam Revisions (solutions)  
W 4/19 Templates and Overrides Persuall    
F 4/21 GitHub HWK2    
Week 5 Search and Sort Round 1      
M 4/24 Individual Exam (guide) (solutions) Group Exam Revisions    
W 4/26 Searching & Sorting (STL) Perusall    
F 4/28 Search and Sort Competition      
Week 6 Binary Trees      
M 5/1 Binary Trees Persuall HWK 3  
W 5/3 Binary Search Trees Persuall    
F 5/5 NO CLASS: Reading Period      
Week 7 AVL and Red-Black Trees      
M 5/8 Binary Tree Traversal HWK 3 HWK 4  
W 5/10 Red-Black Trees Persuall    
F 5/12 STL Set and Vector      
Week 8 Heaps      
M 5/15 Group Exam HWK 4 Group Exam Revisions (solutions)  
W 5/17 Heaps Persuall    
F 5/19 No class: Attend BioFest & get caught up!      
Week 9 Hashing and HashMaps      
M 5/22 Individual Exam ((guide)) Group Exam Revisions    
W 5/24 Hash Tables Persuall    
F 5/26 Hash Maps Persuall    
Week 10 Wrap Up      
M 5/29 NO CLASS: Memorial Day      
W 5/31 Data Structures Review Day      
F 6/2 Evals + Portfolio Work      

Final Portfolios Due Wednesday 6/7 by 5:30 PM