Lecture recordings are available on Canvas. | |
Content Quizzes are available on Gradescope and are due Fridays at midnight. | |
Recitation Materials are available in this Google Drive. | Add the calendar of Homeworks, Exams, and Review sessions to your Google Calendar. |
Date | Topic | Slides | Code | Reading | Introductions, Program Design |
|
Value-Oriented Programming | No Class: MLK Day | Functions, Lists and Recursion | Lists, Tuples, Nested Patterns |
|
Datatypes and Trees |
|
Tue 1/25 | Trees and Binary Search |
|
BST Insert & Delete |
|
Generics and Higher-order Functions | Tue 2/1 | Higher-order Functions: Transform and Fold |
|
Abstract Types: Sets |
|
Abstract Types: Finite Maps |
|
Tue 2/8 | Typechecking | Midterm 1 |
Prior exams: 22sp: 21fa: 21sp: 20fa: 20sp: 19fa: 19sp: |
Options, Unit, Commands / Records | Mutable Data Structures, Abstract Stack Machine | Mutable Queues |
|
Iteration and Tail Recursion |
|
Tue 2/22 | Closures and Objects |
|
GUI Design: Gctx and Widgets |
|
GUI Design: Widgets, Layout, and Events |
|
GUI Design: Events, Notifiers, and Controllers |
|
No Class | No Class: Spring Break | No Class: Spring Break | No Class: Spring Break | Transition to Java |
|
Tue 3/15 | Java Basics: Classes, Interfaces |
|
Static Methods, Java Arrays |
|
Java ASM, Subtyping | Tue 3/22 | Subtyping and Extension |
|
Midterm 2 |
Prior exams: 22sp: 21fa: 21sp: 20fa: 19fa: 19sp: 18fa: 18sp: 17fa: |
Java ASM, Dynamic Dispatch | Generic Types and Collections |
|
Overriding, Equality |
|
Enums, Iteration | Tue 4/5 | Exceptions |
|
Java I/O |
|
I/O: Histogram Demo |
|
Tue 4/12 | Swing I: Drawing and Event Handling |
|
Swing II: Inner Classes, Layout |
|
Fri 4/15 | Swing III: MoD walkthrough, Paint Demo |
|
Mon 4/18 | Swing IV: Paint Demo continued / Adapters and Design Patterns | Bonus Lecture: Code _is_ data |
|
Advanced Java: Concurrency, Hashing, Memory Management |
|
Semester Recap | Wed 4/27 | Mon 5/9 9-11 AM | Final Exam |
Prior exams: 22sp: 21fa: 21sp: 20fa: 20sp: 19fa: 19sp: |
---|