Teaching "Programming" to primary school kids

I had a phone call last week from the head of the learning centre at my kids' school. The learning centre works within and outside the regular school curriculum with children that need help keeping up, with kids that need extending, and with kids that just express an interest in learning something else. It's a great addition to the rich tapestry that the school nurtures. The teacher that runs the centre had discovered a group of three kids in year 5 who had got together to "learn programming". She's an excellent educator, but has very little experience in software development and immediately decided that this was something that she needed some outside help for.

I met the kids for the first time today (by the way, while I was waiting for them in the library, I watched the librarians set up a wiki on pbWiki for the students to use when discussing novels - way cool!) and we talked about what it is they want to achieve. It turns out that they want to write a game, and not just any game. They had a list of features:

  • On-line
  • Multi-player
  • Mythical Ages
  • Adventurous
  • Free and Paid Members (like Runescape)
  • Worlds can be designed and uploaded
  • Low minimum hardware and software requirements (ability to scale up when resources permit)
  • Possibility for other devices to control

Their programming experience so far is the for ... next construct in VBA in the Excel macro editor, so we might start with our sights set a little lower and work up.

I'm going to spend an hour or so with them a week for the rest of the school year (only 3 more weeks), and then set them a task for the holidays. Here's what I left them with this week:

  • Add me to your MSN Messenger Contacts
  • Download and install Visual Web Developer Express from https://msdn.microsoft.com/express
  • Create a personal web site with the personal web site starter kit
  • Be ready to talk about VWDE and the personal website next week
  • Email me your current web site address

 Next week we'll talk about what programming means and I'll set a little assignment on writing a web page to add up a couple of numbers and manipulate some text.

I'm looking forward to this journey of discovery.