Mon  Wed  Fri  Assignments/Recitations 

8/26
Lec 01: Course Introduction A/B Slides C Slides 
8/28
Lec 02: Java Refresher A/B Slides C Slides Sample Code 
8/30
Lec 03: Math Refresher A/B Slides C Slides 
No Recitation AI Quiz assigned, due 9/8/24 @ 11:59PM [autolab] PA0 assigned, due 9/8/24 @ 11:59PM [handout  submission] WA1 assigned, due 9/8/24 @ 11:59PM [handout  submission] 
9/2
No Class: Labor Day 
9/4
Lec 04: Intro to Complexity A/B Slides C Slides Sample Code 
9/6
Lec 05: Asymptotic Analysis A/B Slides C Slides 
Recitation Week #0: Welcome, Setup Assistance AI Quiz due 9/8/24 @ 11:59PM PA0 due 9/8/24 @ 11:59PM WA1 due 9/8/24 @ 11:59PM 
9/9
Lec 06: Proving Bounds A/B Slides C Slides 
9/11
Lec 07: Runtime Analysis in Code A/B Slides C Slides Sample Code 
9/13
Lec 08: ADTs, Sequences A/B Slides C Slides 
Recitation Week #1: Asymptotics [slides] PA1 assigned  Testing due 9/15/24 @ 11:59PM [handout] 
9/16
Lec 9: LinkedList and Iterators A/B Slides C Slides 
9/18
Lec 10: ArrayList and Amortized Runtime A/B Slides C Slides 
9/20
Lec 11: Recursion A/B Slides C Slides 
Recitation Week #2: Complexity and Sequences PA1 Implementation due 9/22/24 @ 11:59PM 
9/23
Lec 12: Divide and Conquer A/B Slides C Slides 
9/25
Lec 13: Average Runtime A/B Slides C Slides 
9/27
Lec 14: Stacks and Queues A/B Slides C Slides 
Recitation Week #3: Amortized Runtime WA2 assigned  Due 9/29/24 @ 11:59PM 
9/30
Lec 15: Stacks and Queues A/B Slides C Slides 
10/2
Lec 16: Midterm #1 Review A/B Slides C Slides 
10/4
Midterm #1 
Recitation Week #4: Review 
10/7
Lec 17: Intro to Graphs A/B Slides C Slides 
10/9
Lec 18: Graph ADTs A/B Slides C Slides 
10/11
Lec 19: Graph ADTs A/B Slides C Slides 
Recitation Week #5: Recursion WA3 assigned  Due 10/13/24 @ 11:59PM 
10/14
No Class: Fall Break 
10/16
Lec 20: Graph Traversals A/B Slides C Slides 
10/18
Lec 21: Graph Traversals A/B Slides C Slides 
No Recitation PA2 assigned  Testing due 10/20/24 @ 11:59PM 
10/21
Lec 22: Priority Queue A/B Slides C Slides 
10/23
Lec 23: Heaps A/B Slides C Slides 
10/25
Lec 24: Djikstra's Revisited A/B Slides C Slides 
Recitation Week #6: Graph Traversals/Heaps PA2 Implementation due 10/27/24 @ 11:59PM 
10/28
Lec 25: Binary Search Trees A/B Slides C Slides 
10/30
Lec 26: Tree Traversals and Rotations A/B Slides C Slides 
11/1
Lec 27: Balanced Trees (AVL) A/B Slides C Slides 
Recitation Week #7: Trees WA4 assigned, due 11/3/24 @ 11:59PM 
11/4
Lec 28: Balanced Trees (RedBlack) A/B Slides C Slides 
11/6
Lec 29: Midterm 2 Review A/B Slides C Slides 
11/8
Midterm 2 
Recitation Week #8: Review 
11/11
Lec 30: Intro to Hash Tables A/B Slides C Slides 
11/13
Lec 31: Hash Tables A/B Slides C Slides Sample Code 
11/15
Lec 32: Hash Variants A/B Slides C Slides 
Recitation Week #9 
11/18
Lec 33: Hash Table Uses A/B Slides C Slides 
11/20
Lec 34: Spatial Indexing (pt 1) A/B Slides C Slides 
11/22
Lec 35: Spatial Indexing (pt 2) A/B Slides C Slides 
Recitation Week #10: Hash Tables PA3 assigned  Testing due 11/24/24 @ 11:59PM 
11/25
Lec 36: Misc A/B Slides C Slides 
11/2711/29
No Class: Thanksgiving Break 
No Recitation PA3 Implementation due 12/1/24 @ 11:59PM 

12/2
Lec 37: The Memory Hierarchy A/B Slides C Slides 
12/4
Lec 38: B+ Trees A/B Slides C Slides 
12/6
Lec 39: Bloom Filters A/B Slides C Slides 
Recitation Week #11: Final Exam Review WA5 assigned  due 12/8/24 @ 11:59PM 
12/9
Lec 40: Recap/Review/Questions A/B Slides C Slides 
12/11
No Class: Reading Day 
12/13
Final Exam @ 8:00AM See HUB for details 
No Recitation 