Office Hours (Zoom Link: https://buffalo.zoom.us/j/99848681099)


Lectures and Assignments (subject to change)

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 [slides]
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 [slides]
WA2 assigned, due 9/29/24 @ 11:59PM [handout | submission]
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 [2024 Spring, 2023 Fall, Extra Practice]
Recitation Week #4: Review [slides]
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 [slides]
WA3 assigned, due 10/13/24 @ 11:59PM [handout | submission]
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/22/24 @ 11:59PM [handout]
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 [slides]
PA2 Implementation due 10/29/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
Recitation Week #7: Heaps [slides]
WA4 assigned, due 11/5/24 @ 11:59PM [handout | submission]
11/4
Lec 28: Balanced Trees (Red-Black)
A/B Slides
C Slides
11/6
Lec 29: Midterm 2 Review
A/B Slides
C Slides
11/8
Midterm 2

2024 Spring Midterm #2
2023 Fall Midterm #2
2023 Spring Midterm + Final
Recitation Week #8: Trees/Review [slides]
11/11
Lec 30: Intro to Hash Tables
A/B Slides
C Slides
11/13
Lec 31: Hash Tables
A/B Slides
C Slides
11/15
Lec 32: Hash Variants
A/B Slides
No Recitation
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 [slides]
PA3 assigned - Testing due 11/24/24 @ 11:59PM [handout]
11/25
Lec 36: Misc

C Slides
11/27-11/29
No Class: Thanksgiving Break
No Recitation
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
PA3 Implementation due 12/8/24 @ 11:59PM
WA5 assigned - due 12/8/24 @ 11:59PM [handout]
12/9
Lec 40: Recap/Review/Questions
A/B Slides
C Slides
12/11
No Class: Reading Day
12/13
Final Exam @ 8:00AM
2024 Spring Final
2023 Fall Final
2023 Spring Final
2022 Spring Final
See HUB for details
No Recitation