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