Being a programming teacher

One of the consequences of being a software programmer is the never ending desire to make side projects. Unfortunately the typical programming day job has tasks that are  so narrowly focused that you end up using only a limited number of technologies to solve problems within a limited domain. Yet programming is such a vast field with many programming languages to try, various problems to solve or projects to play with; it’s a giant sandpit full of toys!

When I started teaching music I was still in high school (2001) and was teaching myself old-school HTML and Javascript; there was no practical way to do software show-and-tell in 2001. By 2008 the Playstation Portable was released and colleague and I were programming a Desert Strike clone for the PSP Homebrew called Mobile Assault. I remember a saxophone student bring in his Sony PSP and thinking that the screen/image quality looked amazing (480×320); way better than the Sega Game Gear and the Nintendo Game Gear that came before it. So when Mobile Assault, the game I spent years of spare time on, was released first for the Homebrew PSP and  then the iPhone, that same student was keen to try it out.

My students had become my beta testers.

For example, that student proved that someone who had used a virtual/touch joystick on the iPhone had no problems flying the helicopter whereas those who hadn’t played similar games found it more difficult. I discovered that some of the controls weren’t so intuitive, like the take off and land button. Usually after a bit of trial and error, it was discoverable though.

When I made my Breezy Bubbles kids game (which was supposed to be a nice simple and quick project that still took a year to get out the door), my students would ask how the game was going and I’d show them. It was meant to be a game that could be played without needing instructions so I’d give them the game to try and observe what problems (if any) they had in figuring out what to do. The gameplay required the the player to tap/pop bubbles in a certain order, and order that was shown in a mini-bubble-list in the top right of the screen. The idea was that as the player ‘button-mashed’ the screen to figure out what to do, the screen would provide feedback such at that list adjusting as the player popped the bubbles in the correct order.

It was interesting seeing the kids reveal the gameplay via trial and error. After a few tweaks, it worked pretty well.

Naturally the students would ask how many I’d sold.

Generally just being a software guy at all is intriguing to the students. “Wow, so do you make any games?” At the moment I’ll say “well, not at the moment, but I’m working on a tool for Dungeon Masters to help them with their role playing games.” I’d then bring out the phone and ‘roll the dice’ on an example Star Wars Random Encounter table that I’d entered into the web app’s database. I’d then narrate the encounter using my story-telling voice.

“Wow, cool!”

Only last week, one of my young students indirectly found a bug in my software. It turns out when I did my search for ‘Star wars’ the grammar sensitive iPhone capitalised the first letter of the search term. It turns out that the search feature of my app is case sensitive and so only a few of the many Star Wars tables showed up. That was a good find (I really should be writing more tests in my software).

I’m pretty sure my second clarinet teacher was a software programmer but I have no idea what he did exactly. I do remember he flew hang gliders though.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s