Skip to main content

Teaching Kids to Program

I spent an hour today teaching the Aranda Primary second graders how to program. Rather than get involved with setting up compilers, and configuring software, we wrote code using a simple logo-style language, and a pencil. Then we 'ran' our 'programs' in our heads. It sounds a bit obscure, but it was actually really fun!

The way it worked was this. One kid gets to be the 'programmer', while the other gets to be the 'robot'. The programmer can issue the following commands to the robot:
  • Go Forward
  • Go Backward
    (These Go commands have an optional parameter, which is the number of steps)
  • Stop
  • Turn Left
  • Turn Right
  • Turn Around
  • Pick Up
  • Drop
The robot only listens to his/her programmer, and follows the commands exactly (even if they're stupid)

The aim was to write a program that picked up a teddy bear, and put it into a basket. After each having a go being the robot, and being the programmer, and test driving our robots, everyone wrote down their program on a piece of paper. Then I mixed up the programs, and I read the commands to the robots (making sure nobody got to be a robot for their own program)

When run-time came, only one program executed successfully. Some robots ended up walking into desks or walls, and one ended up in the hallway. This gave me the opportunity to teach about bugs, and debugging. We all 'debugged' our programs using an eraser (the number one bug was mixing up left and right) and ran them again, with much greater success.

Afterwards, I sat with the kids and discussed the fact that while computers could do amazing things, and appear to be really clever, they only ever did just what they were told, and so they were actually pretty dumb. And that software programmers have to deal with the same sort of problems that they'd faced today, every day.

It was funny watching the 'programmers' blame the 'robots', for their bad code. You certainly wouldn't see anything like that at a professional place like TOWER Software...

Comments

Popular posts from this blog

Going West vs Going to Sleep

Phew! That was one busy adventure to the other side of this wide brown land (It is wide, and brown, but mainly wide) TUF 2005 in Perth was the launching ground for our new product, ice. Stilly and I were presenting the keynote, which was based around showing off ice, and talking about collaboration and other reasons why a bunch of customers might want to buy it. In a stroke of genius\insanity, we decided to let the audience pick the demonstration platform based on random outcomes - we built a giant cardboard die with various operating systems and platforms written on each side - then we'd let a volunteer from the audience roll the dice(die?) to determine which platform we should do our demo on. ice (the italics belong to the marketing department) works on any platform, so we were pretty confident that we would be okay. But, what I hadn't counted on (those italics are mine), was my crummy laptop (which was acting as the server) deciding that it would be a good idea to hibernat...

Still Crazy

When I started with TOWER Software four years ago, I was keen to get on with the job. You know, new project manager guy and all, trying to figure out what was what, and who was who. As part of this breaking-in process, I went around and asked each developer what they were working on, and how long they estimated that their current project would take. I'll admit that I had a secret agenda - it's important to find out who are the overly optimistic guys, and who are the more seasoned realists, because you're supposed to adjust your project schedules accordingly.. Anyway, I collected all this data and feed it into a secret Gantt chart I had somewhere. Most of the team were working on features that were being shipped in the next few months, and I got the broad range of overly positive responses, which is pretty common. I know I'm a terribly optimistic estimator. (Incidentally, if you're like me, my advice is to always multiply your estimate by the value of pi in order to ...

The height of Retro cool?

Like Rory , I grew up with a lame arse PC. I too was bitterly jealous of those amiga owners. With their fancy fandanlged-hand-holding-a-floppy-disk bios, and versions of Marble Madness that looked just like the arcade, they had no idea how lucky they were. But, I'm not so sure that the grey box which evaporated my childhood, (while I'm very fond of it) was actually the height of eighties cool. In fact, the computer I owned was far, far worse than the virtual boy of PCs - something that made those poor betamax owners laugh themselves into hysterical coniptions as to what a loser of a product this thing actually was, and they paid 450 dollars for a flashing digital clock. My dad bought us a genuine, IBM PC-JX. The IBM PC-Jr is widely regarded as one of IBM's dumbest decisions. What very few know, is that after the IBM PC-Jr flopped dismally in the US, IBM was left with a bunch of leftover hardware that nobody wanted. I can hear the meetings now: shimmery dissolve in "Jo...