End of Year 3, coursework, exams, et al.

It’s been so long since my last post! So much has been going on I just haven’t had time to write anything.

I’ll start with uni stuff, maybe do a few other posts about other things later.

Our group project was finished with much caffeine consumed by a couple of us, finishing off the documentaton and doing a lot of the coding, especially after one or two people in the group, well, let’s just say that I can’t actually say what they did in the end. We got the main requirements done though, even if the whole staff management side of the system was missing… it was a low priority requirement anyway.

Foundations 2 was a really interesting module, one which actually put to use some of the skills that we’ve been taught over the past couple of years such as text parsing, and other cool stuff like that. Turing machines also really tested algorithmic thinking in a much more low-level sense than C or even assembly, and given we had to write the TM simulator as well as the TM, itwas quite interesting to see how it turned out. The exam wasn’t so bad either – it wasn’t great but it was a lot better than I’d expected.

Formal Spec, though, was a different matter. I strongly dislike SML, and Z for that matter, and this was a module built on those two alone. The exam paper seemed more like a competition between the lecturers as to who could get the fewest papers to mark, rather than a test of our knowledge. I don’t think I’ve come across one person who walked out of that exam happy. The SML coursework was a nightmare too, especially as I just can’t do SML.

The Software Engineering / Professional Development exam was really easy, but I’m hoping that it wasn’t deceptively easy, we shall see how that turns out when the results arrive.

MEng Interview

Having sent a CV to the lecturer in charge of admissions to the MEng course a while ago, I’m quite happy to say that I had an interview for it today, and while the official results are yet to be published, I’m reasonably confident about it :). I just hope that my feeling is a good one.

AI Exam (continued…)

So, yesterday I found out that one topic in the AI exam which I thought I must have completely glossed over in the notes – well, it wasn’t actually in the notes. In fact, the only reference to it was in one of the “recommended reading” – a list which is reasonably long.

That question was worth seven marks.

Exams and Hurricane Bawbag

After lots of last-minute panicking over the Computer Graphics exam, being resigned to not remember half of the matrix transformations and the Phong equation, we were all taken by surprise by the exam – almost a cakewalk – and a lot of us were saying that too.

AI, on the other hand, couldn’t have got much worse.

Everything that was a “guaranteed” question on the past papers didn’t come up. Everything most people revised didn’t come up. In fact, a fair description of the entire AI module is this:

I could rant on about the coursework too, where we had to produce two expert systems on the same topic – one data driven and one goal driven. We were given two examples, one data driven and one “goal” driven, but the “goal” driven example that we all based our “goal” driven systems off was actually also data driven.

Goal driven was worth 2/3 of the marks.

Just as the AI exam finished, an announcement was made that due to the adverse weather, all exams after this one had been postponed by the university…… in some ways I’m glad it’s out of the way though.

It was a bit windy when we left campus, being on the outskirts of the city it’s pretty exposed – some roofing came off one of the buildings on campus right next to the main bus stop, so that meant the only bus stop that could work on campus was the one at the back of the CS building :D Only in Scotland it be called something like “Hurricane Bawbag”!

Oh well, there’s only Foundations to go, with it’s joys of lambda calculus.

Well, that’s all folks!

Well, that’s all folks!
My last exam A Level is now out of the way, unless I end up retaking a year, which given my epic maths failures recently wouldn’t surprise me.

Now I’m just waiting for the 22nd June, when I start work at a local company, a week’s holiday for a french family wedding, and then exam results in August, and hopefully University in October, although it could be September if I am unlucky and miss my firm choice, although if I do end
up in clearing I have no idea when I’ll start.

Now exams are over, I can start to concentrate more fully on various projects that I’ve been saving up throughout the last few months.

  • Helpmebot version 6 is a major project that I’m hoping to continue and finish off over summer, it’s a complete re-write moving towards an object-oriented approach to the bot. This will make it much easier to add database caching, which should reduce it’s load on the database servers, and ultimately, decrease execution time.
  • ACC: OverlordQ has nicely proposed a complete re-write of the tool, which is a good idea given the code is now a stinking pile of crap, and a nightmare to work with. I was planning on a staged re-write of the tool, converting to OO, but OQ seems to think that it would be better to do a complete re-write, and I’m inclined to agree.
  • A. S. S.: Slug Wars: This is a project that will be hopefully started over Summer, and also hopefully nearing completion when we go to Uni. More info will come on http://albinoslugstudios.co.uk/ in the near future hopefully :D

There are several other projects that I have forgotten, but those are the main ones.

Also distracting me over summer will be Project Euler, and various other small programs that I’m hoping to write.

One thing that has got my attention is a permutation calculation program, which can be done nicely using recursion. I’m hoping to implement some version of these ( http://www.bearcave.com/random_hacks/permute.html ) over summer at some point, which will be useful at calculating all the different possibilities for “wimt”, for instance: imtw, imwt, itmw, itwm, iwmt, iwtm, mitw, miwt, mtiw, mtwi, mwit, mwti, timw, tiwm, tmwi, twim, twmi,
wimt, witm, wmit, wmti, wtim, and wtmi. While it’s possible to work that one out manually, I want to get the results for something like “farosdaughter”, “stwalkerster”, and “cremepuff222”. For “stwalkerster”, there will be 479001600 permutations, so I’m expecting to produce a 5.7G file all the permutations. Following on from that, I want to sort them into alphabetical order.

Also, I am looking to implement a simple linked list in C++, with the possibility of expanding it to form a double-linked list, and possibly expanding to become a circular linked list. Using a linked list, I can easily sort all those permutations into order on insertion.

Alternatively, a better approach might be to use a binary tree. This will vastly improve seek time, as it will only take a maximum of 29 iterations on a perfectly balanced binary tree to search for a specific item, plus it makes implementation of a binary search much more easy.