Lecture + Section

See links below for each class meeting's slides, video, code, etc.  and the corresponding reading notes for each unit.  For easier bulk access, you can also go to:

For student-privacy reasons, videos are available only to students in the class.  

Lecture slides/code/topics do not always align perfectly with class periods -- class and videos may be ahead or behind, usually behind so you continue to the next video to complete a topic.  Anything in the future might get edited or rearranged.

Unit 1 : OCaml Functions, Tuples, Lists, and More   

Unit 2: Variants, Pattern Matching, Tail Recursion, and More

Unit 3: First-Class Functions and Closures

Unit 4: Modules, Type Inference, and Equivalence

Unit 5: Racket Introduction, Delaying Evaluation, Macros

Unit 6: Racket Structs, Implementing Programming Languages

Unit 7: Racket-Style Object-Oriented Programming Languages

Unit 8: Static vs. Dynamic Typing, Subtyping

Final-Exam Review

Course Wrap-Up and Some Bonus Code