Domain-Learning with Computational Microworlds
I loved Papert's Mindstorms. Part of why it resonated is simply because I like using programming to learn stuff. Not everyone likes that, but I think it's still worth exploring how domain specific languages can guide self-directed learning.
Changing Minds by Andrea DiSessa
- Are these Enabling Environments?
- Calculus with Julia
- Math 229 Projects (College of Staten Island course on calculus with julia)
- Statistics with Julia
- Computational thinking (modeling) with Julia
- Designing Sound (with Pd)
- Structure and Interpretation of Classical Mechanics (in Scheme)
- Functional Differential Geometry (in Scheme)
- Programming Language Foundations in Agda
- Learning how to Prove: From the Coq Proof Assistant to Textbook Style
- Software Foundations (In Coq)
- Monotone Co-design Theory
- Probabilistic Programming
- Xena Project (check their Lean "Natural Number Game")
- Logic & Proof in Lean
- Turtles Termites and Traffic Jams
- Arend Theorem Prover - Cubical Type Theory as an IntelliJ Plugin
- Wolfram U - learn domains through Mathematica
- Sagemath Interactions - some explorables with Sagemath
- Haskell+Music Theory
- Haskell Road to Logic, Maths, and Programming
- The Little Typer - type theory via bespoke "Pie" language
- Think Complexity
- All Hail Geometric Algebra! - (in Haskell)
- Math as Code - a bit disappointing in scope, but fun sentiment
- ToonTalk - Infinite cardinality of sets
- Knuth's MIX for Art of Computer Programming
- Modeling Game Theory in Haskell - HAGL
- Exploring Mathematics with your Computer
- Norvig’s pytudes https://github.com/norvig/pytudes/blob/master/ipynb/Probability.ipynb
- Annotated implementations of ML papers https://github.com/labmlai/annotated_deep_learning_paper_implementations
- The Annotated Transformer http://nlp.seas.harvard.edu//2018/04/03/attention.html
- Dive into Deep Learning
- Rosalind Bio
Note: I'm neglecting tons of python stuff. Probably because I think type systems are useful for learning things :-)
Metalinguistic abstraction & DSL design
- taxonomy of bespoke languages for instructional texts
MathCell for embedding math in webpages.
I'm struck by the un-Haskell-ness of this api. https://reanimate.github.io/
- you don't need to know the ins and outs of Haskell to use this "DSL"
- Robin Sloan - The Secret of Minecraft https://medium.com/message/the-secret-of-minecraft-97dfacb05a3c
Imagine yourself a child. Imagine yourself given one of these books: not merely a story of exploration and adventure, but a manual to such.
Imagine yourself a child, in possession of the secret knowledge.
What would an algebraic environment look like? How would I encode and play with the circle group? The monster group? https://en.wikipedia.org/wiki/Circle_group