| 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 |
Value-Oriented Programming continued; Functions | Lists and Recursion, Tuples, Nested Patterns |
|
Tuples and Nested Patterns continued |
|
Week 3 |
Lecture Videos |
No Class: Labor Day | Datatypes and Trees |
|
Thu 9/10 | Code check in after HW submission | Trees and Binary Search |
|
Week 4 |
Lecture Videos |
BST Insert & Delete |
|
PBT; Generics and Higher-order Functions I | Thu 9/17 | Code check in after HW submission | Higher-order Functions II: Transform and Fold |
|
Week 5 |
Lecture Videos |
Abstract Types I: Sets |
|
Abstract Types II: Finite Maps |
|
Thu 9/24 | Typechecking | Week 6 |
Lecture Videos |
Options / Records / Unit, Sequencing, Commands / NO RECITATIONS THIS WEEK | Midterm 1 — · |
Prior exams: 26sp: 25fa: 25sp: 24fa: |
No Class: Fall Break | Week 7 |
Lecture Videos |
Mutable Data Structures, Abstract Stack Machine | Mutable Queues |
|
Iteration and Tail Recursion | Week 8 |
Lecture Videos |
Closures and Objects | Tue 10/13 | GUI Design: Gctx and Widgets |
|
GUI Design: Widgets, Layout, and Events |
|
Week 9 |
Lecture Videos |
GUI Design: Events, Notifiers, and Controllers |
|
Transition to Java | Thu 10/22 | Interfaces, Static Methods | Week 10 |
Lecture Videos |
Mon-Wed 10/26---10/28 | Code check in after HW submission | Static Fields, Debugger, Java Arrays | Java Arrays continued, Resizable Arrays | Java ASM and Subtyping | Week 11 |
Lecture Videos |
Java ASM, Dynamic Dispatch | Mon 11/2 | Static members, Generic Types | Midterm 2 |
Prior exams: 26sp: 25fa: 25sp: 24fa: |
Week 12 |
Lecture Videos |
Collections, Overriding, Equality | Equality, Iterators | Enums, Exceptions | Week 13 |
Lecture Videos |
Exceptions continued, Java I/O | Tue 11/17 | Code check in after HW submission | Java I/O: Histogram Demo | Thu 11/19 | Swing I: Drawing and Event Handling | Week 14 |
Lecture Videos |
Swing II: Inner Classes and Layout | Tue 11/24 | Bonus Lecture: Code _is_ data / NO RECITATIONS THIS WEEK | No Class: Thanksgiving Break | Week 15 |
Lecture Videos |
Swing III: MoD | Swing IV: Reimplementing Paint / MVC | Guest Lecture - TBA | Week 16 |
Lecture Videos |
Semester Recap | Mon 12/7 | Code check in after HW submission | Thu 12/10 6-8pm | Final Exam |
Prior exams: 26sp: 25fa: 25sp: 24fa: |
|---|