Gamifying algebra?

High school algebra marks a key transition point in one’s early mathematical education, and is a common point at which students feel that mathematics becomes really difficult. One of the reasons for this is that the problem solving process for a high school algebra question is significantly more free-form than the mechanical algorithms one is taught for elementary arithmetic, and a certain amount of planning and strategy now comes into play. For instance, if one wants to, say, write as a mixed fraction, there is a clear (albeit lengthy) algorithm to do this: one simply sets up the long division problem, extracts the quotient and remainder, and organises these numbers into the desired mixed fraction. After a suitable amount of drill, this is a task that can be accomplished by a large fraction of students at the middle school level. But if, for instance, one has to solve a system of equations such as

for , there is no similarly mechanical procedure that can be easily taught to a high school student in order to solve such a problem “mindlessly”. (I doubt, for instance, that any attempt to teach Buchberger’s algorithm to such students will be all that successful.) Instead, one is taught the basic “moves” (e.g. multiplying both sides of an equation by some factor, subtracting one equation from another, substituting an expression for a variable into another equation, and so forth), and some basic principles (e.g. simplifying an expression whenever possible, for instance by gathering terms, or solving for one variable in terms of others in order to eliminate it from the system). It is then up to the student to find a suitable combination of moves that isolates each of the variables in turn, to reveal their identities.

Once one is sufficiently expert in algebraic manipulation, this is not all that difficult to do, but when one is just starting to learn algebra, this type of problem can be quite daunting, in part because of an “embarrasment of riches”; there are several possible “moves” one could try to apply to the equations given, and to the novice it is not always clear in advance which moves will simplify the problem and which ones will make it more complicated. Often, such a student may simply try moves at random, which can lead to a dishearteningly large amount of effort expended without getting any closer to a solution. What is worse, each move introduces the possibility of an arithmetic error (such as a sign error), the effect of which is usually not apparent until the student finally arrives at his or her solution and either checks it against the original equation, or submits the answer to be graded. (My own son can get quite frustrated after performing a lengthy series of computations to solve an algebra problem, only to be told that the answer was wrong due to an arithmetic error; I am sure this experience is common to many other schoolchildren.)

It occurred to me recently, though, that the set of problem-solving skills needed to solve algebra problems (and, to some extent, calculus problems also) is somewhat similar to the set of skills needed to solve puzzle-type computer games, in which a certain limited set of moves must be applied in a certain order to achieve a desired result. (There are countless games of this general type; a typical example is “Factory balls“.) Given that the computer game format is already quite familiar to many schoolchildren, one could then try to teach the strategy component of algebraic problem-solving via such a game, which could automate mechanical tasks such as gathering terms and performing arithmetic in order to reduce some of the more frustrating aspects of algebra. (Note that this is distinct from the type of maths games one often sees on educational web sites, which are usually based on asking the player to correctly answer some maths problem in order to advance within the game, making the game essentially a disguised version of a maths quiz. Here, the focus is not so much on being able to supply the correct answer, but on being able to select an effective problem-solving strategy.)

It is difficult to explain in words exactly what type of game I have in mind, so I decided to create a quick mockup of what a sample “level” would look like here (note: requires Java). I didn’t want to spend too much time to make this mockup, so I wrote it in Scratch, which is a somewhat limited programming language intended for use by children, but which has the benefit of being able to churn out simple but functional apps very quickly (the mockup took less than half an hour to write). (I would certainly not attempt to write a full game in this language, though.) In this mockup level, the objective is to solve a single linear equation in one variable, such as , with only two “moves” available: the ability to subtract from both sides of the equation, and the ability to divide both sides of the equation by , which one performs by clicking on an appropriate icon.

It seems to me that one could actually teach a fair amount of algebra through a game such as this, with a progressively difficult sequence of levels that gradually introduce more and more types of “moves” that can handle increasingly difficult problems (e.g. simultaneous linear equations in several unknowns, quadratic equations in one or more variables, inequalities, etc.). Even within a single class of problem, such as solving linear equations, one could create additional challenge by placing some restriction on the available moves, for instance by limiting the number of available moves (as was done in the mockup), or requiring that each move cost some amount of game currency (which might possibly be waived if one is willing to perform the move “by hand”, i.e. by entering the transformed equation manually). And of course one could also make the graphics, sound, and gameplay fancier (e.g. by allowing for various competitive gameplay modes). One could also imagine some other types of high-school and lower-division undergraduate mathematics being amenable to this sort of gamification (calculus and ODE comes to mind, and maybe propositional logic), though I doubt that one could use it effectively for advanced undergraduate or graduate topics. (Though I have sometimes wished for an “integrate by parts” or “use Sobolev embedding” button when trying to control solutions to a PDE…)

This would however be a fair amount of work to actually implement, and is not something I could do by myself with the time I have available these days. But perhaps it may be possible to develop such a game (or platform for such a game) collaboratively, somewhat in the spirit of the polymath projects? I have almost no experience in modern software development (other than a summer programming job I had as a teenager, which hardly counts), so I would be curious to know how projects such as this actually get started in practice.

30 comments

Professor Tao: there actually is software like this out there, or at least there was ten years ago when I was in high school. I was part of the EPGY program–if you’re not familiar with it, it’s a set of electronic correspondence courses run out of Stanford intended for advanced high schoolers. I worked through Algebra I with them, and part of the course module was software exactly like what you describe. I don’t know if the software is available in any other context, though.

It would be interesting to consider the connection to this and interactive theorem provers like Isabelle (http://isabelle.in.tum.de/index.html). I’d guess even slightly more complicated proof constructs could be handled in some way. The syntax and interface are likely too complicated for kids, but a lot of the underlying proof “actions” from things like Isabelle might be useful as a starting point for actions in such games.

This is right on. While we’re far from achieving the goals you set out, we’re trying to build more and more of this learning-via-intrinsic gamification into our interactive exercises at Khan Academy. A couple recent examples:

Exactly this. Edu gaming should not be about rocketships and laser guns. Its about using technology to simplify the problem solving approach to the most simple core element (then you take away supports until they can do it themselves). For example, the first time you drive a car, you might go to an empty parking lot or quiet street just to get a handle on acceleration and steering, sure, you don’t *actually* know how to drive from these scenarios, but it helps you master the basics before you go ahead and crash into somebody.

There is currently a FANTASTIC little app which would solve exactly the problem your son was having with his algebra work. Here’s a link:
Notice that the arithmetic and rewrites are all handled by the software, so the student can focus on applying different strategies to solve these algebra “puzzles”.

That Algebra Touch app looks beautiful and useful, but I wouldn’t quite call it a gamification.

I think that the ideal algebra game wouldn’t look much like algebra at all, so that it could be used well before formal instruction begins. I’m thinking of a game in which the equation (or equations) is represented completely pictorially. For example, 16x+7=87 could be a scale with 16 red balls and 7 blue balls on one side and 87 blue balls on the other. There could be a “Tool 1” that lets you click on identical items on each side of the scale and “additively cancel” them away. (Or of course, anothet tool that adds the same things to both sides.) That would leave you with 16x=80. “Tool 2” would then let you execute the division step by physically arranging the balls into groups. (For example, 4 groups of 4 red balls each on one side, and 4 groups of 20 blue balls each.) I guess subtraction could be achieved with negative balls that cancel the blue ones. (I guess that hurts the simple physical interpretation of weights.) More advanced levels would allow you to do things like break balls into fractional wedges, or re-package the balls into stuff like a red box representing 234/7 red balls, or something like that (so that you can easily deal with harder numbers). Higher levels would give you access to tools that automate processes mastered earlier on (e.g. “divide by 4” would automate the previously physical process of making 4 equal sized groups on each side). I’m sure there are even better ways of doing this than what I am describing (for example, x^2 doesn’t work so easily with this visualization), but I think a game along these lines would be pretty awesome.

I agree that one should use non-numeric representations for these equations at early levels, with perhaps a transition to numeric ones occurring at some more advanced stage of the game. (One can also imagine using various animations to illustrate basic concepts such as cancelling, such as having the objects representing the left-hand side “go to war” with those on the right-hand side.)

Professor Tao, do you happen to have a list of games that you like from mathplayground.com? I’ve poked around there a few times, but I always get overwhelmed by the huge number of games available there (and the minimal organization and lack of a rating system).

Sign errors are common in elementary algebra. They are avoided by defining m=-1 by the equation m+1=0 and replacing ‘-‘ by ‘+m’ everywhere where the minus sign occurs in the formulas. For example (a+b)(a-b) = (a+b)(a+mb) = (a+b)a+(a+b)mb = aa+ba+amb+bmb = aa+ab+mab+mbb = aa+(1+m)ab+mbb = aa+0ab+mbb = aa+mbb. Here all the intermediate results are included and all the steps are elementary. Doing this will free the student from making sign errors. And later introducing complex numbers by ii+1=0 will be less surprising.

Give four answers: an answer suited for a PhD logician, an answer suited for an undergraduate who has had a semester of mathematical logic and set theory, an answer suited for a middle school teacher, and an answer suited for a middle school student. How equivalent are the answers?

I think a lot of people out there must have wished for a program just as you describe. I am definitely hoping someone out there will build one some day. After college I spent about a year on the idea but have very limited programming skills so it was a dead end. I envisioned a learner having the freedom to try different operations but they only get certain ‘moves’ at first, such as cancel, or move x from left side to right side. Then as they level up there are more types of operations and more difficult problems. The benefit of the computer environment is it eliminates the worry of arithmetic error. Also, the nice thing with a computer is you can do ‘handicap’ problems, where you disable certain moves so the player has to learn different ways to solve/view the same problem.

Also just wanted to suggest Polya’s ‘Plausible Reasoning’ as a useful reference. I found it very inspiring when I was making my attempt on the program, since it is the clearest guidance I could find on the mechanics of solving math problems.

You should look at two directions of work:
– sumit gulwani’s “program synthesis for automated education” effort: He is a researcher at MSR in program synthesis and he has been attempting to design automated tutoring systems along the lines you describe. See his paper “Synthesizing Geometry Constructions”, or “Automatically Generating Algebra Problems” for examples.
– math.mettl.com: is a platform that guides, and corrects, students through K-12 math. They are different from what you describe the website game where they make users progress though the exercises laid out in a game; i.e., khan academy style. Since they are commercial establishment, their approach is opaque, but good to know.
– In general the program synthesis community (shameless plug :), has been recently interested in these applications as our techniques have direct applicability to this domain.

This is more advanced but I always had trouble learning undergraduate real analysis with all the delta-epsilons. It is easier to learn it as a two-player game?

Continuity looks terrible for a first-timer.
We could turn it into a game between two players.

First A choose
B’s turn to pick
A choose an
B verifies

Uniform Continuity is not much better… This is how I navigated through my analysis classes. I’m not sure if verifying continuity is a collective effort. I could imagine both sides quite actively choosing bad values of delta and epsilon to stump the other. And I’m not sure why I made “choose” and “verify” on equal footing.

I imagine a game-theoretic interpretation of analysis might be more fun…

I think the “Balance Scales” game linked in this comment (https://terrytao.wordpress.com/2012/04/15/gamifying-algebra/#comment-138451) is a bit silly. In pretty much all the levels I’ve seen so far, the heaviest object is the unique object that never appears on the high end of a scale or on a balanced scale. I don’t think this is a universal feature of the kinds of inequalities being played with… is it just lazy level design?

I think this is a universal feature of this type of puzzle, provided that one asks for a unique solution. Clearly the (unique) heaviest object A satisfies the condition that it never appears on the high end of a scale or on a balanced scale (in terms of inequalities, this says that the mass of the object is always greater than some other quantity). On the other hand, if any other object B satisfies the same condition, then it is impossible to distinguish which one is heavier (for instance, if we assume that mass(A)>mass(B)>0, then note that the inequalities mass(B) satisfies would be also be satisfied by A+B).

In this case it is a research tool, and very useful because the classically notated calculations are horrendous, and the more modern string diagram notation (only a couple of decades old) can be time consuming to draw.

This is at a somewhat lower level and doesn’t really call for any snazzy software, but I thought I’d mention it here as it fits in with the general pedagogical objective. A couple of years ago I came up with a game I call “Factor Subtractor” intended to motivate practice in elementary arithmetic. Analyzing the strategy for best play leads to some open questions of potential interest. There is a short write-up describing the game available among the links for the OEIS sequence http://oeis.org/A208980 (4,9,10,14,16,18,22,25,…). A key point: I’ve had positive reports from some teachers who’ve tried it with their students that kids actually enjoy playing the game.

I have actually been working on an application for doing these types of interactive algebra problems for about a year now. My goal with the software is to give teachers better insight into the day to day learning of their students, by storing their work in the cloud. While I believe that creating a more game-like atmosphere could be useful for engaging students, I have been focusing my efforts on creating a system that fits within a classic educational model. Some of the the students’ busywork is reduced with the application copying expressions from one line to the next, but in terms of adding functionality to perform operations like combining terms, the difficulty has not been in creating algorithms, but deciding how to allow teachers to turn these features on and off for different exercises/courses without making the system too complicated. If you would be interested in hearing more about the project email me at dev AT open-math.com

Nice blog post, and for what its worth a pretty workable demo for a half and hour with scratch.

I see you got a fair amount of interest (and links) for your project. Would you like to have a webinar about it at Math Future? There are several game designers involved – including Bootstrap and Math Playground creators.

You may like to know that there is an app now available for iOS and Android called DragonBox, which is exactly algebra gamified. Moreover, in the author’s native country (Norway), the app has been outselling Angry Birds, which of course is one of the most popular games thusfar.

Dear Dr. Tao,
I have played your ‘Algebra Game’, and have mentally completed the levels in game. I wonder if there is a general methodical approach to simplifying linear equations with fixed moves within a limited amount of steps. The closest concepts to this idea is the “Shortest Path Algorithm”, but proves unhelpful to the case. I am unable to even devise a graphical representation of how operations like ‘/3’ or ‘-2’ affects equations like ‘3x +6 = 6x -9’. How do you think these operations can be represented in terms of simplifying single-variable linear equations?

For commenters

To enter in LaTeX in comments, use $latex <Your LaTeX code>$ (without the < and > signs, of course; in fact, these signs should be avoided as they can cause formatting errors). See the about page for details and for other commenting policy.