# Free, open-source, customizable, interactive math books with gaming elements

## Free, open-source, customizable, interactive books games.

Most kids find computer games much more fun than learning math. Many programmers (including some programmers with 5-6 digit monthly salaries) love StackOverflow because it's a "game" that matters.

So why not combine them and make learning math a game, where a user will be rewarded shinny useless internet points in the form of coins or badges etc?

Why not make it open-source, free and customizable, so that anyone with a great idea can make this world better, by making education more fun and efficient?

## Mathematica's CDF

Looks awesome. It's much more easy to use than, e.g., IPython + Sympy + Numpy. However it's not free.

## My initial attempts

Initially I created an android app that helps my students practice on things like:

-2 + 5 =
(-0.5) (+2.6) =
-2.5 +6.1 -0.6 =


They get shinny coins when they answer correctly, and I can track their progress:

Even an 8 year old played it and said proudly that he had gathered 120 coins! $\ddot\smile$

However, such apps, have a very limited scope. They are not easy to make and distribute, and having a single app for each math concept is impossible.

Of course this app doesn't substitute teachers; it is simply a tool that generates exercises and checks the answers provided by the student.

## Elements to be included

• History, containing wrong answers provided by the user, so that the teacher can figure out what went wrong. Also, shows when exactly each answer was provided in order to determine how much time the student spent, whether he answered extremely fast (indicating cheating) etc.

• Reveal answer and generate new question button

• Shiny coins (and perhaps an option to change the reward to candy or flowers etc.)

• Palette for insertion of fractions, powers etc. like in Mathematica.

## No wheel reinventing!

Before going any deeper into the colossal project of turning all (high school) math into small little games, I need to make sure I'm in the right track. I need to know which are the best tools for the job. But most importantly I need to know if someone is already working on creating interactive free open-source books that gamefy math learning.

I have explored IPython's widgets and interactivity and they seem like the right way to go, since I'm familiar with Python. It does have its limitations though; some of its parts are under construction.

## QUESTIONS

1. Is including game elements in math learning, through free open-source interactive books a good idea? Would it significantly improve math teaching throughout the world?

2. Is there an already existing project that is focused on creating the above books (that includes all elements mentioned)?

3. Which are the best tools (IPython, etc.) for the job?

4. Anything else you consider relevant is welcome.

Note: The question might be broad. If this is the case, let me know what to remove or improve. Or perhaps how to split it in several questions if needed.

I'm not sure whether this question really belongs here, but if it does, I think you should be able to do something along these lines by combining several APIs.

However, first I need to mention one of the more relevant books about this from the past decade, Keith Devlin's Mathematics Education for a New Era. It is a contentious book, of course! But it has a lot of good thinking about how to approach this question. I have no idea whether the actual video game this spawned is still successful. You may be interested in a related article in Math Horizons about a "mod" in Call of Duty. Naturally, there is also plenty of literature on this, and it would be worth getting to a good academic library to do a thorough search before you spend potential thousands of hours developing said library of games!

To your question. I think some combination of the following would do nicely for some of your goals.

• WeBWorK is a homework platform which is open source, and which already supports not just knowing previous answers, but randomization, and even basic badges and awards (though obviously not in an "app" context). It has an API which allows at least the problem engine to function - see this example, sponsored by OpenOregon. I'm not sure it would "know" previous answers in that context. Realistically you would want some more serious database connections anyway.
• The Sage cell server is another open source option for verifying mathematical content online. It doesn't sound like you'd need that much firepower, but I'm not sure what you're envisioning.
• As you point out, IPython widgets are a good tool. I could even potentially imagine some combination of the Jupyter notebook and other tools making a potential game.
• I guess learning math doesn't have to look at all like math. That's a great concept that never occurred to me, and seems to be what Keith Devlin's game is about. Not applicable to all math problems, but still very useful. – Fermi paradox Dec 29 '16 at 17:43

Just one narrow point in response to your several questions: An alternative to Mathematica's CDF.

"Sage is a free, open source alternative to software such as Mathematica and, thanks to its interact function, it is fully capable of producing advanced, interactive mathematical demonstrations with just a few lines of code. The Sage language is based on Python and is incredibly easy to learn."

(Apologies for the somewhat annoying GIF, from last link above.)

I don't think it has been listed yet, so here is my suggestion: Khan Academy.

I used it to great effect to refresh and even come to master the basics, and it includes every maths topic taught in mandatory education (grades...?).

It is effective in its teaching with explanatory videos, hints and reactive questions, and has what I feel is the appropriate amount of gamification: it rewards doing some work regularly, promotes successes without explicitly punishing mistakes, and never locks one out of any content, regardless of level, although it suggests work appropriate to one's skill.

It also allows a teacher (or a parent) to assign specific work to a pupil, and allows review of the child's performance, even telling you how many seconds they took to complete one specific exercise!