I’m starting a Computer Coding Club at my school this term. It’s called The Adventure Game. This is the story of why and how. I’ll post later to let you know how it’s going…
It all began on Christmas Day 1982 when I was lucky enough to find this box and its exciting contents under the Christmas tree. In case you don’t recognise it, it’s one of the the first ever home colour computers, the first to sell over a million units (it ended up selling over 5 million) and was replaced by the very similar commodore 64 (which is still the biggest selling computer ever with estimates of over 20 million sold between 1982 and 1994 and becoming available to but again soon, watch this space).
But that’s all irrelevant for the moment. The point is it was a programmable computer. You type things in and it does things. You can make your own games and figure out how computers work. And that’s exactly what I did for for four years.
Then, like everyone else I moved onto a more sophisticated computer, in my case an Atari ST, at Christmas 1986. I then did what almost everyone else did with their computers as they became more and more powerful: I stopped programming and started using them as multimedia controllers: making music, artwork, desktop publishing, then managing photography, music libraries, video, animation and so on (getting my first Apple Macintosh in 1995). My much loved VIC20 went back in its box and into the loft.
But when I started teaching, it came back down. I set it up and took a photo of it (that was turned into a Top Trumps card by the makers of The Commodore Story see above). I set it up in my lab and left it on the side with this poster next to it, as teaching took over my life (as any new teacher will tell you).
The more I got into teaching and found out what kids of today could do, and not do, and saw the skills and ideas they had, and didn’t have, I came too a conclusion that many of the opportunities for learning that I got from my VIC20 are missing from so many of my students:
• they lack patience
• they lack resilience to overcome failure
• they lack strategies to process ideas logically
• they lack outlets to develop their imagination and creativity
• they struggle to organise thoughts
• they use technology but don’t understand it.
This advert for the commodore VIC20 from 1981 sums it all up: being able to use technology and play games is not a skill that will set you apart from anyone else. If you only use technology to surf the internet, use office productivity tools like Word, Powerpoint and Excel, great, but you’re a user, you’re an administrative clerk. If you only play games, great fun, but you’re living within the bounds of someone else’s imagination.
The next piece of the puzzle came from the BBC’s Computer Literacy Project Archive (visit it here) and I started watching all the BBC’s excellent TV programmes from the 1980s hosted by the genius of computer expert Ian McNaught Davis and journalist expert Chris Serle. The way they introduced computers to a nation who knew nothing about computers was brilliant and I felt a similar approach could be used for a generation who used computers but knew nothing about computers.
If that wasn’t exciting enough, re-watching the excellent BBC docudrama ‘Micromen‘ about the beginning of the first computer revolution of the 1980s and the clash between Acorn and Sinclair made we want to get involved in something even more.
Computer programming (or ‘coding’ as it’s now known) isn’t taught very consistently in today’s schools. In the UK, it is now part of the National Curriculum, but there aren’t enough qualified teachers out there to deliver it and schools are left to their own devices on how to tackle it. The result is that it’s tagged onto ICT lessons, usually using a visual high level tool like Scratch, ran in an IT computer room on PCs running Windows.
Why I think this isn’t a good idea is because using a modern powerful multimedia PC to learn to programme is a little like using a Rugby field to play tiddlywinks in. Computer programs today are very sophisticated and have had in most cases thousands of experts working on them for many years. To use a modern powerful PC to play around with simple programming feels like a waste of time. It’s like using the Large Hadron Collider to understand simple electric circuits: the tool is just too sophisticated.
Using a self-contained microcomputer to do the task is not only more appropriate, it’s more fun. And why not simplify things down a bit? It’s what we do in all the other sciences. In Physics, Chemistry and Biology, we teach smaller systems and model attributes of larger more complex systems. We use little motors and bulbs, make batteries from lemons, copper and zinc and make models of DNA from sweets and straws. We can’t investigate black holes or do neurosurgery in a school lab and no one would even question that we don’t. So why not use a similar approach and use the appropriate tool to teach computing?
I played with electronics as a child. When I show components to many kids today, they’ve never even seen them before. They just don’t take things apart. They’d certainly not take their MacBook or iPhone apart, and even if they did, the miniaturisation is such that you’d learn very little. Understanding how an 8-bit microcomputer works is so interesting as you can get right down there to the actual 6502 chip, send it commands and see the result straight away. Learning to programme on a modern PC feels like theoretical gardening – you just don’t feel you’re getting your hands dirty. There’s so much learning that can be done on a self contained micro.
So I had decided. Somehow I’d teach what I knew about programming and make it fun. But which computers to use? The perfect tool was and is, the Acorn BBC B microcomputer. That’s what it was designed for. (You HAVE to see Micromen!). I managed to get hold of three of them, they’ve still retained their value and as such are comparatively expensive. Plus, when they go wrong, I don’t know how to fix them (as I do the VIC20).
The perfect tool would be the Raspberry pi. At £32 you can’t go wrong, except that is for the actual micro, you still need a keyboard, case, SD card, screen, mouse and a load of cables: not so good for setting up in a classroom – easily messy, prone to breakages and things going missing.
I briefly toyed with the idea of setting up my own computer company, making a Raspberry pi in a case like the BBC B or VIC20. How cool would that be! But I haven’t got the funds, connections or time to make that work quick enough. But then to my delight I found that someone else has already done it: FUZE.
They are doing exactly what I wanted too do: put a Raspberry pi in a durable (metal) case with a keyboard, all the ports (including a very useful breadboard for attaching external electronic equipment) plus a new version of BASIC, the computer language I learnt on.
When you add up what you get with a FUZE and add a screen, it comes to a cheaper price than what you’d spend if you bought a Raspberry pi and all the bits separately. The Raspberry pi is built with the Acorn ARM chip (and also in most mobile phones) as designed by Acorn originally for the BBC B. Things have indeed come full circle. I now have three FUZEs so far.
But what I know best is still the commodore VIC20 and the BASIC language (which was originally written by a certain Bill Gates. It stands for Beginners All Symbolic Instruction Code). I bought some more VICs from eBay, got some old TVs from local guys around Robin Hood’s Bay where I am, and decided that I’d start off where I first began: typing in BASIC. Interestingly enough, I can get the FUZE to emulate a VIC20 (or a commodore 64 or a BBC B or run the latest RISC based ARM OS).
So the stage is set. Next Wednesday we begin properly (after a few teasers, assemblies and a look at the equipment last term).
But what is our project? We can’t just mess around playing games, there has to be a goal. This is where The Adventure Game title comes in.
In the late seventies, a new type of computer game was pioneered by a man called Scott Adams. He developed a range of text adventures (initially for the VIC20) and later added graphics and the technology evolved into the games of today. Those original games are effectively the origin of what we now would call Artificial Intelligence, the ability for a computer algorithm to anticipate an outcome from an input and its internally stored data. Those early games were actually the first use of Databases. The goal of my club has become for the students to learn enough about computer coding to be able to create such a database, to create their own original text adventure game and by doing so understand a computer language, the microchip, how artificial intelligence starts out and hopefully have a lot of satisfaction and fun along the way, just as I did when I was 11…
To do this we’re going to use the book by Usborne ‘Write Your Own Adventure Games’. All Usborne’s excellent books are available to download for free.
Using BASIC on the VIC20 and on the FUZE is a great point to start as long as we employ structured programming skills along the way. Then, the students will be able to translate their learning into other languages such as Python, Java or C++ just as those who now run the technology giant companies do, many of whom began on commodore machines. The adventure begins…
Let me know what you think in comments below was well as any memories you have of programming your 8-bit micro.