My husband is a mainframe security software developer with more than 35 years experience in computer programming. When I tried to get him to play Robot Turtles, he didn’t seem thrilled, but being supportive of this project, he complied. When we played and he started to understand what the game was about, he mentioned that he wanted to tell some people at work about Robot Turtles, I asked him to let me share his comments here. This is his email.
Every now and then I’ll get smacked on the head in a way that makes me think “how brilliant, why couldn’t I think of this?”
As part of a learning project at work – my wife got a copy of a children’s game called “Robot Turtles.” It’s a standard board-type game using a familiar theme; you choose a turtle which is represented as a card you move along a maze of obstacles consisting of unmovable stone walls and meltable Ice walls in search of the elusive hidden treasure. You get the treasure, you win; your opponent gets it first, they win – not you. OK, kids games 101, right? Wrong!
Where this game differs is that each player has a stack of cards that enables them to perform various actions with their turtles. One card turns the turtle left, one turns it right, one advances the turtle one position forward, and one zaps (melts) the segment of ice wall in front of them.
The kids play the game by playing cards in a sequence to select their path through the maze – the outcome of which will (hopefully) lead them to the hidden treasure. The parents are responsible for keeping their mouths shut and reacting only to the directions given by their kids (and by making the appropriate turtle sounds for each card played).
These cards are a basic computer program – an exact sequence of instructions to be followed out by the “dumb” computer (in this case, quite appropriately, their parents). I immediately thought “Turing Machine” when I saw this in action.
Making it more interesting is that, depending on the setup of the maze – it may be desirable to define repeatable patterns of play activity. The game provides for this – effectively letting the kid “program” a “subroutine” that then can be invoked multiple times by means of a special “call subroutine” card. My wife had challenges understanding how this worked – and when I understood both the game and this subroutine capability and explained it to my wife – I stood back in awe of the brilliance chosen by this game designer to teach computer programming. Back when I was a wee lad – the common school of thought was that a certain level of mathematical skills was necessary as a foundation for teaching programming. This brilliant game knocks that notion away and brings the concept of computer programming down to the level of four-year-olds.
If you’ve got kids – you may wish to check out their website. (I am in no way connected with this game, company, and stand to gain no benefit other than seeing the joy of the promotion and preservation of the nerd species commonly known as programmers).
Sr Principal Software Engineer