Lectures

Lecture recordings are posted in the Canvas Media Library shortly after class!

Date Topic Handouts Files
04/22/26 L36 - Design Challenges and Wrapup
04/20/26 L35 - Dijkstra's Algorithm
04/17/26 L34 - Compact Sets through Tries (BDDs)
04/15/26 L33 - More Tries and Heapsort
04/13/26 L32 - Sets of Strings (Tries)
04/10/26 L31 - Heaps as Arrays
04/08/26 L30 - Heaps as Binary Trees
04/06/26 L29 - Priority Design Exercise
04/03/26 L28 - Matrices (Representing Images)
04/01/26 L27 - Garbage Collection II
03/30/26 L26 - Garbage Collection
03/27/26 No Class! (Spring Break!)
03/25/26 No Class! (Spring Break!)
03/23/26 No Class! (Spring Break!)
03/20/26 L25 - Slack/catchup
03/16/26 L24 - Design Choices in Python; Globals
03/16/26 L23: Intro to Python, pt. 1
03/13/26 L22 - Property-Based Testing (Pt. 2) and RunTime (Checking vs. Solving)
03/11/26 L21 - Graphs for Transition Systems and Verification
03/09/26 L20 - Property-Based Testing (PBT)
03/06/26 L19 - Shortest Paths and Returning Paths
03/04/26 L18 - Depth-first traversal via Recursion and Stacks
03/02/26 L17 - Graphs and Reachability
02/27/26 L16 - MVC, Data Structures and Taking Stock
02/25/26 L15 - MVC & Exceptions
02/23/26 L14 - Sets and Model-View-Controller (MVC) handout
starter repo
02/20/26 L13 - Hashmaps Implementation and Exceptions handout whiteboard
notes (hashmaps 1)
notes (hashmaps 2)
notes (exceptions)
02/18/26 L12 - Resizing Arrays handout 1
handout 2
whiteboard
notes (hashmaps part 1)
notes (hashmaps pt 2)
02/16/26 No Class! (Long Weekend!)
02/13/26 L11 - Arrays and Array Lists handout
starter code
whiteboard
02/11/26 L10 - Equals Methods and Address-Based Memory Diagrams handout equality and casting notes
notes
whiteboard
02/09/26 L9 - Mutable Lists with null starter code
handout
notes continue in last class notes
code
02/06/26 L8 - Making lists mutable handout
start from last lecture code
code
notes
02/04/26 L7 - Linked Lists and Memory Diags handout
starter repo
repo setup guide
notes
code
02/02/26 L6 (from FP): Java Lists and Loops handout
starter repo
video
notes
code
02/02/26 L6 (from OO): Trees no handout today notes
code from class
01/30/26 L5 (from FP): Changing Fields and Variable Values handout
starter repo
video
code
class hierarchy notes
01/30/26 L5 (from OO): Memory Diagrams and Runtime handout
code demo (runtime)
notes
whiteboard
01/28/26 L4 (from FP): Inheritance and Abstract Classes handout
starter repo
video
typed notes
code
01/28/26 L4 (from OO): Understanding Recursion handout notes
whiteboard
01/26/26 L3 (from FP): Memory and Interfaces (MOVED TO ZOOM) initial code demo (watch before lecture)
handout
starter repo
repo setup guide
video
code
whiteboard notes
typed notes
01/26/26 L3 (from OO): Recursion (MOVED TO ZOOM) handout notes
board
01/23/26 L2 (from FP): Classes, Methods, and Tests initial code demo (watch before lecture)
paper handout
starter repo
repo setup guide
code
notes
video
f24 video (better audio)
01/23/26 L2 (from OO): Records, Lists, Map/Filter, and Testing starter repo
repo setup guide
starter handout
01/21/26 L1 - Intro handout
university resources