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