I won’t officially have my results back for M250 for another five weeks or so, but the exam question paper’s been released, so I have a pretty good idea of how I did. I’m not 100% sure if I missed one of the sections. I practiced my exact answer to that exact question so many times, that it’s difficult to remember if I actually wrote the answer on the answer book, or am just remembering one of the times I practised it. Note to future self: If you gotta visit the loo, visit the loo. Don’t rush to finish early and decide not to double-check that you’ve answered all the questions.

Anyway, if I answered that question, I’ve definitely got a distinction. If I didn’t, I think that I probably got between 86 and 90 (possibly even 94) marks, and still got a distinction. (I definitely dropped at least two marks, and six if I didn’t answer that one question part.) The worst case scenario is that if I’m very harsh in marking myself, and I assume a few mistakes I didn’t realise on the day (like reversing a greater-than sign, for example), I mark myself an 84, which makes me an edge case that the results team will have to consider. Considering my OCAS is 100, I feel I’d do pretty well in such a circumstance. So it’s a very, very narrow path to me not getting a distinction, but it’s possible, and I guess I’ll see.

How do I feel about the course itself? First, it’s very well laid out. Rather than subdividing every section as much as possible, they break the learning into two-week chunks, and allow the students to manage their time appropriately. This is much better than smaller one-week chunks, as it gave me the ability to focus on my other module (while I was still pretending I cared about it) when I had to without feeling like I was slipping behind.

Having also taken Helsinki University’s MOOC.fi Object Oriented Programming with Java I & II, Harvard’s CS50: Introduction to Computer Science, MIT’s OCW Introduction to Computer Science and Programming Using Java 6.00.1x, and UBC’s Software Construction: Data Abstraction (we’re going to ignore Microsoft’s shambles of a DEV276x Java offering), I have quite a few OOP study introductions to compare M250 to.

It compares very favourably. Most importantly, this is the most academic offering of the lot, which was surprising with so many universities in that list. However, aside from UBC, the others are all introductory level courses, whereas the OU module is for second year university students who are in the habit of studying. While the Helsinki module is very good at teaching coding skills, and both the Harvard and MIT offerings take the red pill and show the maths and memory calls that make this stuff work, M250 is the best at explaining logically (as opposed to physically) how this stuff works. It borrows the concept of message sends from the Smalltalk programming language to explain how objects interact to form complex code. That one tiny way of looking at objects shifted my entire approach to the OOP paradigm, and it’s much, much more natural for me to use than it was after the previous courses. Whereas before I was following rules I was told to follow, now I’m letting my code communicate using what feel like natural tools. The instruction is absolutely rigid in definitions and boundaries between any two related principles (for instance, between data hiding and encapsulation, between substitutability and polymorphism, etc.), and this gives a much better language for discussion about how and why OOP works.

Previous courses I’ve taken haven’t all been exclussively about the OOP paradigm, but some have. While I’ve been able to use OOP better after each one of them, M250 is the first time that I really feel like I get it. It’s an excellent course, well structured, plainly explained, gives both academic and practical views of the subject in an understandable way, and is fairly assessed (despite finding an impossible question on an OU exam for the second year in a row). It is the exact antithesis of TM254.

Beware that it is not a coding module. It is a module about Object Oriented Programming concepts, and happens to go over how to use Java as an example of how OOP works. If you want a Java coding module, I recommend the excellent MOOC.fi course mentioned above.

Well, that’s another exam in the can. How’d I do? Weeeeell, if the memories of a couple of other people are accurate, then I missed an entire part of the exam. So not extremely well.

The parts of the exam that I did happen to read were, by and large, trickier than the past papers, but I had notes jotted down in my handbook for all but two of the trickier parts. One of the two I think I did alright on. The other … Well, the only people who will have gotten it right will be people who wrote the exact example of that method down in their handbook.

Between last year and this, the OU cut back on the number of exam centres drastically. Instead of driving across town from where I work, they wanted me to drive another 30 miles, to a town with horrible traffic, and a total of about 50 miles from my house. So … No.

I switched centres to one the opposite direction of my work. The downside is that I have to take a whole day off instead of just a few hours from work. The upside is that it’s on the sea front and gorgeous. The downside of that is, of course, I was trapped inside taking an exam and not able to watch it. The upside, though, is that it was miserable weather and I was glad to be missing it. The downsi… Forget it.

Anyway, I took the train (which was 15 minutes late) this time, and brought the following: A few wrapped breakfast pastries, the same boiled sweeties as last time, a water bottle, my handbook (as permitted by the exam arrangements booklet), my wallet (with photo ID), my phone (I get nervous about journeys I have no direct control over so can’t convince myself to leave my phone behind), the exam invite (never necessary or glanced at), some painkillers, and two pens. All in my backpack, which went up against a side wall during the exam.

The painkillers were because I’ve developed tension headaches from revision this year. They start around noon, and get worse until about five or six o’clock, then start to back off. They can be quite bad, and make walking difficult. As I backed my revision off this last week, though, they’ve been fading in intensity. I took some just before the exam as I started to feel one coming on, and it backed it off through the entirety of the exam.

Writing for three hours, I need something I don’t have to grip hard and I don’t need to use pressure for. So I used a gorgeous fountain pen that holds a tonne of ink and glides on paper, and a backup that, well, gets the job done. Both were filled with a waterproof ink just in case I spilled while hydrating. (Note to self: don’t hydrate. I spent the last twenty minutes rushing so I could get out and visit the little students room. The invigilators allow you to have bio-breaks, but they also scare you first with tales of students who were never heard from again. Or something like that. I stopped listening.)

The new venue was much better than the last. In addition to the seafront location, there were posh padded chairs to sit in, and the desks were high enough that I didn’t have to bend in half to write. There were no signs pointing the way for OU students like the last hotel, so I had to argue with the concierge that his directions sucked for two minutes before I finally found the right way. Then I saw others start the same argument with the concierge so I went and grabbed them and led them back. (They did NOT want to start any small talk. Absolute focus.)

I got there just one minute before they opened the doors into the exam hall. There were about eighty exam desks lined up, and sixty or so of them had exams waiting on them. Over two dozen were devoted to M250. I was on the front of a row, which was nice. It gave me more leg room, and I didn’t get nervous seeing people in front of me finishing faster. (The guy behind me took about half the time I did, though, and left.)

On the desk was my exam question paper, a desk record, a plastic clip, a metal paper clip, and an answer book. I was allowed to sign my desk record, but nothing else until the exam started. When it did, I wrote my personal identifier on the answer book, copied the exam number onto it from the desk record, and was off.

I won’t get into specifics for now on the exam, as others still might not have taken it. It threw me a few times, I know I missed marks for at least two sub-parts, and apparently I didn’t see an entire section, but can’t be sure of that until the paper is released in a few days. Regardless of missing that, I’m fairly optimistic for a distinction.

I had to rewrite one method at least three times, and I had to restart another more times than that. It had some very subtly tricky questions. The definitions and prose answers were my weak spot, and I feel confident with my performance on those.

You can’t leave during the last 15 minutes, and I was very close to being done with half an hour to go. I rushed my last two sub-parts, clipped everything together, and left. It felt like I was there for twenty minutes.

If I get a Pass 2, that’s okay. I’m very pleased with my effort level and understanding level this time around. I’ve got another exam next year and two EMAs, so we’ll see how much time I can find to revise for that.