Office Hours (Zoom Link: link)


Lectures and Assignments (subject to change)

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