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: MLK Day | Functions, Lists and Recursion - (Dr. Weirich lectures) | Lists, Tuples, Nested Patterns - (Dr. Weirich lectures) |
|
Week 3 |
Videos |
Datatypes and Trees |
|
Tue 1/24 | Trees and Binary Search |
|
BST Insert & Delete |
|
Week 4 |
Videos |
Generics and Higher-order Functions | Tue 1/31 | Higher-order Functions: Transform and Fold |
|
Abstract Types: Sets |
|
Week 5 |
Videos |
Abstract Types: Finite Maps |
|
Tue 2/7 | Typechecking | Midterm 1 |
Prior exams: 23sp: 22fa: 22sp: 21fa: 21sp: |
Week 6 |
Videos |
Options, Unit, Commands / Records / Mutable State Aliasing | Mutable Data Structures, Abstract Stack Machine |
|
Mutable Queues |
|
Week 7 |
Videos |
Iteration and Tail Recursion |
|
Tue 2/21 | Closures and Objects |
|
GUI Design: Gctx and Widgets |
|
Week 8 |
Videos |
GUI Design: Widgets and Events |
|
GUI Design: Notifiers, Controllers, and Buttons |
|
Bonus Lecture: Code _is_ data |
|
No Class: Spring Break | No Class: Spring Break | No Class: Spring Break | Week 9 |
Videos |
Transition to Java | Tue 3/14 | Java Basics: Classes, Interfaces | Static Methods, Java Arrays |
|
Week 10 |
Videos |
Java ASM, Subtyping |
|
Tue 3/21 | Subtyping and Extension, Java ASM |
|
Midterm 2 |
Prior exams: 23sp: 22fa: 19sp: 19fa: 18sp: 18fa: |
Week 11 |
Videos |
Java ASM, Dynamic Dispatch, Generic Types | Generic Types and Collections |
|
Overriding, Equality | Week 12 |
Videos |
Iteration, Enums, Exceptions (I) | Tue 4/4 | Exceptions |
|
Java I/O / Histrogram Demo |
|
Week 13 |
Videos |
Histogram Demo / Swing I |
|
Tue 4/11 | Swing II: Drawing and Event Handling / Inner Classes |
|
Swing III: Inner Classes, Layout, MoD & Adapters |
|
Week 14 |
Videos |
Swing IV: Refactoring Paint & Design Patterns |
|
Tue 4/18 | Advanced Java I |
|
Class Cancelled | Week 15 |
Videos |
Advanced Java: Hashing, Concurrency, Memory Management |
|
Semester Recap | Wed 4/26 | Tue 5/09 | Final Exam |
Prior exams: 23sp: 22fa: 22sp: 21fa: 21sp: 20fa: 20sp: |
---|