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