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 players 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 players 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 users arithmetic skills such as solving multiplication, division, addition and subtraction under time pressure.
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.
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.