Tinkering, Play, Eric Schmidt and the UK ICT syllabus.

Posted on August 28, 2011



For many months, if not years, I have felt like an old codger.

Yes, form-filling fills me with dread becuase the tick I place for my age-range has moved down more notches than I am comfortable with, but this is not the cause of my feeling.

I long for kids to have the exciting computing, tinkering and technical experiences I had while growing up. It is the personal experience I want them to share in, not necessarily the environment I had while growing up. However, I think there are some deep issues with most modern equipment that bars them from learning as I did.

I feel like an old codger because I catch myself starting trains of thought with: “In my day…” or “Back when I was young, …” I do not mean to, but I do think that way without meaning to!

I am not revering the way things had to be carried out in the past nor do I want to vilify modern ways. My opinion is that in my youth, there were more items and machines that could be explored and understood by tinkering with them – taking them apart, changing core parameters, tweaking cogs and adjusting code.

There are fewer devices nowadays that yield their secrets when attacked with a screwdriver.

I am concerned that it is far harder for someone of this generation to gain similar experiences as I did of tinkering, programming, exploring and working by trial-and-error to an understanding of how things worked. What do I mean by my experiences? Well…

Are you sitting comforably? If so, I’ll begin.

I was quite precocious with electronics and machines, with a penchant for taking things apart. I felt I knew enough to be able to take apart anything. In the arrogance of my youth, I felt it unfair not to be trusted to change the fuse on household items by myself, especially on the occasion when my hand-me-down black and white tv popped its fuse. A conversation that begun with me asking my mother for a fresh fuse, ended with a swift and terrible denial, that if I changed the fuse, I could burn the house down and that I should never, ever attempt anything like that again!

As you may have guessed, I stopped asking for permission on these occasions – ‘seeking forgiveness’ felt like a far more rewarding plan. To this day, I have not told my mother that when the entire power lead was yanked out of the tv casing, I re-wired it and its internal transformer that had come loose from the damage. The tv was older than me and continued to work into my late twenties.

I took apart everything in the places I lived, just to see how it ticked, whirred or performed its own unique mechanical dance. Even the minutiae of sliding down the catch on a mechanical toaster was (and I mantain is) entrancing to watch and understand. I was very rarely caught with a screwdriver in hand so I don’t think my family know of the true scale to my tinkering. For instance, I lived with my mother in my grandparent’s pub in Ipswich when I was even younger and by the time we left, I knew the inside’s and out of the front till, how the LED number display of the dart’s score machine was powered and connected to the chips inside (though I could not understand how the signals were generated at the time – I was young enough that I needed a bar stool to even reach it!) and the various kitchen appliances. I watched the arcade machine serviceman like a hawk when he came to change the logic boards with fresh, popular games like Scramble and Joust. I always made myself helpful around him, and he showed me tricks like how to reach in and flick the coin catcher to make it think a coin has dropped, giving me as many credits to play as I wanted while the panel was unlocked.

The one appliance I did steer clear of was the new (as in novel) microwave oven, although I was fascinated by the effects of various materials placed in there. Tin-foil pie tins were fun to watch (and as I later found out, a really, really bad idea to do.)

I find mechnical and understandable systems beautiful and fascinating – from the weird symmetries of physics to the arcade ‘games’ of people like Tim Hunkin, with his Under-The-Pier Show. I often holiday in Southwold, and make it a point to visit it every time.

Tinkering is nothing without risk

I remember almost getting my comeuppance with a VHS top-loading recorder, a Ferguson I think. I took that apart to see how the tape wound round the spools, and watch the machinery engage with the tape. To my eyes at the time, it was a beautifully choreographed bit of motion. I didn’t notice at the time that one of the large silver spools wasn’t firmly held when the outer case wasn’t there to secure it. It promptly fell out when I was trying to eject a cassette for the second or third time.

Ferguson Videostar (via a comment at http://www.dvdreviewer.co.uk/Forums/DVDs_and_Films/t783132/Blimey_Macrovision_on_VHS_was_one_big_smokescreen/page1)

The chocolate-brown magnetic tape got snagged on the circuit board and wouldn’t retract, jamming the cassette’s lid open. The machine gave off a panic-inducing creak under tension as it made a futile attempt to wind on the caught tape. A sharp edge somewhere must have nicked the stretched filament of the tape as it finally gave out and snapped.

I was in deep shit.

a) I’d been told not to mess around with the precious programs on the tapes or the player itself as it was lent by a friend.

b) Not only had a large and very important-looking piece been spat out by the player, but I now had to repair a precious tape with precious recordings on it. I had never repaired a tape.

c) I had about half an hour before my mother woke.

After 15 minutes of fiddling to sit the spool upright in just the right way so I could put the top back on, I attacked the warped and funky ends of the tape. I removed the dead bits and stuck together the remaining bits with an enthusiastically long length of sellotape. I wedged in a blue biro top into the white spool axis on the back of the tape and wound it on by hand, til the tape was tight and the spliced part was awkwardly and conspicuously buried within the spool of tape. I would have palpitations everytime that tape was used, but aside from snow and a loss of tracking at a certain point, it continued to work. Crisis averted.

I remember this time as it was the first situation where I was under a real deadline. I had a broken machine, of my doing, and there were some real consequences. Fixing it myself almost gave me a rush of endorphins. It was a huge ego boost and helped me believe that maybe I wasn’t so useless after all. It was the self-confidence that you cannot get if you are being externally driven and monitored. I was aware that I was getting more adept and was able to do things that I had not considered myself capable of. I believe the current buzzphrase for this is ‘Ipsative assessment’ – measuring one’s own progression by comparing the current with the past performance.

INPUT and BBC computing

When I was a little older, I found a ‘cheap’ (as-in-off-the-back-of-a-lorry-kind-of-cheap) BBC Micro at one of the boot-sales my mother worked at, selling bric-a-brac. I would spend hours typing in programs and games, even though I had no disc drive to save anything on. Flicking the power off meant I was back to square one.

It was fun, and exciting and more than anything, I was in control. If the program didn’t work or something was wrong, more often than not, I had typed it in wrong. I learnt that the computer only does what you tell it, but precisely so.

A few times, a few irritating but wonderful times, it wasn’t my fault. Spotting and fixing my first bug in a game typed in from INPUT magazine was an absolute joy. I was 11 years old, living in a world where 11 year olds are not expected to fix anything and I fixed something from the real world, something written by adults, the professionals. It was an odd feeling, a mix of vindication, happiness, cockyness and realisation that adults aren’t right all the time, they can make mistakes like me.

It may seem inappropriate to suggest these anecdotes as the kind of experience kids should have but are not easily able to have nowadays, but for me, I learnt so much from it. I learnt how to explore a new system, how computers arrange data, I learnt about screws, bolts, gears, and most of all, I learnt self-reliance when things went wrong and the confidence to learn from my mistakes. I learnt how to make games and make computers do silly things, obliquely training myself for the world I live and work in today.

I learnt to tinker.

As I said earlier, it’s the experience that matters, not necessarily the hardware. However, there is so few items of consequence that can be bought nowadays and taken apart. I took the shell off an alarm clock to see its escapement work for real. Prising the back of a modern alarm clock would reveal its brain to be nothing more than a black plastic bump covering a tiny flake of silicon.

Community-provided video on sites like YouTube does provide part of the alternative to this. A very quick query results in volumes of results demonstrating various escapements without risking the ire of your parents or the destruction of all the clocks in the house. It does remove some of the mystique and risk of doing it yourself, emotions which encourage self-reliance.

Many of the commodity appliances and gadgets we have today have to be treated like the fairytale Goose which lays golden eggs; you learn nothing about how they truly work when taken apart and even if you dissect the chips to the point where you might, given an electron microscope, begin to understand what they do, they will no longer be able to function.

Tinkering with computers is made awkward by modern, multiprocessing environments. When things go wrong, it is no longer an easy problem to discover by trial and error and it is not necessarily your fault any more. It could be that your build environment is screwy, the libraries you have installed are not quite the same version as the libraries the code expects, your connection is bad causing network calls to 404 through no fault of your own.

The mental model you have to hold in your head while troubleshooting a modern system is so much larger and more complex than it once was. There should (and must) be a much more limited environment for people to learn with, to cut out all the other strange, quirky problems that is not caused by the code itself.

There are environments like Squeak and Scratch which I understand is quite popular with the age range I am thinking about. I am in two minds though about the currently popular Scratch community works – they are truly trivial applications, made for comedy effect (memes, sillyness, etc) but the kids are building the applications themselves and are engaging with it. It would be foolish to ignore how important this sort of oblique learning is.

Often, javascript is cited as a nice sand-boxed environment for this purpose, limited but most importantly, easily accessible to anyone with a browser. I accept readily that as it is everywhere where there is a browser, and that this, in itself, is a powerful thing, making programming more accessible.

http://www.happyfuncoding.com/ is a very nice environment to direct learners to – instant feedback on progress and changes, graphical in nature (like LOGO), the true boiler-plate code is hidden leaving the user with a simple framework of ‘initialisation’ and ‘loop’ code to write, and has tutorials and examples to pick through. It doesn’t provide a way to get past that, to understand how to do the boiler-plate code yourself (as far as I can tell), but it is an excellent introduction, encouraging people to tinker with code in an environment that does well to reduce the fear of ‘illegal errors’.

BUT (and its a big BUT) I strongly feel that someone’s first programming language should contain fewer of the quirks and regional dialects that plague javascript as it stands today. BASIC had many dialects too back in the day, but there were trivial ways to spot which one you were using. If it had BBC Micro on the cover of the machine, you were using BBC BASIC. If it had Spectrum on it, it was Spectrum BASIC and so on. Code was tailored for each machine and making a program ‘cross-compatible’ was the stuff of dreams 😉 This also meant that if you found a printout for a BBC BASIC program, it was very clear that it would run on a BBC.

Deducing out which javascript quirks to expect on a modern system is somewhat more involved and more important, as you are far more likely to hit on a quirk than with the varying dialects of BBC BASIC for example (and likewise, variable browser support for the CSS used to display your results in a page.) Javascript programs from the very beginning were delivered to the browser with some notion that they might not be running in a familar environment. Modern code often has browser-specific workarounds built in or hidden in libraries, adding to the complexity especially when all you are trying to see (as a student) is how a page animation works.

Without an easy route to tinker, take apart, program and learn, even obliquely, about how machines and systems function, the learning curve only becomes steeper and puts more people off from pursuing it. I would expect that schools should and must be at the forefront of making this learning curve as attainable as possible.

I was particularly struck by the controversial talk recently given by Eric Schmidt – covered by the BBC as “Google’s Eric Schmidt criticises [computer science] education in the UK” http://www.bbc.co.uk/news/uk-14683133. The paragraphs that stood out for me are worth reading, even out of context:

[Eric Schmidt] said he had been flabbergasted to learn that computer science was not taught as standard in UK schools, despite what he called the “fabulous initiative” in the 1980s when the BBC not only broadcast programmes for children about coding, but shipped over a million BBC Micro computers into schools and homes.

“Your IT curriculum focuses on teaching how to use software, but gives no insight into how it’s made. That is just throwing away your great computing heritage,” [Eric Schmidt] said.

(From aforementioned BBC article: http://www.bbc.co.uk/news/uk-14683133)

That second paragraph is the most painful if true. Reading the GCSE ICT specification and specimen ‘Task’ booklets (coursework) from AQA, one of the larger exam boards in the UK, I am convinced that Eric is not being as flippant in his observation as it may seem.

This is not saying that AQA or the other boards are at all at fault, they are just implementing the syllabus they are handed. Go on, have a read of the AQA’s ICT GCSE specifications and so on yourself (the PDFs are all in the ‘assessment’ tab).

The written portion of the ICT GCSE is essentially a vocabulary test, with some limited systems knowledge. I possibly make that sound more grand than it is – what I mean is that the student has to be able to explain at a high level what a CPU is (central processing unit), and what it uses RAM for, for example (random-access-memory; stores temporary information that the CPU wishes to access on demand).

I was temporarily relieved by the specimen task 2 booklet (one part of the coursework required for the exam), where it asks:

However, in reading the details further into this booklet, the website being asked for was little more than 3-4 pages of static, handwritten HTML with the key part that piqued my interest, the part talking about setting up a system to manage and count downloads, made no more complex than printing invoices from a spreadsheet.

The true specifications of the task was only borne out within lengthy dialogues between Alex and his client Chrissie, which I confess is quite a neat way to do so, even if the dialogue felt forced and unnatural. Many of the possible interesting and challenging tasks suggested by the first page (database interaction, programming controller code, dynamic webpages, or even just setting up a well-laid out blog and so on) were clearly removed and signposted off by the dialogue. For example:

Chrissie: I want people to be able to fill in their personal details on the
membership page. Can you include boxes and type in a ‘field’
name next to them?

Alex: What do you mean by that?

Chrissie: This is how I want the ‘field’ names and boxes to look. I have
jotted down some of my ideas on a piece of paper:


Alex: Great, thank you.

Chrissie: At this stage, as our database hasn’t been created yet, the boxes
can’t link to fields in the database.
I only want you to create how the page will look.

Tangentially, I want to point out there was also quite an awkward shoehorning of ‘MP3 downloading is bad, mmkay’ into the dialogue that ‘Alex’ has with his client:

Chrissie: I also want you to type in some important information about
         downloading on this page.
Alex: What information do you want?
Chrissie: Some people may illegally download music without paying for it.
          Make sure there is a clear warning about illegally downloading
Alex: Illegally downloading music? Where will I get that information from?
Chrissie: You will have to research that. And it’s important that the warning
           is clear and not missed by people viewing the page.

Due to the marking scheme employed, specifically what activities gain marks, I would say that it is readily possible to pass an ICT GCSE by knowing the right vocabulary and understanding how to produce reports using Word and graphs using Excel.

The part that I missed from the teacher’s assessment notes of the coursework was that points were awarded based on the actual accomplishment of the task or on the level of accomplishment – it didn’t seem to make a difference whether it was the result was a static HTML with static data or a fully fledged CMS with a custom download controller and database backend. In fact, by comments in the client dialogues, students was clearly kept away from any idea that they had to produce anything that interacted with a database or code of any kind.

The syllabus that I read and the coursework tasks I went through for what I suspect is a typical GCSE ICT does leave room for teachers to teach the subject by doing, to use and encourage use of things like Google Apps, blogs, code and so on, but the specification does this by omitting to comment on programming.

Whether or not to teach and guide students in learning applicable practical skills beyond HTML and using the Office suite is left entirely up to the teacher as is not required for the examination, from what I read within the GCSE scheme.

The tl;dr version of this post:

I want to share the joy and fear I had while tinkering and and the confidence that programming machines gave me when I was young. In my opinion, it is much harder for the current generation to find, access and work with simple systems which may put some off as the learning curve may be too steep for them.

And the comments that Eric Schmidt made about the poor state of ICT education in the UK may be valid as it is dependent on the quality of the teacher to teach the subject and not just teach the exam, as the exam is, in my opinion, based on selecting ‘solutions’, rather than being made capable of providing those solutions.

Posted in: creativity, opinion, play