Some Antics with Semantics: Formal semantics and basic Racket programming
Lists of Pros and Cons: Lists and cons
Higher-Order Fun: GC, tail recursion, and higher-order functions
The Forth Assignment: More higher-order functions, plus a Forth interpreter
You will be SMLated: Static types and basic SML programming
Expressionist Art: Trees for data and program representation via algebraic datatypes and pattern-matching, plus random art
Interpretive Dance: Semantics as code in an interpreter for an SML-like language
Productive Procrastination: Closures as data structures, delayed evaluation and laziness with promises and streams
Escape to a Parallel Universe: Basic explorations in parallelism and concurrency
OO log, Prolog, Epilogue: Subtyping, deductive programming, language design