Bill MacKenty

  Home     Computing     Teaching     Bushcraft     Games     Writing     About  

Best way to learn programming for a 16 year old? Build a game….

Posted in Games in education Practical Advice Teaching Diary on 28 - April 2009 at 05:00 PM (15 years ago). 338 views.

I work at a school for gifted kids.  One of my great joys is having long, highly detailed technical talks with the kids.  When I first started working at this school, I was shocked when I engaged in a 45 minute debate about cross-side scripting with a 7th grader (13 years old).  I mean, this kid REALLY understood his stuff.

Yesterday I had another such conversation. One of our students is just eons ahead of his peers as a programmer and geek. He generally likes to frolic with low-level code, device drivers, and small servers.  He has a well-reasoned philosophy that light-weight, locally compiled code connected to the cloud is better than scripting languages and monolithic programs.  Really neat stuff.  We don’t see eye-to-eye about everything, but from a geek point of view, he is a delight. He is, in every sense, an implementor.

So, part of discussion yesterday was around “what to do” with a program. Like, what direction to take.  After a few seconds thought, I told him to write a game! As I reflect, almost all of my programming knowledge and experience came from designing games, hacking games, and rolling my own game. Even now, I occasionally hack at a multiplayer text-based game and continue to learn. Time and complexity be damned! I’m sure he will write something really fun, and I can’t wait to play with it.

This is the magic I see in computer games - observe the time, enthusiasm, and energy they spend with computers. It really is intriguing.

Now. A Practical Note (tm) - Making / modding a game takes a long long time in my opinion, not for in-class work. However, as long as there are good guidelines for outcomes (so the kid doesn’t spend 10 hours making a flaming sword with an accurate heat ratio) hacking at a game is a delightful way to learn.