| Date  | Topic and/or Event | Readings | 
| January 17 | Lecture 1: Introduction and Overview; Lab 0: Data Structures Refresher | Topic Notes: Introduction and Overview; Topic Notes: Fundamental Data Structures; Levitin Ch. 1 | 
| January 19 | Lecture 2: Bubble Sort; Counting Operations; GCD; Summations Practice | Levitin Ch. 2.3; Topic Notes: Counting Operations | 
| January 22 | Lecture 3: Graph Data Structures | Topic Notes: Fundamental Data Structures: Graphs; Bailey Ch. 16.1-16.3 | 
| January 24 | Lecture 4: Lab Meeting #1; Lab 1: Counting Operations, Graphs (paper handout only) | Knuth article: NYT Site or Library Archive also in Canvas | 
| January 26 | Lecture 5: Asymptotic Analysis; Analysis Practice | Topic Notes: Analysis Fundamentals; Levitin Ch. 2.1-2.2 | 
| January 29 | Lecture 6: Asymptotic Analysis |  | 
| January 31 | Lecture 7: Lab Meeting #2; Lab 2: METAL Data and Analysis Practice (paper handout and shared document) |  | 
| February 2 | Lecture 8: Brute-Force Algorithms; Brute Force Practice | Topic Notes: Brute-Force Algorithms; Levitin Ch. 3 | 
| February 5 | Lecture 9: Brute Force/Exhaustive Search; Exhaustive Search Practice |  | 
| February 7 | Lecture 10: Lab Meeting #3; Lab 3: Brute-Force Closest Pair (paper handout and shared document) |  | 
| February 9 | Lecture 11: Brute-Force Convex Hull |  | 
| February 12 | Lecture 12: Decrease and Conquer Algorithms; Recurrences; Decrease and Conquer Practice | Topic Notes: Decrease and Conquer Algorithms; Levitin Ch. 2.4, 4 | 
| February 14 | Lecture 13: Lab Meeting #4; Lab 4: Brute Force and Decrease and Conquer (paper handout only) |  | 
| February 16 | Lecture 14: Solving Recurrences |  | 
| February 19 | Lecture 15: Decrease and Conquer Wrapup; Review |  | 
| February 21 | Exam 1 During Lab Meeting Times (alternate time: 2 hours between Noon and 3 on Tuesday 2/20) |  | 
| February 23 | No Class: February Break |  | 
| February 26 | Lecture 16: Decrease and Conquer Wrapup; Divide and Conquer Introduction | Topic Notes: Divide and Conquer Algorithms; Levitin Ch. 5 | 
| February 28 | Lecture 17: Exam 1 Recap; Graph Traversals Intro; Lab Meeting #5; Lab 5: Graph Traversals (shared document only) |  | 
| March 1 | Lecture 18: Divide and Conquer Closest Pair |  | 
| March 4 | Lecture 19: More Divide and Conquer; Academic Showcase Project: [HTML] [PDF] Introduction |  | 
| March 6 | Lecture 20: Quicksort Wrapup; Lab Meeting #6; Lab 6: Recurrences and Divide and Conquer |  | 
| March 8 | Lecture 21: Lab 6 Wrapup; AVL Trees | Topic Notes: AVL Trees | 
| March 11 | Lecture 22: AVL Trees; 2-3 Trees | Topic Notes: 2-3 Trees; Levitin Ch. 6.3 | 
| March 13 | Lecture 23: Lab Meeting #7; Lab 7: Search Trees |  | 
| March 15 | Lecture 24: Dynamic Programming | Levitin Ch. 8; Topic Notes: Dynamic Programming | 
| March 18 | Lecture 25: Dynamic Programming |  | 
| March 20 | Exam 2 During Lab Meeting Times |  | 
| March 22 | Lecture 26: (Virtual Lecture) Hashing | Levitin Ch. 7.3; Topic Notes: Hashing | 
| March 25-April 1 | No Classes or Labs: Happy Easter! |  | 
| April 3 | Lecture 27: Lab Meeting #8; Lab 8: Dynamic Programming |  | 
| April 5 | Lecture 28: Greedy Algorithms | Topic Notes: Greedy Algorithms; Levitin Ch. 9 | 
| April 8 | No Class: Eclipse Day! Get in the Shadow!  Work on your Problem Sets! | Levitin Ch. 6.4-6.5; Topic Notes: Heaps | 
| April 10 | Lecture 29: Lab Meeting #9; Lab 9: Prim's Algorithm, Dijkstra's Algorithm, Traversals |  | 
| April 12 | Lecture 30: Greedy Algorithms Wrapup | Topic Notes: Dijkstra's Algorithm Handout; | 
| April 15 | Lecture 31: Backtracking | Levitin Ch. 12.1 | 
| April 17 | Lecture 32: Lab Meeting #10; Lab 10: Backtracking |  | 
| April 19 | Lecture 33: Limitations of Algorithms | Levitin Ch. 11; Topic Notes: Limitations of Algorithms | 
| April 22 | Lecture 34: Limitations of Algorithms |  | 
| April 24 | Lecture 35: Lab Meeting #11 |  | 
| April 26 | Academic Showcase: 1:45-2:45, RB 340 - this is a required part of the course |  | 
| April 29 | Lecture 36: P and NP; Wrapup |  | 
| May 1 | Final Exam, 4-6 PM, RB 340 |  | 
|  |