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 |