The Intelligent Systems papers didn't go well. That's two papers, both sat in a single 3-hour period (so you can spend 1hr on one paper and 2hrs on the other, etc). The first paper wasn't too bad - A* search, configuration space and potential field path planning, though no stuff about partially ordered plans and STRIPS that I liked while revising - but the second paper was abysmal.
The first question about perceptrons wasn't that hard; they had some bastard phrasing in their questions, mind. "Given the input (1, 2) and expected output 1, the perceptron outputs 1. Explain how you would train the perceptron." Um, it's giving the expected output - it doesn't need to be trained. As far as I can tell that's the answer they were expecting, but putting a 4-mark trick question on your final exam is a low blow.
The other two questions on that paper were both hardcore logic and theorem proving in PROLOG. I didn't even know that PROLOG was on the syllabus. I did what I could to deduce the course content from the contents of the exam paper, and I had a little revision knowledge of Horn clauses etc, but much of the time it came down to questions in the form "Does expression X have property Y?" and I was just writing "Yes" or "No." That's a 50/50 chance of a single mark, maybe? Probably not...
After getting out of those exams, though, it sounded like everyone else had the same problems and opinions of the paper. So hopefully we'll all get moderated upwards.
Third exam I've sat was Security, which was awesome. First question: substitution ciphers! There I was concerned that I'd not learnt all the mathematics behind RSA encryption or DES or various other protocols, and they get us to break a simple substitution cipher for the first question. I came out of that paper with a smile on my face and an ache in my hand from writing so much.
The last one I'm sitting, on Tuesday afternoon, is entitled Lambda Calculus and Types. The wonderful world of lambda-beta, the notion of beta-reduction, different reduction strategies, normalizability, solvability, recursion, Godel numbering, turing completeness - so full of joy!
The Godel numbering stuff is weird, actually. Basically, we define an effective Godel numbering as a function that maps terms in lambda-beta to natural numbers - in short, a function that numbers every possible lambda function (and thus every possible program). Not every number corresponds to a lambda term, but every lambda term corresponds to a natural number - it's an injection, not a surjection.
Then we can take the Godel number of a term and encode it back into the lambda calculus as a Church numeral. And then, the Second Recursion Theorem states that for any term F there's the Church numeral of a Godel number of another term U such that the first applied to the second = U. Funky, no?
The evillest exam I remember had a large multiple choice section at the start, except for every wrong answer the marker would deduct the marks you would have got for getting the question right. And then the multiple choice questions tended to be along the lines of "which of the following properties holds for this statement", then you had to circle a choice of eight things knowing that any you get wrong will lose you marks. Ugh.
And on my Artificial Intelligence exam, there was a question along the lines of "Who was the father of neural networks?". I got thrown for a loop on that one. I ended up missing out on first class honours for that subject by one lousy mark. [sad]
Then there was the Metric Spaces exam I had where I screwed up and studied the complete wrong things, it seems. The exam had a choice of answering two out of four questions; problem was I only recognised the content in one of them. I honestly do not know how I managed to pass that exam.
About the perceptron question, it looks to me that there was a typo in the question. I'm willing to bet one of those 1s was meant to be something else. You might get lucky and have the markers scrub the whole question. Usually though I've had the examiners catch those during the exam (the exam writer would always be there for the first part of the exam just in case stupid things like that happened).