Friday, March 23, 2007

Interview

Well I had my interview today to decide if I could teach on the foundation year. I discovered that I had a few things going for me, namely that the foundation year isn't actually computer science, it's engineering, I would be teaching budding engineers how to code, which I like the sound of!

I'm sorry to say to those who advised me, that I abandoned OOP as a topic, as I couldn't think of anything that was complex, and could be explained well in under 10mins, but not so trivial that people would think I couldn't handle complex ideas. I decided to go with "Searching and Sorting" explaining why one performs these actions and explaining the Quicksort, Binary Search and Iterative Search algorithms.

One of the panel commented that I was a really good teacher, and that even as the non-technical member of the panel, they had understood all of the algorithms clearly. Another said that he had been very impressed with my decision to explain the entire thing with diagrams and pictures alone, saving maths and pseudocode to my handout. One lecturer even said that when he heard me say that I would cover the algorithm for Quicksort that I was going too high-level, but when he saw my explanation he felt that anyone could grasp it, the way I taught it.

Informally I've been told that I was either the best or second best candidate that they had seen, and that the other person that impressed them, wants to teach a different module to me. This means that I could well end up teaching the programming course - which makes me very happy.

Sadly this discussion isn't the end of it. This was apparently merlely an assessment that there was enough interest, and that the interested parties were capable of lecturing. The "formal" interviews are to be held later, if the decision is made to carry on, (though apparently on the strength of the presentations given today, they are almost definately going to.)

So - watch this space!

Thursday, March 22, 2007

MS Robotics Studio Update

An academic who I have occaisional contact with, (not mentioning any names) is abandoning the use of MS Studio for any classes or research on the grounds of unfeasibility.

A large number of the studio services require the user to be an administrator to run them. This quite simply means that the tool is useless as a teaching tool, as no-one in their right mind gives a lab full of undergrads admin. It also makes it pretty much useless for post-grad research unless, like myself, the project has a dedicated machine on which the post-grad has local admin.

An open source solution has been identified and is being rolled out as we speak.

For a tool that I was originally so impressed with, it would appear that a certain amount of foot-shooting has gone on at MS!

Tuesday, March 20, 2007

MS Robotics Studio Update

This is only a brief review of the new MS toolkit for robotics.

I did mention it briefly last year and I published a little about it on the robot lab wiki HERE

The only thing that I've really got to offer in addition is that I just don't see a great deal of use for it! Yes, it has a spangly simulator, yes it seems to have a lot of interesting bells and whistles, but to be honest, its still seems a little too unpolished for my liking.

My main criticism is of its crappy directx handling which resulted in a lot of our system just giving up on October 5th, when directx 2.0 expired. It seems ridiculous that MS of all people would release a tool that essentially would keel over on a pre-programmed date when they're trying to acheive market penertration. I certainly won't even think about using it, until I've heard of ten people running it for more than a year without it needing emergency work. Robotics is quite hard enough without making your tools flaky!

Teaching Subject

So last week I appealed for ideas about what to teach in my 10 min presentation that aims to give people a good idea about how good at teaching I am.

Two people suggested OOP, and I have to admit that I was a little resistant. However, it now appears to be the logical choice, especially seeing as it looks increasingly likely that the language of choice for all of the courses is going to be Java.

This pretty much rules out any of the linked list stuff that I was planning to use. The sad thing is that I don't really enjoy Java as a language all that much. I still feel a little impotent without total control over the memory, and without the explicit use of pointers. There are other barriers, the exception system is a little too "goto" for me, (i.e. the fact that if a segment of code in a "try" block can just leave at any time and jump straight to the "except" block smells like spaghetti code to me.)

Before people complain I'm not dissing Java as a language, I'm merely stating a preference.

Whilst I'm on the topic of language preferences, I'm going to say here and now, I just don't like any .NET language, (including the .NET version of my favourite, C++.) For a start I program robots, and any drop in performance is to be avoided at all costs, and the key advantage of .NET stems from its on the fly interpreting of the byte-code language.

I also don't like the fact that every other week there seems to be some trendy new paradigm for programming .NET apps. I don't want to spend half my time relearning Redmond's latest brain child, just so I can get an app up and running.

I have written in C#, and I have to admit that I did get the feeling that there was a lot of power there, espeically with all the mucking about with interfaces which seemed interesting. But at the moment there's just no need for me to move away from a solution that works!

Any how that's my rant over.

My plan is to update my review of the MS Robotics toolkit, (only briefly) and I will eventually be publishing some exciting new updates about my research.

Thursday, March 15, 2007

Robo-bob

Wow, what a busy week it's been!

I've implemented the Dendritic Cell algorithm so that I can apply it to my robots. It now runs 2600 times faster than the original implementation!!! To be fair that is on a slightly faster machine, but still.

I've just finished giving a presentation to my research group about the things that I'm working on at the moment. On the whole the feedback seems good, and even though people didn't ask questions in the seminar, I've already had three people ask me for references and notes to things that I mentioned - which is a really positive sign.

I've been short-listed for running a foundation year course starting in a few months time. This would be awesome experience as it will involve preparing and giving a cohesive series of lectures, giving and marking coursework and setting and marking examinations. It's a lot to take on but the experience is invaluable, on top of that the money is basically the equivalent of a 25% increase on my salary, which is awesome. The interview itself will be a 10 minute presentation on the programming-related topic of my choice. Should be interesting, but I need to pitch it at the right level. My supervisor has recommended that a good example topic would be iterators, (i.e. all the looping constructs) but that's already been done by someone else. Any good ideas? I was tempted by recursion, just so I can use the 'definition of recursion: see "recursion"' gag. Probably not a sound basis for a decision. :)

Friday, March 02, 2007

Shouldering the burden

This weekend was supposed to be one of drunken debauchery in the fair county of Berkshire, with my friends who hail from the town of Reading.

Sadly, it was not meant to be, as I have sucessfully damaged the muscles in my shoulder and chest too much to actually drive anywhere!

The silver lining is that I have got a lot of work done today, and I managed to get my DC algorithm up and running.

Hopefully drunken merriment can be resumed next weekend!

Apologies to those who were expecting me, and didn't receive a call - I left my phone charger at work and have no battery :(