Ask HN: I am building a step-by-step equation solver to learn how math works

9 points by tkosan ↗ HN
I am an average programmer who used to have trouble understanding how math worked. According to Donald Knuth, science is knowledge that is understood so well that it can be taught to a computer. So, I decided to write a program that solves elementary algebra equations step-by-step the way humans typically do to fully understand the process. This turned out to be a very effective way to learn math because I now understand how elementary algebra works, and I am no longer intimidated by more advanced mathematics.

My question is, would enough programmers be interested in learning how math works using this approach to make it worthwhile for me to create educational materials that are based on it?

13 comments

[ 2.8 ms ] story [ 44.7 ms ] thread
This is pretty cool. I might actually use this (assuming it can solve any "solvable" linear system). I'd also use a version of this for differential equations, if you happened to write one :)
I think there will be hundreds of kids and students who struggle with math.
Yes, sure. You can even give a better insight about how roots of a polynomial of grade 2 can be obtained with a step by step approach or how you can derive and integrate symbolically.

This is like the explain command in databases.

Yes, sure. You can even give a better insight about how roots of a polynomial of grade 2 can be obtained with a step by step approach or how you can derive and integrate symbolically.

This is like the explain command in databases.

This exists. Its a program called Maple and really sophisticated. Industry standard. Every physicist/mathematician has a license. It can perform all the standard operations on a lot of math objects that you have probably never even heard about. No offense here. Math gets a lot stranger once you leave calculus behind.

There is wolframalpha, the computational knowledge engine. Provides maple core functionality and behaves more like a search engine.

If you do this for your own learning experience, that's awesome. As a business, you would have to be really good at a lot of very deep math to compete on that level.

Is Maple able to show the steps a human would typically take to solve a given elementary algebra equation?
The market for "solve an algebra equation and show the steps" is students who want something to do their homework for them. And yes, websites (and graphing calculator apps) already do this. For example, http://cymath.com/

It's cool that you made it, but whether you decide to do anything else with it depends on what your goals are.

No currently used step-by-step equation software I am aware of shows all of the steps (inferences) that are needed to solve an equation, and why it took those steps. For example, I just had cymath solve 8x - 2 = -9 + 7x. The solution it provides is missing steps, and there is no explanation of why it took the steps it did. The solver I am writing shows all of the steps needed to solve an equation, and it is capable of explaining why it took these steps (although the "why" part is not shown in the video).
Wolfram|Alpha does this pretty well, although they moved the step-by-step solver to the paid version quite a while ago and I've only tried the early free version. They also have an extensive knowledge base and other resources that make it very easy to understand even completely new concepts.

And Mathematica of course does everything Wolfram|Alpha can.

I would be very interested. Do you have a sample lesson to share?