This schedule is tentative and likely to be revised. |
Date | Topic | Slides | Code | Reading | Week 1 Videos |
Videos |
Introductions, Program Design |
|
Value-Oriented Programming | Week 2 Videos |
Videos |
No Class: Labor Day | Functions, Lists and Recursion | Lists, Tuples, Nested Patterns |
|
Week 3 Videos |
Videos |
Datatypes and Trees |
|
Tue 9/12 | Trees and Binary Search |
|
BST Insert & Delete |
|
Week 4 Videos |
Videos |
Generics and Higher-order Functions | Tue 9/19 | Higher-order Functions: Transform and Fold |
|
Abstract Types: Sets |
|
Week 5 Videos |
Videos |
Abstract Types II: Sets & Finite Maps / Typechecking |
|
Tue 9/26 | Typechecking | Midterm 1 |
Prior exams: 23fa: 23sp: 22fa: 22sp: 21fa: |
Week 6 Videos |
Videos |
Options / Records / Unit, Sequencing, Commands / Mutable State Aliasing | Mutable Data Structures, Abstract Stack Machine | Mutable Queues | Week 7 Videos |
Videos |
Iteration and Tail Recursion | Closures and Objects / NO RECITATIONS THIS WEEK | Wed 10/11 | No Class: Fall Break | Week 8 Videos |
Videos |
GUI Design: Gctx and Widgets |
|
GUI Design: Widgets, Layout, and Events |
|
GUI Design: Events, Notifiers, and Controllers |
|
Week 9 Videos |
Videos |
Transition to Java | Tue 10/24 | Java Basics: Classes, Interfaces | Static Methods, Java Arrays |
|
Week 10 Videos |
Videos |
Arrays Wrap-up / Debugger/ Java ASM |
|
Java ASM, Dynamic Dispatch |
|
Thu 11/2 | Java ASM, Dynamic Dispatch, Generic Types | Week 11 Videos |
Videos |
Generic Types and Collections |
|
Overriding, Equality | Midterm 2 |
Prior exams: 23fa: 23sp: 22fa: 22sp: 21fa: |
Week 12 Videos |
Videos |
Enums, Iteration | Exceptions |
|
Java I/O | Week 13 Videos |
Videos |
I/O: Histogram Demo |
|
Tue 11/21 | Bonus Lecture: Code _is_ data / NO RECITATIONS THIS WEEK |
|
No Class: Thanksgiving Break | Week 14 Videos |
Videos |
Swing I: Drawing and Event Handling |
|
Tue 11/28 | Swing II: Inner Classes | Class Cancelled | Week 15 Videos |
Videos |
Swing III: Layout and MoD |
|
Tue 12/5 | Guest Lecture - Jane Street | Swing IV: Reimplementing Paint / Advanced Java |
|
Week 16 Videos |
Videos |
Semester Recap | Mon 12/11 | Tue 12/19 | Final Exam |
Prior exams: 23fa: 23sp: 22fa: 22sp: 21fa: 21sp: 20fa: |
---|