I began developing online interactives in the fall of 2017 to teach myself javascript and supplement the classes I was teaching at SUNY Oswego. I've mainly been using these as a platform for experimentation: many of my interactives represent me experimenting with a particular library, coding technique or teaching technique, but my hope is that they can be educational as well. I have gotten some positive feedback on these interactives from my students, but have yet to conduct studies of their effectiveness.
Highlights of the Interactive Medium
Encouraged Heuristic Development
One of the best uses of the interactive medium is providing the user with a task, giving them plenty of feedback on how they're progressing, and repeating with random variations on that task. A persistent user should hopefully develop heuristics or an algorithm for tackling those sorts of problems. In specific circumstances, this algorithm can be exactly the algorithm that would normally be taught in class, but if the user develops it on their own they are more likely to retain that skill and form connections with it.
Examples:
Completing The Square: Users have to come up with the completing-the-square form of a quadratic, and hopefully develop an algorithm in the process.
Function Transforms: This interactive about function transformations includes a guessing game at the bottom that requires users to really understand what to pay attention to in graph recognition.
Ehrenfeucht-Fraïssé Game on Finite Graphs: Discovering winning strategies in this game is equivalent to exploring the expressivity of the first order logic of graphs. These sorts of games originally got me into Model Theory (a branch of logic).
The book Gödel, Escher, Bach was a major early influence on my mathematical development. It introduced me to formal symbolic systems and the idea of encoding mathematics in formal symbolic systems, ultimately leading to my formalist mathematical philosophy.
My hope is to spread this philosophy by creating a "Computation Assistant". Similar to proof assistants, this would allow the user to work through a computation step by step, with each step being chosen by the user but applied by the computer. Eliminating the extra cognitive load of correctly copying the previous line of a computation and applying the computation step correctly should allow users to focus on the question of what steps they should apply to reach their goal. This interactive could even exhibit encouraged heuristic development for multi-step algebraic processes (such as how to add fractions).
My ultimate goal is to produce something which is accessible to College Algebra students but useful for professional mathematicians. I recall having to preform page-long computations in physics classes, with a small error in one line leading to hours of minus-sign following and error hunting, and software that only allows valid computational steps could be very helpful for this.
Throughout mathematics, being able to visualize the same thing in different ways is a vital skill. Digital interactives can allow users to modify an input and see how visually that changes the output.
Examples:
Function Transforms: The main part of this interactive allows users to see what changes to a graph formula does.
Linear Transformations: I developed this interactive to use in my linear algebra lectures, showing how various matrices transform space.
Parse Trees: Uses my own AST to html routine to allow the user to explore ASTs for algebra.
Sample Means: Visualize taking lots of samples from a population
Velocity: A "virtual worksheet" with a widget in the middle allowing one to take a virtual car trip and visualize the resulting position-time and velocity-time graphs. Ultimately the worksheet is meant to lead users to come up with the derivative formula on their own.
Shuffling Cards: Originally meant to explore chaos, mostly just turned into a fun visualizer exercise.
Other Experiments
Reasoning about Approximation: A guided exploration of the relationship between decimal approximations and interval arithmetic.
Trig Sum Formulas: An "interactive without words": Prove the trig sum formula on a diagram with adjustable angles.
Polynomials: Enterprise Edition Diophantine equations are Turing complete, so they can be used for a programming video game, similar to Zachtronics' TIS-100 or EXAPUNKS. Game Jam Entry described by another entrant as "... the most horrifying abomination to ever grace the earth. A++ excellent idea."
What is Math?: When we present the solution to a math problem, we usually only present one solution path. In this interactive I try visualizing several solution paths at once.
Development
All my pages are written by hand in notepad, with html, css, and javascript all contained in one single file. I have made use of a few libraries, but my hope is to eventually replace them with my own. I have already developed my own graph drawing library (tgr.js) and hope to implement a basic computer algebra system this summer.
Sage Math Cell (Modified BSD license). Information about calling SageMathCell servers directly can be found here (replace http:// with https:// to avoid a CORS error).