For the past few weeks CoderDojo Dublin has been running two separate sessions. The session I’ve been leading is titled Introduction to Game Programming Using Python. The response has been overwhelming. The name of the course sparked a lot of interest from the kids and maybe a little hesitation by the parents. Before every session I’m reassuring a nervous parent that it will be OK. The truth is, I believe it — take a chance, your going to be surprised. What have we been learning? Material usually not presented until the university level; given to children age as young as nine. Yes, nine, and they are brilliant.
And, we’ve been rocking out some concepts that are making the parents dizzy. Python is a first-class programming language, used as an embedded scripting language in a variety of software and operating systems. The language is built-in to Apple OS X and Linux. Interpreters can be installed on Windows, iOS, and Android mobile devices. A language in heavy use in Google and others. We are using it to build games. These first few weeks were starting with games like tick-tack-toe and other Python text games taken from Invent Your Own Computer Games with Python from http://inventwithpython.com/.
Now, last Saturday I was really pushing some intense material. We were trying to digest Python lists and dictionaries using real world data from Gravatar.com. These kids had spent the better part of two hours following along. We are using an interactive classroom environment. In much the same way a blacksmith would teach his craft, the participants use their laptops to mimic what the presenter is typing into an interactive terminal. We address technical issues on the spot. About fifteen minutes before the end, it happened, first a question about the nesting objects. And, a second question about using API data from third party resource; then a third about how to incorporate the data into a web application. After each question there was an audible gasp. You could almost see the ideas jumping out. Want to build a social game? Want to grab some data from Facebook or Twitter? Here is how.
The typical participant is age 11-16, accompanied by a parent, and brings a laptop. Some of the parents are following along as well. We’re over-booked, every week. We have begun tackling the challenge of an early introduction to computer science curriculum. How? By teaching programming. Want to help?