Like father like son. My boy is starting to code!
I started coding when I was in fourth grade. I (unknowingly) used a very classical approach. I read the basic terms and definitions and then followed tutorials on how to make games. The tutorials were in qBasic, but I had BasicA, and there were always a few things to debug and modify. So, I would naturally work through the grammar, dialectic and rhetorical stages of coding each month. Now that my son is in the fourth grade, he's beginning to do the same thing. Only this time, the language is a little more kid friendly.
For his birthday this year we bought him Coding Games in Scratch by Jon Woodcock. The first couple of chapters define and categorize what makes a good game (Characters, rules, mechanics, goals, etc.). Once you've learn the basic terminology, the book walks you through how to code flash-based games using MIT's Scratch language and platform. It is a phenomenal way to learn!
After each tutorial, the coder is challenged to think through how to make his/her own improvements on the game. By the end of the book, the coder should have the skills and experience to create a game of their own design. He will also be ready to take on new, more complicated programming languages.
If you would, take some time to enjoy my son's game from the first tutorial.
Click the flag. Use your mouse to catch the stars. Watch out for Inky, Blinky and Clyde.
P.S. The full-screen isn't working right now. You can see the full game here.