The idea started one day after my son, who just turned 7, was rattling off different character combinations that would create other characters in one of his favorite iOS apps, “My Muppets Show.” I asked him, "How do you unlock Janice?" to which he quickly spouted out, "Durwood Clapper plus Kizzy."
After a few minutes of character quizzing (in which he was correct, having memorized these combinations for days), my wife chimed in: "Let's start teaching him how to code,” which is likely a more marketable skill than training him to go onto Jeopardy some day to compete in the category of Muppet app character combinations (no offense, Jeopardy contestants).
If I was going to get him (and his two sisters, one older and one just entering kindergarten) interested in coding, I'd have to brush up on my own skills, which sadly had atrophied after having discovered pursuits such as girls, college and beer (in no particular order). In addition, I want to awaken the programming wizard that I was in 8th grade (I won a class award for creating a game in BASIC called "Zoobie") and see if I could also learn some new skills and languages as well. We're constantly writing about how IT needs to align with business, why shouldn't someone on the business side (in my case, the editorial department) learn more coding skills?
Beyond the Zoobie world (and a very cool random dice-based football game), I dabbled in HTML programming in the early days of the Internet, and I'm scary enough with article publishing code such as image tags, paragraph breaks and copying/pasting embed code for YouTube videos.
Hence, this project was born. If this was a sitcom, the tag line would sound like this: "Can a 46-year-old journalist learn to program along with his children, without driving each other crazy?" (cue "Odd Couple" theme song)
Here's the initial plan, written out in steps but not yet a complete script or algorithm:
Step 1: Ask the kids if they want to learn how to program. This was actually very easy to achieve, as I approached them during breakfast and said, "Who wants to help me with a work project?" which in their world is the equivalent of "Who wants to go to Disney World?" since every time they visit me at work they run right to the conference room filled with candy or play with all of the gadgets in the “Cool Tools” lab.
Step 2: Figure out what programming language to start with. I also had help on this one, since I had a copy of the DK Publishing book “Help Your Kids with Computer Coding,” which had been sent to the ITworld offices. The authors suggest starting with the Scratch language, a visual language that uses blocks and cartoon sprites to let kids learn the basics of scripts and other logic. The second half of the book moves from Scratch to Python, which I hope to achieve as well (I'm not sure yet if the kids will be on board with Python, but we'll try).
Step 2a: I just discovered that the folks behind Scratch have just released “ScratchJr”, an iPad app aimed at kids aged 5-7 that introduces similar concepts, so we'll be using that app for the two younger kids (I figure my son will straddle between the app and the Scratch site). My older daughter proclaimed she wouldn't be interested in the app, as "I'm 8-and-a-half years old" (going on 16).
Step 3: Chronicle the adventure over a series of articles and provide other tips, tricks and shortcuts (along with suggestions by readers). We're fully aware that there are other languages and methods to try, and it's not likely that I'll invent the next Facebook. I'm going to leave that up to my offspring, or as I'm going to start referring to them, Zoobie 2.0, 3.0 and 4.0.
Of course, I have to motivate my son a bit more, who wants to create a game called "Friend Fighter," in which "you create a guy that looks like you and then you go and fight your friends." Maybe that will be our first mobile app.