Sunday 3 April 2011

Always read the not-necessariy-small print

Okay, so I didn't catch up quite as easily as I had hoped I would.
Hence no posting for such a long time.

I spent most of the last week's run up to the deadline for the M381 TMA bemoaning the fact that it's deadline, 31st March, was a week before the fourth book, ML2 was due to be completed.
That's not fair, that's not fair! I was like a broken record. But soldier on I did, and excluding the Wednesday prior, when I spent the day in a narcoleptic haze of uncontrollable sleeping, I spent days solid on ML2 with the hopes of finishing it on Saturday and then starting on the TMA, giving me Sunday, Monday and Tuesday to get through it, and as I do it by hand, write it up.

I didn't finish by Saturday. In fact, I didn't finish Sunday either. That book is hard work! Specifically, the first twenty pages are hard work, which were on primitive recursiveness. So I opted to work until midday on Monday, then do as much of the TMA as I could, and finish the last few questions using the good ole, "find the relevant bit in the unstudied textbook at the same time as doing the TMA question" technique. This is something I swore I'd not do this year.

Glancing at the cover of the assessment booklet Monday lunchtime though, what did I spy?

Contents Cut-off date
TMA M381 01 31 March 2011
(Units 1 and 2 of NT, and Unit 1 of ML)

Bugger! I could have been working on the TMA since the previous Wednesday, as that bloody textbook wasn't even assessed yet!

Fortunately, with the exceptions of Question 4 (where you have three statements which you must prove if true, or find a counterexample otherwise), and the final question (on concatenating two URM* programs for functions f and g to make one that performs function h, by primitive recursion from the other two), it wasn't too hard. But those two took a lot of work. I did the rest and left them to finish on Tuesday.
Unfortunately, I had things to do that day, including sitting around doing nothing for the first half of the day, and then, when I started, a lot of time was wasted fiddling with the concatenation 'recipe' from the textbook to make sure I got it right... I don't think I did.

Then for some crazy reason I waited until 8pm before starting on Question 4.
I wont go into details, but I wasted the first 2-3 hours trying to prove something that was false. A bit more trial and error when all hope seemed lost and I found a relatively simple counterexample! What's wrong with me!? The other two weren't quite so bad, at least. I knew I'd have trouble with that question, as almost all the proving stuff examples and problems in the textbook had me checking the back of the book. Very annoying.

I'm dreading getting it back, as I doubt those two questions were right, and I should probably account for dropped points here and there, elsewhere too. On the plus side, my tutor told us at the tutorial that he would mark questions on URM programs based on whether they work rather than how efficient they are. Hopefully that stretches to completely unnecessary instructions that can never be executed. I found a random copy instruction in the middle of a program for another question when writing it all up on Wednesday morning before the mad dash to the post office. I know how it got there, but I couldn't get it to work by removing it. Very weird. Well, I won't miss URM programs when they're done and dusted, though I appreciate that they taught me something about computability. And I really liked the proof of the fact that the set of URM programs is countably infinite...as was given in the textbook I didn't need to have studied!

It was a nice surprise to suddenly get onto Cantor and infinite sets though. That is very cool stuff!

I'm now mere days from the deadline for M337. I haven't wasted time studying a textbook that's not assessed for another two months this time, but the delay caused by doing that last week has still left me trying to churn out a TMA in just two days. So why am I wasting my time posting? Actually, because I can't get any work done on it today anyway, as I have a job due in, which at this rate will keep me busy until 4am. I did about half of the TMA last night and this morning at least, but I'm also only half the way through the last unit assessed and will have to hunt for the relevant bits that I've not yet studied for the last question. I hate doing that...

The moral of the story therefore is to always read the not-necessarily-small print!
Right, back to work!

*For those that don't know, Unlimited Register Machines are theoretical 'computers' that use just four simple instructions to manipulate numbers stored in their registers, and thereby perform functions on the natural numbers: 'Successor' S(x) adds 1 to the number in register x; 'Zero' Z(x) replaces the number in register x with a 0; 'Jump' J(x,y,q) jumps to instruction q if the numbers in registers x and y are the same; and  'Copy' C(x,y) copies the number in register x to register y.

No comments:

Post a Comment