24 August 2012, by Rhodri Karim
In 1982, turning on your brand new computer would have brought you to a rather blank screen. Your machine would have sat there, cursor blinking, waiting for your instructions. After a few faltering keystrokes, you might have been able to conjure up a number-guessing game. As an introduction to computing, it all sounds rather unimpressive when compared against the hyper-connected 3D gaming powerhouses we now carry around in our pockets. But it illustrates one very important concept: a computer is nothing without a human to program it.
Today, we find ourselves surrounded by technology that is immensely capable and yet unfathomably complex. That blinking cursor has been replaced by commercial concerns: app stores, social networks and irate birds. While it’s fantastic that more people than ever have access to the Internet and the power of a computer, direct access to that power is missing. As a result, users feel subject to the capricious whims of their devices, and engagement with programming and computer science is abysmally low.
Not too long ago, I was subjected to school ICT lessons. “Computer Literacy” was defined as being able to write a letter using a word processor, or draw a picture using the mouse. My friends and I were born just as the Internet as we know it came into being, and we grew up comfortable with how to use these machines. ICT as it was taught at school seemed irrelevant, and many of us were curious to find out how these machines worked and what they were capable of. But with no curriculum in place, our teachers didn’t have much help to offer.
So, when I heard that Softwire were planning on running an after-school club to introduce kids to programming, I signed up right away. Not only is programming fun, cool and totally radical, but it teaches children skills that will serve them well whatever field they end up choosing. Writing a good program takes diligence, patience and a whole lot of creativity:
- Diligence, to think of all the things that computers need to be told that we (as humans) take for granted.
- Patience, not to have a tantrum at the first hurdle, but to solve and learn from problems.
- Creativity, to find cunning and often stunning ways to solve or completely circumvent the problems that appear.
We would be helping the kids to write their own games, using a visual programming language called Scratch developed at MIT and designed especially for kids. Scratch takes care of tricky routines like displaying graphics or responding to keyboard input, allowing the kids to concentrate on writing the logic that will power their game. There is an entire Scratch curriculum available that leads readers through some basic concepts in programming, but we went ahead and wrote a few more based around example games so the kids could get started right away. Click here to see.
It turns out that kids are not just ketchup-smeared hyperactive maniacs. We were all pleasantly surprised by how readily they engaged with our games and began to extend them with their own ideas, and eventually write entire games on their own! Hopefully we’ve left them with an inquisitive mindset and an interest in computing that will bring them boundless joy and lucrative employment later on in life. We’ve just begun introducing the kids to the LEGO Mindstorms system, which means they will soon be building robots to shoot balls, patrol the room and more! If we survive the resulting revolution, we’ll keep you updated with how they’re doing.