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
No Class: Labor Day
Functions, Lists and Recursion
Lists, Tuples, Nested Patterns    
Week 3 Lecture Videos
Datatypes and Trees  
Tue 9/9
Trees and Binary Search      
BST Insert & Delete  
Week 4 Lecture Videos
Generics and Higher-order Functions I
Tue 9/16
Higher-order Functions II: Transform and Fold  
Abstract Types I: Sets  
Week 5 Lecture Videos
Abstract Types II: Finite Maps  
Tue 9/23*
Typechecking
Midterm 1 Prior exams:
25fa:          
25sp:      
24fa:      
24sp:      
23fa:      
Week 6 Lecture Videos
Options / Records / Unit, Sequencing, Commands
Mutable Data Structures, Abstract Stack Machine
Mutable Queues  
Week 7 Lecture Videos
Iteration and Tail Recursion
Tue 10/7
Closures and Objects / NO RECITATIONS THIS WEEK
No Class: Fall Break
Week 8 Lecture Videos
GUI Design: Gctx and Widgets        
GUI Design: Widgets, Layout, and Events        
GUI Design: Events, Notifiers, and Controllers      
Week 9 Lecture Videos
Transition to Java
Interfaces, Static Methods
Thu 10/23
Static Fields, Debugger, Java Arrays          
Week 10 Lecture Videos
Java Arrays continued, Resizable Arrays    
Java ASM and Subtyping  
Thu 10/30
Java ASM, Dynamic Dispatch
Week 11 Lecture Videos
Static members, Generic Types
Collections, Overriding, Equality      
Midterm 2 Prior exams:
25sp:      
24fa:      
24sp:      
23fa:      
Week 12 Lecture Videos
Iterators, Enums, Exceptions
Java I/O
I/O: Histogram Demo
Week 13 Lecture Videos
Swing I: Drawing and Event Handling
Tue 11/18
Swing II: Inner Classes and Layout
Thu 11/20
Swing III: MoD
Week 14 Lecture Videos
Swing IV: Reimplementing Paint / Advanced Java
Tue 11/25
Bonus Lecture: Code _is_ data / NO RECITATIONS THIS WEEK
No Class: Thanksgiving Break
Week 15 Lecture Videos
MVC / Advanced Java I
Advanced Java II: Concurrency, Hashing
Guest Lecture TBA
Week 16 Lecture Videos
Semester Recap
Mon 12/8
Thu 12/11 6-8pm Final Exam Prior exams:
25sp:      
24fa:      
24sp:      
23fa: