Schedule

This schedule is tentative and likely to be revised.

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