A cool tool that lets you manipulate the starting amount, growth rate, and number of periods of a graphed exponential to visualize its properties.
Mary wrote a little Lisp and then annotated the source code. If you've never written an interpreter for a programming language before, this is a great place to start.
A video of Mary livecoding a drum machine. You can also run the code live, and read the annotated source.
A 6,000-word deep dive that explains the innards of how Git works.
A live programming environment for making games. It supports running code in both directions: forward and reverse.
This is a clear explanation of functional programming concepts using Python and practical examples.