views:

177

answers:

3

I'm running a day for 30 kids aged 11-18 about computer game programming. They have all opted to do it, but they have no experience at all of programming. My main aim is for them to learn a few things:

  • programming is hard/challenging
  • programming is something they can learn to do
  • being a computer games programmer != playing games all day
  • a little more insight into how games actually work

I'd thought of splitting them into two groups, of younger/less experience and older/more experience, then doing slightly different things.

I'd considered showing them Scratch, Game Maker, before showing them the basics of Python and getting them to write a simple text based game (perhaps something like, computer picks a random number, you have to guess it in as few guesses as possible, computer says higher/lower for each guess).

Does anyone have any ideas of things to do/show them/ways to teach them?

+5  A: 

I know someone who demonstrated sorting algorithms by sorting the students by height. Apparently it was a lot of fun. Start them out standing against the wall in random order, and do (bubble|quick) sort on them.

RS
+3  A: 

That's a lot of ground to cover in one day with kids having no prior programming experience. You need to teach programming concepts (branching, loops, etc) and how to apply them to a game. Additionally, there's not that much "coolness" factor in a number guessing game.

You might consider finding an existing, simple, graphical game (or even 3D demo) and showing them how to modify some parameters of the game. Perhaps one of the demo projects at Ogre3D.org would be appropriate.

By taking that approach, you give them the gratification of working with program code and seeing a direct (and hopefully "cool" result) without needing to really understand the theory first.

In a sense that's not too different than a typical programmer career path... most folks maintain existing code before designing and writing new stuff.

Eric J.
That's a good idea - I'd considered giving them a few small games and asking them to modify them - make the man move faster, or make the gun shoot quicker etc. Ogre looks pretty cool - have to grab a Windows PC and try it out!
Rich Bradshaw
@Rich: Ogre also supports all major Linux variants and Mac OS/X (though my personal experience is on Windows)
Eric J.
Oooh - didn't notice that - just went to the demos page, and noticed the DirectX and Windows bits.
Rich Bradshaw
+1  A: 

Have a look at this similar question here on StackOverflow titled 'When should a child programmer move on from Alice or Scratch'...

tommieb75