Most computer algebra systems are good at solving equations, but aren’t very good at showing their work. If we’re looking to educate students and automatically explain a problem intuitively, how does our approach to developing these systems have to change?
Let’s talk about mathsteps, an open-source library that solves basic algebra problems and not only provides the answer, but shows you the steps that get you there. Some algorithms are designed to optimize for space or speed, but I’ll talk about how we design algorithms to optimize for teaching – algorithms that explain to you what you’re doing and why.
We’ll walk through the process of how a human might solve algebra problems and how that can be translated into an algorithm – from parsing math input, to using data structures that make teaching easier. Finally, we’ll talk about the future of tools like mathsteps – possibilities as well as limitations.