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


Lectures and Assignments (subject to change)

Mon Wed Fri Assignments/Recitations
8/28
Lec 01: Course Introduction
A/B-slides
C-slides
8/30
Lec 02: Java Refresher
A/B-slides
C-slides
Sample Code
9/1
Lec 03: Math Refresher
A/B-slides
C-slides
No Recitation
AI Quiz assigned, due 9/6/23 @ 11:59PM
PA0 assigned, due 9/10/23 @ 11:59PM
WA1 assigned, due 9/10/23 @ 11:59PM
9/4
No Class: Labor Day
9/6
Lec 04: Asymptotic Analysis
A/B-slides
C-slides
Sample Code
9/8
Lec 05: Runtime Analysis - Formalism
A/B-slides
C-slides
Recitation Week #0: Welcome, Setup Assistance (Open all day Tuesday)
PA0 due 9/10/23 @ 11:59PM
WA1 due 9/10/23 @ 11:59PM
9/11
Lec 06: Runtime Analysis - Formalism (contd.)
A/B-slides
C-slides
9/13
Lec 07: Runtime Analysis - Examples
A/B-slides
C-slides
9/15
Lec 08: ADTs, Sequences
A/B-slides
C-slides
Recitation Week #1: Asymptotics [slides]
PA1 assigned
PA1 Tests Due 9/17/23 @ 11:59PM
9/18
Lec 9: LinkedList and Iterators
A/B-slides
C-slides
9/20
Lec 10: ArrayList and Amortized Runtime
A/B-slides
C-slides
9/22
Lec 11: Recursion
A-slides
B/C-slides
Recitation Week #2: Complexity and Sequences [slides]
PA1 Implementation Due 9/24/23 @ 11:59PM
WA2 assigned, due 10/1/23 @ 11:59PM
9/25
Lec 12: Divide and Conquer
A/B-slides
C-slides
9/27
Lec 13: Average Runtime
A/B-slides
C-slides
9/29
Lec 14: Midterm 1 Review
A/B-slides
C-slides
Recitation Week #3: Exam Review [slides]
10/2
Midterm 1
10/4
Lec 15: Stacks and Queues
A/B-slides
C-slides
10/6
Lec 16: Stacks and Queues
A/B-slides
C-slides
No Recitation
WA3 assigned, due 10/15/23 @ 11:59PM
10/9
No Class: Fall Break
10/11
Lec 17: Mazes
A/B-slides
C-slides
10/13
Lec 18: Graph ADTs
A/B-slides
C-slides
10/16
Lec 19: Depth First Search
A/B-slides
C-slides
10/18
Lec 20: Breadth First Search
A/B-slides
C-slides
10/20
Lec 21: Shortest Path/Priority Queues
A/B-slides
C-slides
Recitation Week #4: Stacks/Queues/Graphs [slides]
PA2 assigned
PA2 Tests Due 10/22/23 @ 11:59PM
10/23
Lec 22: Order Relations, Priority Queues
A/B-slides
C-slides
10/25
Lec 23: Heaps
A/B-slides
C-slides
10/27
Lec 24: Shortest Path Revisited - Djikstra's
A/B-slides
C-slides
Recitation Week #5: Graphs [slides]
10/30
Lec 25: Binary Search Trees
A/B-slides
C-slides
11/1
Lec 26: Tree Traversal and Rotations
A/B-slides
C-slides
11/3
Lec 27: Balanced Trees (AVL)
A/B-slides
C-slides
Recitation Week #6: Heaps/Djikstra's [slides]
PA2 Implementation Due 11/5/23 @ 11:59PM
11/6
Lec 28: Balanced Trees (Red-Black)
A/B-slides
C-slides
11/8
Lec 29: Midterm 2 Review
A/B-slides
C-slides
11/10
Midterm 2
Recitation Week #7: Exam Review
WA4 Assigned, due 11/15/23 @ 11:59PM
11/13
Lec 30: Intro to Hash Tables
A/B-slides
C-slides
11/15
Lec 31: Hash Tables
A/B-slides
C-slides
11/17
Lec 32: Hash Variants
A/B-slides
C-slides
Recitation Week #8: Tree Review [slides]
WA4 Due 11/15/23 @ 11:59PM
PA3 assigned
11/20
Lec 33: Misc!
A/B-slides
C-slides
11/22-11/24
No Class: Thanksgiving Break
No Recitation
PA3 Tests Due 11/22/23 @ 11:59PM
11/27
Lec 34: Spatial Indexing
A/B-slides
C-slides
11/29
Lec 35: Spatial Indexing (Contd.)
A/B-slides
C-slides
12/1
Lec 36: The Memory Hierarchy
A/B-slides
C-slides
Recitation Week #9: Hash Table Review [slides]
PA3 Implementation Due 12/3/23 @ 11:59PM
12/4
Lec 37: Secondary Storage
A/B-slides
C-slides
12/6
Lec 38: Bloom Filters
A/B-slides
C-slides
12/8
Lec 39: Recap
A/B-slides
C-slides
Recitation Week #10: Final Exam Review
WA5 Assigned, due 12/10/23 @ 11:59PM
12/11
Lec 40: Recap/Review/Questions
A/B-slides
C-slides
12/19 @ 3:30
Final Exam