This is a guest blog by MIT Master Trainer Carly Lam.
Maths Survival Game Project involves creating a mobile game with MIT App Inventor that upon starting, will prompt maths questions to pop up on the screen, which the player will have to answer. There will be a timer that limits the amount of time given to the player to answer the questions correctly. Incorrect answers or answers not submitted in time will cause the player to lose one ‘life’ out of three ‘lives’. Upon losing all ‘lives’, the player will be shown a small pop up screen that informs of the player’s loss, and a button that allows the game to be restarted. When one answer is submitted correctly, the player will be awarded one point, and these points will add up under the player’s High Score. The player will also be congratulated when a new High Score has been reached. The aim of this game is to speed up user’s arithmetic skills such as solving multiplication, division, addition and subtraction under time pressure.
The Learning Goals of the Project
In this Maths Game Project, the learning goal we have set up for the students is mainly the ability to learn and apply knowledge. We introduce the students to programming concepts including variables, database storage, random generators, and incrementation. They have to apply these to their game through effective and strategic planning to build this fun, educational, and most importantly, functional game.
Students explore cause and effect within this program. They must designate each button to a purpose that it must serve. For example, having a button to generate a question, a number, or to take the player to a different screen. Timers are something else that they had to work with. They must program the computer to recognise at what interval would the player have failed the question and lost a ‘life’, whether they have plenty or just enough time, and to behave to these conditions appropriately.
Summary of Concepts Covered Whilst Doing the Project
This project challenges students to develop their decomposition, abstraction, algorithmic, and pattern recognition skills to provide a solution to a problem in a way that can be understood by both the machine and people.
Students learn to break down a problem, and to extract the information most necessary to them through abstraction. In the creation of a solution (in this case, the game itself is the solution!), they must put their understanding of algorithm to the test, and with practice, they will soon recognise the formula behind programming.