The card game ‘Magic, the Gathering’ isn’t directly related to learning to code, but it is directly related to computational thinking; there is a lot to keep track of while playing the game that mimics modeling a running program in your head: the state of the game environment, your life, your opponents life, the cards in your hand, the value of your mana, the sequence of steps in each turn, etc. It’s no coincidence that plenty of programmers play the game.
About 6 months ago my sons started playing Magic. Daniel had left his pokemon cards out in the rain and was upset; I gave him some of my old magic cards to keep him entertained, and he took to it quickly, teaching his brothers and then his friends at school.
This past week gameplay has picked up in our household (a few rainly days and a punishment banning them from electonics certainly helped), and they really took to building their own decks.
After a while, they turned back into the stubborn boys that they are, and they wouldn’t let me teach them any more. I wrote up a guide to building your own decks, and labelled it “unauthorized” and “not for distribution to kids”, printed out one copy, told them I hacked into the server of the company that makes Magic to get it, and now they are fighting over who gets to read it.
Sneaky, yes, but effective. I’m attaching the document to this post with the hope others out there find it useful.
While I wasn’t thinking about Magic as a tool for computational thinking when I started LoudounCodes, I’d be willing to organize some educational sess and competitions at a local library if other parents are interested. If you’re a parent and curious about why you should let you kid play this game, check out this video.