Lectures
- Click here to provide feedback and ask anonymous questions during lecture!
- Lecture recordings are posted in the Canvas Media Library shortly after class!
| Date | Topic | Handouts | Files |
|---|---|---|---|
| 12/01/25 | L37 - Design Challenges and Wrap Up! | ||
| 12/01/25 | L36 - Storing Sets of Nodes/BDDs | ||
| 11/28/25 | No Class! (Thanksgiving!) | ||
| 11/26/25 | No Class! (Thanksgiving!) | ||
| 11/24/25 | L35 - Spell Checking and Edit Distance (Memoization) | ||
| 11/21/25 | L34 - Compact Sets through Tries (BDDs) | ||
| 11/19/25 | L33 - Sets of Strings (Tries) | ||
| 11/17/25 | L32 - Heapsort and Catchup Time! | ||
| 11/14/25 | L31 - Heaps as Arrays | ||
| 11/12/25 | L30 - Heaps as Binary Trees | ||
| 11/10/25 | L29 - Globals and Priority Design Exercise | ||
| 11/07/25 | L28 - Garbage Collection | ||
| 11/05/25 | L27 - Finish Matrices and Graphs for Memory | ||
| 11/03/25 | L26 - Matrices (Representing Images) | ||
| 10/31/25 | L25 - Design Choices in Python; Globals |
handout
starter repo |
|
| 10/29/25 | L24: Intro to Python, pt. 1 |
handout
starter repo repo setup |
final code |
| 10/27/25 | L23 - Property-Based Testing (Pt. 2) and RunTime (Checking vs. Solving) |
handout
no starter code |
|
| 10/24/25 | L22 - Graphs for Transition Systems and Verification |
starter repo
handout |
|
| 10/22/25 | L21 - Property-Based Testing (PBT) |
no handout
no new code |
|
| 10/20/25 | L20 - Shortest Paths and Returning Paths |
handout
starter code |
notes |
| 10/17/25 | L19 - Depth-first traversal via Recursion and Stacks |
handout
code continues from last class |
|
| 10/15/25 | L18 - Graphs and Reachability |
handout
starter repo |
code
notes |
| 10/13/25 | No Class! (Long Weekend!) | ||
| 10/10/25 | L17 - MVC, Data Structures and Taking Stock | no handout or starter code | notes (Exceptions) |
| 10/08/25 | L16 - MVC & Exceptions |
handout
starter code |
(Model-view-controller) |
| 10/06/25 | L15 - Sets and Model-View-Controller (MVC) |
handout
starter repo |
Notes (Model-view-controller)
notes (Exceptions) |
| 10/03/25 | L14 - Hashmaps Implementation and Exceptions |
handout
starter repo |
F25 whiteboard
notes (hashmaps 2) notes (exceptions) |
| 10/01/25 | L13 - Intro to Hashmaps |
handout
no starter code |
notes (hashmaps part 1) |
| 09/29/25 | L12 - Arrays and Runtime |
handout
start with final code last class |
notes
code after class |
| 09/26/25 | L11 - Arrays and Array Lists |
handout
starter code |
notes
final code |
| 09/24/25 | L10 - Equals Methods and Address-Based Memory Diagrams |
handout
no starter code |
equality and casting notes
notes |
| 09/22/25 | L9 - Mutable Lists with null |
starter code
handout |
notes continue in last class notes |
| 09/19/25 | L8 - Making Lists Mutable |
handout
start from last lecture code |
code
notes |
| 09/17/25 | L7 - Implementing LinkedLists (with Memory Diagrams) |
handout
starter repo repo setup guide |
notes
code |
| 09/15/25 | L6 (from FP): Java Lists and Loops |
handout
starter repo |
notes
code |
| 09/15/25 | L6 (from OO): Trees | no handout today |
notes
code from class |
| 09/12/25 | L5 (from FP): Changing Fields and Variable Values |
handout
starter repo |
code
PDF notes (sec 4-5) |
| 09/12/25 | L5 (from OO): Memory Diagrams and Runtime |
handout
code demo (runtime) |
notes |
| 09/10/25 | L4 (from FP): Inheritance and Abstract Classes |
handout
starter repo |
typed notes
code code demo (abstract classes) |
| 09/10/25 | L4 (from OO): Understanding Recursion | handout | notes |
| 09/08/25 | L3 (from FP): Memory and Interfaces |
handout
starter repo repo setup guide interfaces demo |
typed notes |
| 09/08/25 | L3 (from OO): Recursion | handout | notes |
| 09/05/25 | L2 (from FP): Classes, Methods, and Tests |
initial code demo (watch before lecture)
paper handout starter repo repo setup guide |
code
notes |
| 09/05/25 | L2 (from OO): Records, Lists, Map/Filter, and Testing |
starter repo
repo setup guide starter handout |
notes
spr 23 video code |
| 09/03/25 | L1 - Overview and Intro | handout |