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