Augmented math and education

I had this idea that I’m quite interested in. I basically want to make working with math (and other scientific subjects generally) more intuitive, by developing better UI for them. Apart from intuition, good evidence that this provides advantage is the discovery that humans playing protein folding video games beat powerful computers. I think this could also revolutionize education, particularly science education. Here’s a short pitch:

Very needed collaboration:
Computer algebra software (CAS) engineers + computer game designers + educators

While people rejoice at how good Mathematica and similar sofware are, I find them as primitive as text-based games. This and other dissatisfactions have made me realize:

*CAS engineers have and implement all the useful content, but have no regard of the “human factor” and human interactivity.

*Game designers have all of the later, but keep making up content nearly always with the aim of simply entertaining.

*Educators want to use human interaction to teach useful content, but nearly never have expertise in the above areas.

These guys clearly need to meet up and revolutionize education, computer-assisted thought, and give purpose to game devs.

The main inspiration for these ideas comes from Jim Blinn’s work on “The Mechanical Universe”: https://books.google.co.uk/books?id=xyQoMyRuGD8C&pg=PA147… At the end he describes what he calls “algebraic ballet”, which would be a good starting point for what I am proposing here. Here are some videos that show it in action:

I also recently found this program, which I haven’t tried yet, but gives some ideas for a very simple version of this: http://www.dragmath.bham.ac.uk/doc/index.html

There’s geogebra as well of course: https://www.geogebra.org/ which for geometry already offers a quite nice interface. And then more expensive software like PTC http://www.ptc.com/video?id=2678944190001&account=Demos and Maple: http://www.maplesoft.com/products/ma

I have, since I wrote this, found several other good examples of programs trying to achieve similar things (a list of which I will add in an edit soon), but nothing to the level of Jim Blinn’s work (and my imagined extrapolation of it), even though he did it in the 80’s!

4 Likes

Yes, absolutely.

Probably we need open source versions of Wolfram Alpha kind of software:

With open source versions of this kind of visualizations, we make collaboration possible on highly educational tools.

BUT, there is one tool with a good starting point. I am about to experiment with something called “WxMaxima” (love the name), which is a computer algebra system.

If we can produce graphical outputs in easy ways, this could have an edge for a platform to present collaboration for interactive visuals.

To resume, we probably need a base software to make the visualizations, for presenting it to the people who would work on it.

Now, is one way to work on this. Another is starting some kind of consortium for the development of these educational ways, which would need serious lobbying efforts.

1 Like

I would be happy to work on any of the ideas you propose. I myself, am going to try to expand my HTML5 + Javascript (+CSS) knowledge this summer (after I finish exams) to try to start making the necessary animation ingredients possible (basically animating the elementary algebraic operations, to begin with). I would ideally like it to have a computer algebra system (like Maxima) on its backend, to simply let people do math themselves; but I want it to also be usable for making amazing presentations to teach or distribute material, which I think could naturally be done by saving your session in a way that it can then be shared, and replayed by someone else, or in a lecture, step by step, for example.

I do this because the consortium idea would require more people than just me, but if we find more people, I’d be happy to help.

1 Like

It looks like the two of you could actually turn this into an official Fractal Future Network project. If you want, you could announce it on the blog once you know how to describe it. And if you have a name for this idea, you could of course get a category for it within this forum.

The combination of CAS with inviting and educational visualization would be awesome. If you could turn it into a free web-based platform it might become an awe-inspiring MOOC (Massive Open Online Course). :smiley:

2 Likes

I just began experimenting around: http://codepen.io/guillefix/pen/GJxKVa This is super simple, but I think kaTeX should be the basis to render the equations. It is faster than the more well-known MathJax, and that is necessary if one is to animate the equations. Direct MathML may be better, but looking at it, I’m not convinced it will be easier to do with it, and the speed advantage is probably not much. Also, MathML is not supported by Chrome and IE, even though it’s a W3C standard right now…

What I want to do is make functions that represent and animate (using TweenMax from GreenSock, which I found does html5 animations very well and easily) common algebraic and mathematical manipulations, so that it works like an API, then find ways to interface with it, either through a file, like we said to save “mathematical presentations” (which may even be interactive in the future), or through the web UI, which would work by selecting elements and pressing buttons, or keys, or maybe by drag-dropping!

1 Like

Cool, looks like you’ve done some practical research into the right direction. Personally, I haven’t heard about kaTeX or MathML or TweenMax, yet.

What I’m wondering about is whether you want to focus on a web-approach, or whether it might make more sense to create a regular application. I’m not sure whether web technologies are mature and fast enough to support what you want to do – though I guess they are, even if just barely.

This project is certainly quite ambitious and complex. Finding some supporters should be a priority, at least once you have created something that attracts interest.

I’ve just done some learning on jQuery and decided that it was much better to do it on jQuery. Even native jQuery animations are enough, so I’m not using TweenMax any more.

Meanwhile, I’ve added a first implementation of a single “manipulation” (as I call them): move a “term” from one side to the other (changing the sign). The implementation is general enough to allow any polynomial expression on either side, which you can enter: http://codepen.io/guillefix/pen/xGWQPJ .

The implementation isn’t perfect, some improvements to the animations should be done, and make it work with more symbols like square roots and fractions (EDIT: just checked, and it works with fractions written as TeX with trivial change of code. And with square roots too, although with a funny animation).

Then this is just one “manipulation”, there are of course many many others to add (hopefully they’ll take a bit less time, with accumulated experience). An incomplete list I’ve done to know what to work on next is here: A simpler way to organize your work - Workflowy (not sure if link is public). Note that I’ve called these things manipulations to go with the term used in literature of “manipulatives”, which are things you play with to do math. Some traditional ones are the Cuisenaire rods, and in modern times people talk about “virtual manipulatives” (See for example this). However, for some reason, when they talk about manipulatives I always see them talking about alternative manipulatives, and nobody seems to refer to the most common manipulative, i.e. standard numerals and symbols. Another annoying thing I want to change, is that most, if not all, of this talk, is done around quite elementary mathematics.

Finally, regarding the power of web-approach, I actually think and have read somewhere, that with the huge investment by Google and other Internet giants on making JS and web techs super efficient, they are actually today a very powerful programming language. And while indeed, they won’t be as powerful as something done on C, there is just something very valuable in being able to send a link to someone and have them have something that just works immediately. That being said, I’m defo not against and will support someone trying it in some form of compiled language. That brings us to what you said at the end. We need to find collaborators for this, I agree. I will soon (as in now more or less) begin sharing this in some FB groups.

(P.S.: Uploading to GitHub…)

1 Like

I am impressed that you could make these animations work with jQuery so quickly and easily. Also, your demo gif animation is pretty neat. How did you do that?

You are probably right about the advantages of the web approach. When I studied mathematics I always wanted to have some collaboration platform based on LaTeX, or something similar. Something like a student sourced Wikipedia for all kinds of mathematics. Learning mathematics should work by editing this Wikipedia. Now that I think about it, this should easily be doable with any sophisticated Wiki and a MathJaX plugin or kaTeX. Actually, this approach should make math textbooks obsolete. But that’s not how the real world works for some reason…?

Ninja edit: Now that I think about it, it should really be based on some kind of decentralized wiki, like this “federated wiki”.