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
Join the Fold: More higher-order functions
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
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
Prolog Epilogue: Language design and deductive programming

What we missed in Spring 2020

Due to mid-semester changes in response to the COVID-19 pandemic, we missed the Interpretive Dance assignment. Feel free to try it out if you are curious!