This post is about a simple children’s math game that I coded, which anyone interested is welcome to download. I’ll get to that momentarily; first a word about why it seemed worth doing.

One of the most glaring failures of public education is its inability to impart even basic math skills. There is a reason why we don’t succeed in teaching math: it’s impossible, the way we try to do it. All the children in a class in school are expected to do the same assignments, in the same book, in the same order, at the same time. When the book moves on to the next topic, every child in the class has to move on, whether he or she has mastered the current topic or not.

That doesn’t work at all with math because math builds on what has already (supposedly) been learned. You can’t successfully teach a math topic to a child who hasn’t already mastered all the basic skills that led up to it. If a child is weak on even one of the previously covered skills, he or she will flounder, most likely from then on. In elementary math, if you want a child to succeed, you do not move on to topic N + 1 until the child can execute topic N, consistently, quickly, with no false moves, and no mistakes. You don’t have to take my word for that — precisely that concept is the foundation of the only truly effective children’s math curriculum I’m aware of — the highly successful (and expensive) Kumon Math after school tutoring program.

Our two nephews who live with us (ages 9 and 14) go to a private (Catholic) school here in Davao (Philippines). Both are bright kids; both struggle with math. They get passing grades, but that’s mainly because schools find ways to let kids get passing grades without actually being able to do math. If they didn’t do that, everyone would be stuck repeating fourth grade forever, since, as already noted, it isn’t possible to learn math this way.

So my first impulse was to try a time-honored educational strategy: bribery. Khan Academy has a new math tutorial series that seems to have considerable potential — I’m not referring to the traditional Khan Academy video explanations, this is a newer feature that involves problems and has badges and avatars and other “gamification” features. So I made an offer to each of the nephews that on any day that they put in a half hour on Khan Academy math, I will pay five pesos, and if they also put in a half hour on the preceding day, then it’s ten pesos (in other words, it’s ten pesos per kid per day if they don’t skip days, dropping to five pesos on any day if they skipped the previous day). That may not sound like much by U.S. standards, but prices are much less expensive here, and five or ten pesos is enough to buy a treat at the local sari-sari store. So far the nine-year-old has saved over 700 pesos toward the smart phone that he has his eye on.

As I started working with them on the Khan Academy site, it became quickly apparent that neither of them had really memorized the basic tables of addition, subtraction, multiplication, and division. In my experience, any time a child is having trouble in math, the very first thing to do is make sure they have memorized the basic tables to the point that they can respond instantly and correctly without having to think about the answer. There is really no point trying to go on to harder things until they can do that.

As a software geek, my first instinct was of course to look for a software game that would drill them on the tables. Deja vu all over again: I went through pretty much exactly this same exercise when my son was in fourth grade, in the early 90’s, with the same result: there were quite a few math games (back then it was PC games, this time it was mostly tablet games), and we tried a representative sample. Both then and now, all the ones we found were fatally (in my view) flawed: they were just too slow. In an understandable effort to make the games entertaining, they include animation and “gamification” features that result in way too much delay between questions. And the scoring did not depend on how quickly the player entered the answer.

Back then, I solved the problem in true software geek fashion by writing my own app. It worked pretty well, and within about a month my son had all the tables nailed, to the point that he could answer random problems at a very fast rate — slightly faster than one per second for the basic tables. I don’t know what happened to that app, so for the current crop of nephews I coded up another one, essentially the same game.

The concept is very simple: the app shows a timer bar. When you start the game, the timer bar goes down over the course of one minute. The game presents random problems from the selected addition, subtraction, multiplication, and division tables as fast as the player can enter the answers (which can be very fast once they learn to use the ten key number pad on the keyboard). The object is to correctly answer as many problems as possible before the timer runs out. Correct answers get points; harder problems get more points than easy ones. Bonus points are awarded for strings of correct answers with no misses. The player (or parent) can select which tables and which operations to practice, singly or in combinations. If the player enters a wrong answer, no points are received, the program displays the right answer, and the player still has to enter it to continue, in effect a time penalty.


That’s basically it — about as simple as you can get, but it does two things that seem to be quite effective: it drills the player on a large number of problems in a short time, and it rewards answers that are both fast and correct. A this point it’s just a crude prototype, but it seems to accomplish the desired result: kids who actually know their times tables by heart.

I have some ideas about improving the gamification aspects, and I’ll probably migrate it to a web app or an Android app, since the kids are pretty much glued to their tablets. But meanwhile I’ll go ahead and open it up for download in case anyone wants to try it. The game (for Windows XP, 7, or 8) can be downloaded here (right click on this link and select ‘save as’), just download the setup.exe and double click on it and it will install the game. The source code is posted to github here. The program is written in Visual Basic using the newly free-to-download Visual Studio 2013 — the first time I’ve used that, I hadn’t upgraded since Visual Studio 2010 due to being far too tight to spring for the $600-plus upgrade price. Visual Studio is absolutely first rate software by any measure, and my sincere appreciation to Microsoft for offering it to the non-enterprise world for free (a smart move on their part, I think). I did encounter a few issues with it, mainly relating to deployment, which I will probably write about in another post.


Leave a Reply

Your email address will not be published. Required fields are marked *