Schedule

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:
24sp:      
23fa:      
23sp:      
22fa:      
Week 6 Lecture Videos
Recitation Materials
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
Mutable Queues
Iteration and Tail Recursion
Closures and Objects
Week 8 Lecture Videos
Recitation Materials
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
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
Swing IV: Reimplementing Paint / Advanced Java
TBA
TBA
Week 16 Lecture Videos
Semester Recap
Mon 12/9
TBA Final Exam Prior exams:
24sp:      
23fa:      
23sp:      
22fa:      
22sp:      
21fa: