Schedule

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: