Lady Chocolat's brother had his last ever school exam yesterday, which was Advanced Higher Computing (bet you couldn't have guessed that!). We were over there last night, and I had a read through of the exam paper.
And, bloody hell - I don't think I would have passed that exam!
The paper was split into two sections, with section two further split into three sub-sections of which you had to complete one.
So, I read through the first section before dinner, and it seemed nice and easy. I would probably have gotten near-maximum marks on that one. (Although there was one question that I'm sure didn't actually have an answer, but I'll say no more, just in case.)
But the second section was a beast - there were detailed questions on three computing topics. None of which were all that challenging, but they all relied on specific knowledge that I just don't have to hand. I could probably have scraped up a few points... but even when put together with Section One I'm not sure that would have been a pass.
(Now, that said, if they'd asked about DECT, or intruder detection systems, or perhaps even actual HTML coding, I'd have been golden. It's also extremely likely that I'd have aced any and all coursework. I really ought to, given that that's what I do! Still, the exam was a bit of a shock.)
What I did find amusing, though, is how little the computing taught in schools seems to resemble computing as it actually is in the real world. Of course, I noticed that about univeristy-level computing when I did that - they teach software engineer as, perhaps, it should be... but the real word is a whole lot messier and less controlled. (Just like the French I learned in high school bears almost no relation to the French that is actually spoken in France.)
And of particular interest was that the test expected the student to be able to regurgitate a particular algorithm. Which is fine - I don't know the algorithm off the top of my head, but was able to quickly recreate it from first principles (because I am that good, obviously - or because it's just not that hard). But the thing is that in reality we would never write that algorithm. It's just not something we need to know - because there are well-known libraries that have already done the job for you. In other words, Google is your friend.
(Which isn't to say that they shouldn't teach those algorithms in schools - they need to do something to teach coding, and they need to teach the mindset required to solve the relevant problems. But there is no benefit in expecting students to reproduce the algorithm from memory at exam, because that's just a matter of rote learning. A better question, although a harder one to write, would be to have them develop a new algorithm of some sort, testing their actual ability to code.)
One parting thought: In a couple of months, we'll get the annual bout of the "are standards slipping" discussion, when students are issued with yet another set of record-breaking results. This exam represents at least one data point for a counter-argument. (Of course, it's also the highest-level exam in a science/engineering subject. I daresay Standard Grade Zumba might be a tad easier...)