This is quite nice, although I think I'm too familiar with to topic to know whether it's actually useful to someone trying to learn this stuff :)
Although I think that "explorable explanation" is a bit of a grand claim for this sort of thing. The explanations (the connections, reasons, mechanisms, etc.) are given in the text, which isn't any more "explorable" than a book; whilst the "explorable" parts (the graphs/diagrams) aren't really "explanations" since they have no depth: the relationships are hard-coded, so the user can only adjust some parameters and get told what the "answer" is for that parameter.
Many years ago I tried to make a more in-depth "explorable explanation" of some concepts from thermodynamics, using the Smalltalk-based EToys system. I did this by setting up many small simulations, e.g. of "atoms" bouncing around in containers, of pistons and thermometers, of falling weights, etc. The behaviour (scripts, methods, etc.) of each object could be inspected, and mostly involved simple stepped-integral scripts like those in games (update position based on velocity, update velocity based on acceleration, etc.). "Measurements" would be taken of the aggregate behaviour, e.g. of a piston's position, and plotted against some other parameter (time, pressure, velocity, etc.), to produce graphs which (hopefully) demonstrate the relationship described by the text. These were "explorable" since the user had complete control to inspect and modify the dynamics of the simulations and see what happens.
Unfortunately I ended up abandoning the project once it maxed-out the RAM of my OLPC XO-1, since I was no longer able to load and save it :(
Although I think that "explorable explanation" is a bit of a grand claim for this sort of thing. The explanations (the connections, reasons, mechanisms, etc.) are given in the text, which isn't any more "explorable" than a book; whilst the "explorable" parts (the graphs/diagrams) aren't really "explanations" since they have no depth: the relationships are hard-coded, so the user can only adjust some parameters and get told what the "answer" is for that parameter.
Many years ago I tried to make a more in-depth "explorable explanation" of some concepts from thermodynamics, using the Smalltalk-based EToys system. I did this by setting up many small simulations, e.g. of "atoms" bouncing around in containers, of pistons and thermometers, of falling weights, etc. The behaviour (scripts, methods, etc.) of each object could be inspected, and mostly involved simple stepped-integral scripts like those in games (update position based on velocity, update velocity based on acceleration, etc.). "Measurements" would be taken of the aggregate behaviour, e.g. of a piston's position, and plotted against some other parameter (time, pressure, velocity, etc.), to produce graphs which (hopefully) demonstrate the relationship described by the text. These were "explorable" since the user had complete control to inspect and modify the dynamics of the simulations and see what happens.
Unfortunately I ended up abandoning the project once it maxed-out the RAM of my OLPC XO-1, since I was no longer able to load and save it :(