In modern society, technology is advancing quickly, and there are many jobs opening up that require engineering for these technologies. For most types of engineering, a strong math background is required. This game we have created will help young children nurture these basic math skills. With a strong math foundation, other aspects of math will seem easier, and it will help the child with future math endeavors, such as the SAT.

What it does

This game tests the user on different levels of addition, subtraction, multiplication, and division. The user first logs in with his/her name, and then he/she is brought to a page where his/her previous game statistics are shown. The user can then play one of the different levels of the game, and once the game ends, his statistics are updated. All user data is saved in a python flask server, so as long as this server is running, the user can come back at any time, log in with the same name, and see how he/she did previously.

How we built it

The client-side of this game was built with HTML/javascript, and it runs on the browser. The server-side was made using the flask module from python. For each of the different pages the game goes to, there are different HTML files. The change in file is triggered by button events and a timer after finishing a round of the game. The gameplay aspect is brought forth by HTML's canvas, which allows for shapes to be drawn. Progress in the game is triggered by javascript click events on the screen, which detects clicking on the circle. To make requests for a user's game data, an AJAX request is sent, and a value is returned from the python flask server. This value is then used to display the user's game statistics.

Challenges we ran into

One challenge we ran into was that the game was not fully being updated when running it on a localhost. This was fixed by restarting the server. This meant we had to restart the server every time we updated our HTML/javascript files.

Accomplishments that we're proud of

One thing we are proud of is using two different frameworks (python and HTML/javascript) to create a project. In our previous projects, we stuck to using only one, but for this one, we decided to try multiple. We noticed that communication between server and client didn't depend on the language being used. Since we weren't familiar with node.js, we decided to use a different language in which we were familiar with the server-side: python.

Share this project: