| Mon | Wed | Fri | Assignments/Recitations | 
|---|---|---|---|
| 1/22
           No Class  | 
        1/24
           Lec 01: Course Introduction Slides  | 
        1/26
           Lec 02: Java Refresher Slides Sample Code  | 
        
          No Recitation AI Quiz assigned, due 2/4/24 @ 11:59PM [submission] PA0 assigned, due 2/4/24 @ 11:59PM [writeup | windows help | submission] WA1 assigned, due 2/4/24 @ 11:59PM [writeup | submission]  | 
      
| 1/29
           Lec 03: Math Refresher Slides  | 
        1/31
           Lec 04: Intro to Complexity Slides Sample Code  | 
        2/2
           Lec 05: Asymptotic Analysis Slides  | 
        
          Recitation Week #0: Welcome, Setup Assistance [slides] AI Quiz due 2/4/24 @ 11:59PM [submission] PA0 due 2/4/24 @ 11:59PM [submission] WA1 due 2/4/24 @ 11:59PM [submission]  | 
      
| 2/5
           Lec 06: Proving Bounds Slides  | 
        2/7
           Lec 07: Runtime Analysis in Code Slides Sample Code  | 
        2/9
           Lec 08: ADTs, Sequences Slides  | 
        
          Recitation Week #1: Asymptotics [slides] PA1 assigned [writeup] PA1 Testing due 2/11/24 @ 11:59PM [submission]  | 
      
| 2/12
           Lec 9: LinkedList and Iterators Slides  | 
        2/14
           Lec 10: ArrayList and Amortized Runtime Slides  | 
        2/16
           Lec 11: Recursion Slides  | 
        
          Recitation Week #2: Complexity and Sequences [slides] PA1 Implementation due 2/18/24 @ 11:59PM [submission]  | 
      
| 2/19
           Lec 12: Divide and Conquer Slides  | 
        2/21
           Lec 13: Average Runtime Slides  | 
        2/23
           Lec 14: Stacks and Queues Slides  | 
        
          Recitation Week #3: Amortized Runtime [slides] WA2 assigned, due 2/25/24 @ 11:59PM [writeup | submission]  | 
      
| 2/26
           Lec 15: Stacks and Queues Slides  | 
        2/28
           Lec 16: Midterm #1 Review Slides  | 
        3/1
           Midterm #1  | 
        
          Recitation Week #4: Review [slides] | 
      
| 3/4
           Lec 17: Intro to Graphs Slides  | 
        3/6
           Lec 18: Graph ADTs and Edge Lists Slides  | 
        3/8
           Lec 19: Adjacency Lists and Matrices Slides  | 
        
	  Recitation Week #5: Recursion [slides] WA3 assigned, due 3/10/24 @ 11:59PM [writeup | submission]  | 
      
| 3/11 
           Lec 20: Graph Traversals Slides  | 
        3/13
           Lec 21: Shortest Path Slides Sample Code  | 
        3/15
           Lec 22: Order Relations, Priority Queues Slides  | 
        
          Recitation Week #6: Graphs [slides] PA2 assigned [writeup | data] PA2 Tests due 3/17/24 @ 11:59PM [submission]  | 
      
| 3/18-3/22
           No Class: Spring Break  | 
      |||
| 3/25
           Lec 23: Heaps Slides  | 
        3/27
           Lec 24: Shortest Path Revisited - Djikstra's Slides  | 
        3/29
           Lec 25: Binary Search Trees Slides  | 
        
          Recitation Week #7: Graph Traversals/Heaps [slides] PA2 Implementation due 3/31/24 @ 11:59PM  | 
      
| 4/1
           Lec 26: Tree Traversal and Rotations Slides  | 
        4/3
           Lec 27: Balanced Trees (AVL) Slides  | 
        4/5
           Lec 28: Balanced Trees (Red-Black) Slides  | 
        
          Recitation Week #8: Trees [slides] WA4 assigned, due 4/7/24 @ 11:59PM [writeup | submission]  | 
      
| 4/8
           No Class: Solar Eclipse  | 
        4/10
           Lec 29: Midterm 2 Review Slides  | 
        4/12
	   Midterm 2  | 
        
          Recitation Week #9: Review [slides] | 
      
| 4/15
           Lec 30: Intro to Hash Tables Slides  | 
        4/17
           Lec 31: Hash Tables Slides Sample Code  | 
        4/19
           Lec 32: Hash Variants Slides  | 
        
	  No Recitation PA3 assigned [writeup] PA3 Tests due 4/21/24 @ 11:59PM [submission]  | 
      
| 4/22
           Lec 33: Hash Table Uses Slides  | 
        4/24
           Lec 34: Spatial Indexing (pt 1) Slides  | 
        4/26
           Lec 35: Spatial Indexing (pt 2) Slides  | 
        
          Recitation Week #10: Hash Tables [slides] PA3 Implementation due 4/28/24 @ 11:59PM [submission]  | 
      
| 4/29
           Lec 36: The Memory Hierarchy Slides  | 
        5/1
           Lec 37: B+ Trees Slides  | 
        5/3
           Lec 38: Bloom Filters Slides  | 
        
          Recitation Week #11: Final Exam Review [slides] WA5 assigned, due 5/7/24 @ 11:59PM [writeup | submission]  | 
      
| 5/6
           Lec 39: Recap/Review/Questions Slides  | 
        5/8-5/10
           No Class  | 
      ||
| 5/13 @ 3:30
           Final Exam  | 
	|||