I shot my final TMA of the year off to the submission service last Thursday, but just finished with the proof reading and resubmitted it. (I’d rather have an unproofed version marked than forget to proofread and submit.)

The TMA was really enjoyable, and there was a lot of room for creativity, more creativity than I’ve experienced at the OU so far. I do pity the tutors having to mark submissions which can basically come from anywhere. I was, perhaps, a little too free with the specification. There are times when it informs a specific order of steps to be taken, and I change the order and do the seven-step process in two (well commented) steps, instead. I’m pretty sure that I will lose marks for it, but I’m extremely confident of this assignment. I expect to get better than 90 marks, but even if I did spectacularly poorly, I’m unlikely to get anything but a Distinction on the OCAS portion of my results.

(Wow! Look at me be all cocky. I’m normally hedging every prediction I make. It feels good to be completely confident, for once.)

The OU and I both agree that one of the best things that students can do is reflect on their study methods to discover the most effective way for them to learn. Because of my own reflection, I’m not going to start my revision for the exam quite yet. If I were to do so, I fear I’d burn out well before June, and forget half of what I’d revised.

Instead, I’m currently making small programming challenges for myself, and trying to code them by hand. (An example from last night is to parse a maths problem written in text, such as “28 × 17.04”, along with some error handling and resiliance.) I’m not having much luck witing code by hand, though, because I don’t design programs from top to bottom. If I’m writing a method, and realise I need a helper method, I normally jump to my helper methods section of a class, and put a method outline there, including proper header and an appropriate (but wrong) return line, then jump back to the method I was writing. I can’t do that on paper. I’ll have to learn how to plan every single detail before I write anything, and I just don’t know that I care to train myself how to do something I never plan to do. I’ll take a lower result if I have to, I think.

Anyway, we’ll hit up revision some time toward the end of April, I think.

I finally got through the end of the M250 main module materials. For some reason, the last unit on file I/O was difficult for me to sit down and concentrate on. In the end, I took some detailed notes on the reasons behind the techniques suggested in the materials for handling files and streams, and then focused on the practical activities. In the last section, I saw that it was likely that they were going to have us import a collection of objects of a custom class from a text file, and wrote the method to do it using the Java class libraries as my reference. This ended up being the last four or five module activities all rolled into my one self-set challenge, and my solution was remarkably similar to the final M250 example. (I’d separately opened a scanner and a buffered reader, rather than wrap the scanner around an anonymous buffered reader.)

So I’m going to put in my second attempt at the last iCMA, then get going on the TMA. When the iCMAs are formative in nature, and I can take them as many times as I’d like, I always take them once before I read the relevant materials, and once after. I think a lot of people do this to focus their study. I just do it to track my progress.

I’ve done a little under half the TMA so far. It’s quite enjoyable. There’s a lot of iterating over custom data structures. Anybody who builds dynamic content web pages should find the logic straighforward, and can concentrate on the theory and the syntax.

I’m looking forward to revising this module. No idea where to start, so I guess I’ll start with past exams to see what’s expected.