I am interested in computer science education, and always look for new effective ways in teaching. This time I consider an adaptation of a game to teach one aspect of computing: algorithms.
The Goal of the Game:
To understand and practice Algorithms. Which is one of (if not the) first concepts to teach in computer science. Even before programming. A Definition of Algorithm can be:
A process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
Algorithms can include conditions, repetition, instructions, maths, etc. The simplest algorithm is to give sequential steps, such as: move one step, then turn. Or they can be more conditional: if there exist a path ahead, move forward, otherwise turn left. Getting familiar with algorithms helps in writing good programs, which becomes a matter of translating your human language instructions (algorithms) into a programming language: like C or Java. The more specific your algorithm is, the easier and more fun your programming experience will be.
The Game
I choose Chess, the classical board game between two players. One element of the game is altered to achieve the serious game goal. The game goes as follows: at the start, both players write their next move, one player takes the opponents instruction and execute it for her. A player basically acts as a computer reading an instruction given to them, and execute it on the other opponent’s pieces. A player can do any move as long as they don’t alter the instruction. Now that might sound simple, but keep in mind that once a player writes her move, she cannot change her mind. The other player flips the opponent’s card, and do the move instead. An example of an instruction is: move pawn #2 one step. Another instruction can be more sophisticated: if opponent moves queen, defend my king. So the instruction can be stretch or very specific. However, the more specific the instruction is, the more you’re comfortable with your opponent play for you! In case the written instruction is not a legal move by the time the player’s turn comes, the player gets to choose one of his pieces, but let her opponent moves it.
Summing up the Serious Game:
The main change in Chess-Serious Game is the card rule which affects the player-player interaction.
- Player Goals:
- Each player want to checkmate their opponent
- Each player want to clear as many pieces as possible from their opponent
- Each player actively acts to safeguard their king
- Environmental Constraints:
- Each piece have limited span of movement (following chess roles)
- Pieces can act as obstacles for other pieces
- Formal Constraints:
- Each player can only decide what to move a turn before their actual movement
- Players cannot change the move they wrote once it’s their opponent’s turn
- Both players get to do whatever they want with their opponents pieces so long as they follow the instruction card
When I first started to brain storm “What would be an amazing serious game that is inspired from a successful existing game?” I started listing the games I love. I prefer mini quick games like Mario Party, so I was trying to fit a computer science concept in process. But then I thought wider, why not consider games that are not digital? Then I remembered how fun chess was in my childhood and even now. The fact that there are so many scenarios to consider always seemed to amuse me. Hence, I though of how similar is that to algorithms. Both chess and algorithms share one concept. In an algorithm, you would have a clear goal to reach and you can only take one step at a time. In chess, the goal is to defeat your opponent through killing their king and you take one step at a time. Because in chess all that thinking happen in our heads, we don’t realise how similar it is to computing and algorithms. Writing down the thought process through instructions might help in understanding how an algorithm works. It should be precise, and it should take in consideration all the limitations out there at the moment.