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