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