An article from The Guardian’s website came to my attention today (hat tip to @woodsy), debating how what is taught in school as ICT is really only how to use Microsoft Office, and find things on Google. However, as I don’t agree with all of their points, I thought I’d write about it here.
Firstly, the praising of the BBC Micro irritates the hell out of me. Did you have one during the 1980s? I didn’t. Nobody I know did. Schools had them. My primary school had one (for the entire school, kept on a trolley in the corridor for special occasions), and there was a couple lying around at secondary school for the first couple of years I was there. Nobody taught how to use them – just how to insert a disc and do shift-break-break-shift to load it.
Everyone I knew in the 80’s and into the early 90’s had either a Commodore 64, or one of the ZX Spectrum models. My older brother had a range of ZX Spectrums and eventually, just as they were starting to become unpopular, I got my ZX Spectrum+2. It came with a light gun and a copy of The Living Daylights. I couldn’t complete the first level, as either the game had a bug or the gun just didn’t work, but shooting produced no noticeable results. I never had another game that worked with the gun.
I don’t really own a pair of rose-tinted spectacles with prescription set for “the old days”. Computers were shit in the 1980s. My Spectrum came in a box bigger than the one used for my current 32″ TV, complete with a carry handle, presumably in case you wanted to drag the enormous thing to a friend’s house.
And it wasn’t reliable at all. My power supply died and had to be sent away somewhere for what felt like about a month. The plug that connected the thing to the TV developed a loose connection, which had to be propped up by a certain amount (ironically the exact width of a cassette box) to get it to work. My brother’s old ZX Spectrum 48k (passed down to me at some point) had – whatever displays video – die, so that it only showed a screen of weird colours when plugged in.
When I started secondary school, there was a couple of BBC Micros lying around. As this was ~1993, they had mostly been replaced by newer Acorn systems. Much to my frustration, they still had no IBM/Windows PCs for another couple of years, meaning I could neither borrow software from school, nor play games when I should have been working (until I somehow found a way to load a game of The Crystal Maze, which was on there but hidden).
I don’t recall my first program displaying the words “hello world”. Maybe that’s an American thing. Mine was something where it asks you to enter your name, then when Dave enters his name, it says “Dave is a dick” all down the screen. My older brother had a way of making it say this in multi-colours, and instead of just saying it left-justified, making it kind-of cascade from top left to bottom right.
Games were shit in the 1980s too. Yes they were. Go and play a bit of Call of Duty or something, then find a Spectrum emulator, and see how long you’re really entertained by hitting two keys to run faster on Daley Thompson’s Decathlon.
You’ll still find people moaning these days that games cost £45, when you used to get them from the newsagent for £3. What they don’t mention is that some of the £3 games never worked. Most didn’t come with any instructions. You would spend the first half hour (with no practice level) of every game, randomly hitting buttons to see if you work out the controls, before you get killed. Quality control was lax to say the least.
Spurred on by this anyone-can-do-it mentality though, I remember getting a guide or a magazine from somewhere, which told you how to write a database programme. You just copy what is in the magazine. What I was going to catalog in a database, I’ve no idea.
So I started copying this code line by line, page by page. I finished, I ran it, and… it didn’t work. It came up with an error on a line. I trawled back through, checking my code, and it was exactly the same as the one I was copying. Great. So what the hell do I do now? The Internet wasn’t easily accessible, I couldn’t afford to buy books, and my local library’s selection of computer books was thin on the ground to say the least. So I think what I did was delete it and forget I attempted it. This may have been accompanied by some swearing.
Recently I wrote about my GCSEs. I was forced to choose between art, drama or music, and as I was very shy and didn’t want anything that involved public performance, I chose art even though I cannot draw or paint at all. IT (or ICT, as people seem to be calling it these days) was not an option as a lesson. When I finished school though, I went to college for 2 years, and did a course called “Information Technology”. This included a module on C programming. However, just before my course started, the tutor who was going to teach this lesson, resigned. They got a tutor from another area to cover his lessons. A tutor who didn’t know how to program. Can you see where this is going?
In our lessons, we were given a program printed out, which we had to type back in manually. Incredibly pointless exercise. I may as well have been typing in Swedish for all the difference it made. I had no idea what any of it meant. As a group (excluding tutor), we decided this was a huge waste of time everybody retyping the exact same code back in separately, so me and a friend split the document in half, typed half each, copy/pasted one to the other, and shared with the group. We compiled the code, and.. it didn’t work. Error on line <whatever>.
After checking our typing and discovering we had copied it correctly, this left us in the rather awkward position that we didn’t know why it didn’t work, the tutor didn’t understand the information he’d given us, and there was nobody else to ask. My friend asked on some developer forums over the course of the next few days, was told exactly why it didn’t work, and also that it was a massively overcomplicated, inefficient program to achieve a very simple outcome.
And that was the end of our programming. I don’t mention it on my CV.
I don’t agree that ICT (in its current form) should be scrapped altogether though. People do need to know how to use a computer, and I’d put learning Word/Excel a long way above dissecting a pig’s liver in the “things you might need to do again later in life” list.
If programming is going to be taught anywhere in schools though, it should be as a language. I’ve long since forgotten all the German I did for GCSE (I’ve never been to Germany), and even if I remembered it all, why would I want to talk to people on the street and ask them where the cinema is? Won’t the film be in (higher-level-than-GCSE) German?
I don’t speak Spanish, and survived a week there on holiday last year perfectly adequately. Unless you become an interpreter or emigrate, that’s all most of us are going to do in other countries. Touristy stuff.
The Guardian article mentions this:
“While we’re moving into a post-PC age, our ICT curriculum is firmly rooted in the desktop computer running Microsoft Windows”
Then goes on to expel the virtues of the Raspberry Pi device. A device, which can only be described as a PC, given that it allows you to plug in a keyboard, can run an operating system, connect to the web, etc.
Given that the current excitement surrounds mobile devices and web-based services, why couldn’t any teenager learn to program without the Raspberry device? The software required to make an application for an Android mobile is free. The software required to make a web application is free.
Surely anyone who wants one can get access to an old PC? I see people giving them away on Freecycle. And I think most households have a PC nowadays. While parents might not like the idea of their children taking it apart, if they’re going to be using a Linux environment anyway (Windows won’t work on the Raspberry Pi device), what’s stopping them from booting to a Linux live disc, and using that? No additional hardware required, and Windows isn’t touched.
I don’t think the lack of cheap hardware is what’s stopping people getting into programming, but more the lack of support or knowledge. Where do you start, with learning something like that? What are you going to make? What’s the programming language to learn? In the Spectrum/BBC days, everyone used Basic. These days, there are jobs advertised for people coding in PHP/C/Java and a whole host of other things. You don’t want to spend a long time learning the wrong one, do you? And when you get stuck, who on a million anonymous forums can you trust to give you an honest/helpful answer?
If it were taught in schools, I’d say you’ve got two main problems. The first is finding enough teachers. Good programmers don’t come cheap, and where are you going to get them from? If you’re going to end up with the geography teacher holding the lessons, then you may as well just leave the students to do it on their own.
The second is an important but relatively simple one. You’ve got to be current. Don’t spend 5 years writing a syllabus because IT doesn’t wait that long. If you want to engage some teenagers into learning about programming, I reckon they’d enjoy making a Blackberry app (apparently surprisingly popular phones among teenagers due to free BBM messaging), or building something that plugs into Facebook.
If the Raspberry Pi device does anything though, it levels the playing field somewhat. The beauty of programming for something like an Xbox is that you know they’ll all behave the same way, will have the same amounts of memory, etc., and until people start modding them (which will happen immediately), the Raspberry Pi means everyone has identical hardware, to swap tips/help on.