| Mon | Wed | Fri | Assignments/Recitations |
|---|---|---|---|
| 8/25
Lec 01: Course Introduction Slides (A/B) Slides (C) |
8/27
Lec 02: Java Refresher Slides (A/B) Sample Code Slides (C) |
8/29
Lec 03: Math Refresher Slides (A/B) Slides (C) |
No Recitation AI Quiz assigned, due 9/7/25 @ 11:59PM [autolab] PA0 assigned, due 9/7/25 @ 11:59PM [handout | submission] |
| 9/1
Labor Day No Class |
9/3
Lec 04: Sequence ADT and Arrays Slides (A/B) Slides (C) |
9/5
Lec 05: Intro to Complexity Slides (A/B) Sample Code Slides (C) |
No Recitation AI Quiz due 9/7/25 @ 11:59PM PA0 due 9/7/25 @ 11:59PM |
| 9/8
Lec 06: Asymptotic Analysis Slides (A/B) Slides (C) |
9/10
Lec 07: Proving Bounds Slides (A/B) Slides (C) |
9/12
Lec 08: Runtime Analysis in Code Slides (A/B) Slides (C) |
Recitation Week 1: Summations/Testing [slides] WA1 assigned, due 9/14/25 @ 11:59PM [handout | submission] PA1 assigned - Testing due 9/14/25 @ 11:59PM [handout | submission] |
| 9/15
Lec 09: List ADT and LinkedLists Slides (A/B) Slides (C) |
9/17
Lec 10: ArrayList and Amortized Runtime Slides (A/B) Slides (C) |
9/19
Lec 11: Set ADT Slides (A/B) Slides (C) |
Recitation Week 2: Asymptotic Analysis [slides] PA1 Implementation due 9/21/25 @ 11:59PM [handout | submission] |
| 9/22
Lec 12: Recursion Slides (A/B) Slides (C) |
9/24
Lec 13: Divide and Conquer Slides (A/B) Slides (C) |
9/26
Lec 14: Merge Sort Slides (A/B) (Same as Wed) Slides (C) |
Recitation Week 3: Sequences and Lists [slides] WA2 assigned, due 9/28/25 @ 11:59PM [handout | submission] |
| 9/29
Lec 15: Binary Search Slides (A/B) Slides (C) |
10/1
Lec 16: Midterm #1 Review Slides (A/B) Slides (C) |
10/3
Midterm #1 |
Recitation Week 4: Recursion [slides] |
| 10/6
Lec 17: Stacks and Queues Slides (A/B) Slides (C) |
10/8
Lec 18: Mazes Slides (A/B) Slides (C) |
10/10
Lec 19: Graph ADTs Slides (A/B) Slides (C) |
No Recitation |
| 10/13
Fall Break No Class |
10/15
Lec 20: Graph ADTs Slides (A/B) Slides (C) |
10/17
Lec 21: Graph Traversals Slides (A/B) Slides (C) |
No Recitation |
| 10/20
Lec 22: Graph Traversals (continued) Slides (A/B) Slides (C) |
10/22
Lec 23: Shortest Path Slides (A/B) Slides (C) |
10/24
Lec 24: Priority Queue ADT Slides (A/B) Slides (C) |
Recitation Week 5: Graphs [slides] PA2 assigned - Testing due 10/26/25 @ 11:59PM [handout | submission] |
| 10/27
Lec 25: Heaps Slides (A/B) Slides (C) |
10/29
Lec 26: Heaps (continued) Slides (A/B) Slides (C) |
10/31
Lec 27: Binary Search Trees Slides (A/B) Slides (C) |
Recitation Week 6: Traversals [slides] PA2 Implementation due 11/2/25 @ 11:59PM [submission] |
| 11/3
Lec 28: Tree Traversals and Rotations Slides (A/B) Slides (C) |
11/5
Lec 29: Balanced Trees (AVL) Slides (A/B) Slides (C) |
11/7
Lec 30: Balanced Trees (Red-Black) Slides (A/B) Slides (C) |
Recitation Week 7: Heaps/BSTs [slides] WA3 assigned, due 11/9/25 @ 11:59PM [handout | submission] |
| 11/10
Lec 31: Midterm #2 Review Slides (A/B) Slides (C) |
11/12
Midterm #2 |
11/14
Lec 32: Average Runtime Slides (A/B) Slides (C) |
Recitation Week 8: Balanced BSTs [slides] |
| 11/17
Lec 33: Intro to Hash Functions Slides (A/B) Slides (C) |
11/19
Lec 34: Hash Tables Slides (A/B) Slides (C) |
11/21
Lec 35: Hash Table Variants Slides (A/B) Slides (C) |
No Recitations PA3 assigned - Testing due 11/30/25 @ 11:59PM [handout | submission] |
| 11/24
Lec 36: Hash Table Uses Slides (A/B) Slides (C) |
11/26 - 11/28
Thanksgiving Break No Class |
Recitation Week 9: Expected Runtime and Hash Tables [slides] |
|
| 12/1
Lec 37: Spatial Data Structures Slides (A/B) Slides (C) |
12/3
Lec 38: Memory Hierarchy Slides (A/B) Slides (C) |
12/5
Lec 39: Bloom Filters Slides (A/B) Slides (C) |
Recitation Week 10: Review [slides] PA3 Implementation due 12/7/25 @ 11:59PM |
| 12/8
Lec 40: Recap/Review/Questions Slides (A/B) Slides (C) |
12/10 @ 7:15PM
Final Exam See HUB for Details |
12/12
No Class |
|