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


Lectures and Assignments (subject to change)

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