exam season bitterness
I have marked so many IT practice papers in this last week that my eyes are starting to bleed and my long-standing hatred for the IT syllabus has been stoked up till it burns with the fire of a million suns. I swear they have gone through it and taken out everything that might make students think computers are cool and amazing, and replaced it with endless grey screeds on how employers can profit from computer use, and the Eight Rights and Four Requirements, or hang on it's the Four Rights and Eight Requirements, of the Data Protection Act. No wonder students think people who are enthused about computers are sad. So here you go, my fantasy IT syllabus, concocted a few minutes ago to cheer myself up:
How Computers Think:
(In the real IT syllabuses, you never hear any of this stuff.)
The Secret History of the Internet:
Issues and Debates:
Look! Look! Ain't That Cool:
Structured Practical IT Tasks:
Things Definitely Not On The Course:
I would do some of the less silly things, but I'm always trying to fit in the whole existing syllabus in not enough time, and anyway about half the students would start foaming at the mouth if I told them they couldn't get marks for it. Sigh.
Though I'm afraid if I was in charge, the exam papers would include questions like "How awesome is Google Earth? Justify your answer with examples (10 marks)."
(Edit: I went to XKCD to link to this ("Pop quiz: Here is a cartoon. Explain the joke") and the current strip was this one. Well, yes, quite.)
How Computers Think:
- Binary numbers
- ASCII code. See how a text file gets turned into a stream of bits!
- Programming languages (Write "Hello World"!)
- There Are Operating Systems Besides Windows, You Know
(In the real IT syllabuses, you never hear any of this stuff.)
The Secret History of the Internet:
- How it got set up
- There Was Stuff Before The Web, You Know
- There's This Thing Called Telnet (or more secure versions thereof)
- Field trips to Usenet, Mono BBS and LambdaMOO
- Who's Afraid of JavaScript? Or, how to look at webpage source code without turning white and fainting
- Make a Webpage in Notepad, or, Angle Brackets Don't Actually Bite
Issues and Debates:
- The Open-Source Debate
- Intellectual Property Law and the Hacker Ethic
- What "Hacker" Actually Means/Used To Mean (sigh)
- Artificial Intelligence (Practical session: chat to ELIZA and her cousins)
- Cultures of the Internet and how it's changed our way of life, beyond deadly dull supermarket stock ordering systems ect ect
- Online shopping, the Long Tail and how it affects little indie bands/writers/etc
- Self-publishing and print-on-demand
Look! Look! Ain't That Cool:
- Traceroute and network depiction software. See how your information actually gets to and from Myspace/Bebo/whatever! Watch it bounce off satellites and tunnel under the Atlantic!
- Group project: Assemble a working computer from parts! Then partition the hard drive for extra credit.
Structured Practical IT Tasks:
- Build a database ABOUT SOMETHING YOU LIKE, eg categorise your vast manga/hip-hop collection. None of this "Mrs Jones is a quantity surveyor…" rubbish.
- Build a website, DITTO (though you at the back drawing a bong in MS Paint can stop right now) (No, putting "this is an anti-drugs website" in tiny print at the bottom won't help).
- Desktop-publish a book/comic DITTO, using Quark, none of your MS Publisher crap, publish it on Lulu and get your mates and your mum to buy it.
- Play with graphics software (which is missing from just about all the existing syllabi, probably because IT'S FUN). Make yourself an icon/banner/whatever for Myspace/Bebo/whatever!
Things Definitely Not On The Course:
- Why it's eeeeee-vil to use personal email at work, why it's eeeeee-vil to OMG STEAL MUSIC!, Ways Employers can Save Money through Software Licensing, Why the RIP Act is a Good Thing because Employers Can Monitor what Employees are Doing (Yay!), every bloody question which demands that 15-year-olds imagine they own a company
I would do some of the less silly things, but I'm always trying to fit in the whole existing syllabus in not enough time, and anyway about half the students would start foaming at the mouth if I told them they couldn't get marks for it. Sigh.
Though I'm afraid if I was in charge, the exam papers would include questions like "How awesome is Google Earth? Justify your answer with examples (10 marks)."
(Edit: I went to XKCD to link to this ("Pop quiz: Here is a cartoon. Explain the joke") and the current strip was this one. Well, yes, quite.)

no subject
no subject
no subject
no subject
Unicode, or "everything we told you about ASCII was wrong"
Data compression, from run-length encoding to Huffman's optimal packing (or, "Why Morse code is good")
For the group project:
How to test which parts aren't working. (Or "When to partition the hard drive. With an Axe")
The problem with building databases is that they very rapidly get more complicated than people want to thing about. Eg, with a music collection, do you want to be able to track solo artists as part of a group? (Sorry, um, it's Hip-hop, isn't it? So the word is probably "Crew"). So that searching for Beatles also finds John Lennon's Imagine, and, worse, finds Wings stuff... at this point people might be able to handle the modelling, but can't write the validation code.
But yes, actually finding a practical application which is relevant to the student is very important: it means they can start to learn about the intended subject (and see the limitations), because they already understand the context, rather than having to learn about Hotel Accomodation first!
As for the anti-drugs website, try http://www.brookes.ac.uk/health/libra
no subject
no subject
no subject
no subject
Add: Problem solving with software. Using a toy computer language, write a program to solve a 2D maze (or some similar simple algorithmic task).
Change: "There Are Operating Systems Besides Windows, You Know" ...and historically operating systems used to actually matter. Here's why you shouldn't care anymore. (Insert stuff about browser-as-OS, cross-platform APIs and their relationship to open source and the client-server model of software.)
no subject
no subject
no subject
That's my entire school experience summed up in one sentence, there.
no subject
no subject
Decide on the speed of your turtle (eg, speed "1" is the speed of sound).
At the start point of your turtle, draw a circle of radius 10.
Move the turtle forward by it's speed, and draw another circle, this time of radius 9.
Repeat moving the turtle, and drawing circles of decreasing radius.
If the turtles moving at a subsonic speed, the newer wave fronts won't catch up with the old ones. As the speed increases, they get closer, until you get get a sonic boom.
It's really kind of nice :)
no subject
What was wrong with the class I did, now that I think about it, was not the turtle graphics but the complete lack of context. The class was called Computer Studies, but instead of getting an overview of how computers worked or even how programming languages worked, we were sat down at the school Acorns on the first day and told to start typing in turtle graphics instructions. No one told me it was like a simplified version of programming, or what it had to do with anything else computers did. I only figured out the point of it ten years later when I started doing programming at university!
Yikes, megacomment to my own housemate. *waves across hall* :)
no subject
For some reason that makes me think of Full Metal Jacket. "This is my computer. There are many like it but this one is mine..."
no subject
I have a slow question I am asking only as it is way after the fact, and as we have never met..What is a relational database, by the by? :-)
no subject
Trickiest bit was producing a 2d random maze that was solvable.
no subject
no subject
no subject
I guess the syllabus writers think that kids who actually have an interest in computers will have probably looked it up on wikipedia already whilst creating a complicated stylesheet for their myspace page.
no subject
And at GCSE they have to make databases but don't know the relational stuff, and so can't make meaningful tables that link together. Instead they make hideous flat files stuffed with unrelated information. *shudder*
Flat file databases make the baby Jesus cry.
no subject
flat file "databases" in Excel, or
flat file databases in Access.
no subject
Ewww, ewwww. Ewww.
no subject
Entity and Referential integrity is also easily explained. Every instance of stuff you record information about [the things that you're interested in], must be uniquely identifiable. Every unique ID of stuff you're interested in must have a corresponding foriegn key value.
E.g. Every pet has an owner. An owner may have more than 1 pet, but
a pet may not have more than one owner.
When you begin to build rules around data, you then get away from
flat file databases and start identifying and building
relationships between entities. This thinking is at the root of
data modelling and database design.
no subject
no subject
no subject
Programming languages (Write "Hello World"!)
Part of my mark was based writing a program to play pick-up sticks, with /strategy/, with vague ASCII art interface.
Build a database ABOUT SOMETHING YOU LIKE
Mine was on guinea pigs, I seem to recall.
Desktop-publish a book/comic DITTO, using Quark, none of your MS Publisher crap, publish it on Lulu and get your mates and your mum to buy it.
We had to build the first page of a book/newspaper/whatever in two different programs and compare them. I can't remember what they were, now, of course.
no subject
Or some really simple game that involved picking up different numbers of sticks, anyway...
no subject
no subject
no subject
Given that we apparently covered stuff at S-Grade that others didn't/don't do until university, I shudder to think!
no subject
no subject
no subject
no subject
no subject
no subject
no subject
I would hate to think that it is required for admission to an undergraduate degree in computing: the A-level will screen out all the bright and creative students with an interest in the subject.
no subject
no subject
no subject
no subject
Issues and Debates:
I think I'd also want to include Social Networking/Online Communities. I know we won't be able to completely dispel this, but it may help in mitigating the effects.
Things Definitely Not On The Course:
Wait, seriously? These are things you have to teach? I mean... Ethics in Computing is good and all, but that's just patronizing! And utterly not helpful. All this is practically *designed* to make people resent computing. Yuck.
no subject
And yes, I was kind of including the former bit in "cultures of Internet". How about "how not to be a fvckwad online"?