trkern.github.io Educational Interactives

About

Goals

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 used these interactives: I've also produced interactives for my colleagues to use for their classes.

Higlights

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:

Teaching Programming

The best way to learn how to program is to write programs. Inspired by programming games like Zachtronics' TIS-100 and the Lean proof assistant tutorial "the Natural Number Game", I've developed some interactives that provide users with a series of programming problems to guide them through the process of learning a programming language

Examples:

Visual Exploration

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:

Supplementing Lectures

One of the major uses of my interactives that I hadn't anticipated was as visuals during my lectures.

Examples:

Graphics for Worksheets

Another surprising application was using the interactives I had created to generate diagrams for worksheets and quizzes.

Examples:

Formalist Propaganda

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.

Other Experiments

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 have implemented some basic symbolic algebra tools, such as parsing, displaying, and manipulating formulas (tkas.js), and am currently working on a 3D graphics library. Color Palettes are from Paul Tol's Notes