Get Firefox! "my blog doesn't just deal with my life, it deals with some important stuff too"

7th of January 2005

What Not To Study at UWA

While I think that my choice to do an Engineering-based computing degree rather than the straight-forward BSc Computer Science was a good one, I am really wishing I had gone for BSc simply to avoid the dreaded Formal Methods. Formal Methods? Formal Headfuck more-like. I know that my blog seems to get hit quite regularly by people looking for information on studying for the MEng Software Engineering at Aberystwyth so I feel this particular entry may be of interest to them: What modules I feel are best avoided at UWA. I have only two modules on this list because they are two modules that I have taken during my time here and have decided are the biggest pile of bollocks anyone can be expected to endure. Those two modules are Databases in the second year and Formal Methods in the third year.

I use databases all the time. My year out involved databases. I've built god-only-knows how many websites that are database-driven. I don't claim to be an expert in the field of databases, but I feel I should know enough to pass a module on them. But this, it would seem, is not so. Databases is the ONLY module I have ever failed, I was 2% below the pass-mark. Horst Holstein who teaches the module is the single most boring lecturer I have ever had the displeasure to listen to. It got to the stage where I stopped going to the lectures because I couldn't stay awake in them; an accolade that I can attribute to not one single other lecturer. Sadly, if I remember correctly, this module is a requirement on all the Computer Science / Software Engineering degree schemes. So my advice to you is this: Forget the lectures, just spend that hour looking at the past papers to see what kind of stuff you need to know, then research that information in the lecture notes, books, and on the Internet.

Formal Methods is almost as boring to sit through as Databases, but Fred Long who lectures it is not nearly as boring as Horst Holstein. Unfortunately he has a slightly odd approach to the concepts discussed in the module as he comes from a mathematical background. As a result he has a far more mathematical way of thinking than the average computer scientist / software engineer, and so nobody can follow him. Well, I couldn't at least. Furthermore the module seemed to jump from being very slow moving and very basic stuff (once you'd waded through the sea of mathematical bollocks that makes everything take 3 times as long to explain as is really necessary) to moving extremely fast and suddenly gets very technical and complicated towards the end.

Then, when Fred has finished confusing the fuck out of you he will present you with an assignment which may or may not relate in some vague way to the module. Sadly Formal Methods is a requirement if you want to be a Software Engineer, although I have no idea why. Formal Methods are used by only an incredibly tiny minority of all the software houses out there. Why? Because they are expensive to use, few people really understand them (we're programmers, not mathmeticians for fuck's sake!) and it's an additional design step to slow everything down that little bit more. Formal Methods have little in their favour, as does the module.

Anyway. I'm procrastinating again so I had better get on. Mind you, this is (was) the Nation of Procrasti, so you shouldn't be surprised...

Blog #418, posted at 11:58 (GMT)