Lectures are held Mondays, Wednesdays, and Fridays in SIG 134. Recordings will be posted for those who need to miss class, but the course is not designed to be experienced remotely. It is strongly recommended that you attend in person whenever possible.
This page should always accurately reflect the past, but future dates and topics are subject to change.
Monday, June 29 - Lecture 04: Local bindings; Options
Wednesday, July 1 - Lecture 05: Records; Variants; Pattern matching
Friday, July 3 - Independence Day - No Class
Monday, July 6 - Lecture 06: Nested Patterns; Tail Recursion
📖 Reading Notes
Monday, July 20 - Lecture 12: Implementing Languages
Wednesday, July 22 - Lecture 13: Parsing
Friday, July 24 - Lecture 14: Trefoil Variables and Bindings
Monday, July 27 - Lecture 15: Trefoil Booleans, Pairs, and Lists
Wednesday, July 29 - Lecture 16: Trefoil Functions
Friday, July 31 - Lecture 17: Trefoil Cond Expressions
Monday, August 3 - Lecture 18: Trefoil First-class Functions
Wednesday, August 5 - Lecture 19: Intro to Racket
Friday, August 7 - Lecture 20: Delayed Evaluation
Monday, August 10 - Lecture 21: Variant Types, Two Ways
Wednesday, August 12 - Lecture 22: Static v. Dynamic Typing
Friday, August 14 - Lecture 23: More Static v. Dynamic Typing
Monday, August 17 - Lecture 24: Racket OOP; Subclassing; Dynamic Dispatch
Wednesday, August 19 - Lecture 25: Object-Oriented Composition
Friday, August 21 - Lecture 26: Decomposition; Victory Lap
🧑🏫 Slides (Decomposition; Victory Lap)
💻 Code
📽️ Recording