2010 Semester 1 in review

Finally, I’ve put down my pen for the last time for Semester 1, 2010; now I can relax and enjoy a few weeks of holidays. Before I archive my uni stuff, I thought I would do a short review on each of the units I have taken this semester.


My lone arts subject this semester, Introduction to Critical Theory was the unit I chose because I could do it at third year level without any pre-requisites, I need a certain number of third-year points to graduate. I also could count CLS3000 as an elective for my Spanish Major. There is a lot of reading in this subject, but it’s really interesting stuff. Sometimes it was a bit hard to grasp the ideas, but the class discussions were always fun. I really enjoyed writing my final essay. At first this subject seemed really difficult, but in the end it was one of my favourite units.


My last-ever second year level unit, Systems Analysis and Design is probably the best unit I have taken so far in terms of student support. The resources available in the forums, Moodle site, Study Guides, Lecture slides, podcasts of lectures and podcasts of interviews, chat rooms and more! were made even more useful by the active involvement of Peter O’Donnel (aka POD), the Caulfield lecturer and chief examiner for the unit. Being friendly with the students over twitter, we could ask quick questions very easily. Sometimes the topics covered were pretty boring, but POD fought hard to make the lectures, tutorials and assignments interesting. I found that the best way to tackle the assignments was to have a go, then get the tutor to tell you what was wrong with your diagrams. My tutor was very helpful. Rocking up at the student consultation sessions was well worth it. A helpful tutor is basically giving you free marks when you ask questions! In the end, I think I know that a career as a Systems Analyst isn’t really what I’d like to pursue, but I wish more subjects were like FIT2001. Even having lecturers and tutors hang out in the forums before an assignment is due or before the exam would be a good first step. Speaking of the exam, the format of this subject’s exam was great. A good mix of confidence building easy questions and questions that stretched you.


In contrast to FIT2001, Multimedia Programming for the WWW was extremely interesting to me. We talked about HTML, PHP, JavaScript, Perl, CGI, CSS, colours, images, and good design concepts. The lectures were very good and enjoyable. I took lots of notes. However this subject was let down by the way it was run. This was an elective counting towards my computer science degree, not a common core unit so it was a fairly small class. The lack of an online community was a bit ironic considering that this was an Internet subject, and this led to the lecturer being flooded with emails just before the exam

The project was to create a design document for a website and then build it. This was worth 30% of the mark, which makes sense because it was group work. 30% is understandable as you don’t want to be pulled down too much if you’re lumped with a bad group. I found working in a group frustrating but we got it done. The assignment marking system was interesting, with a system of ranking by peers. I think this was useful to see what everyone else was doing.

The low 30% assignment mark made the exam a scary 70% of the mark. Due to the really broad nature of the subject, the exam was hard to study for and required lots of memorisation. The format of the exam was also annoying, with heavy black lines ruled through the question answering space. I prefer either thin lines (like in the separate answer book) or no lines (like the FIT2001 exam), not lines that cramp my writing. I also was annoyed that “look up in your own time” stuff was examinable, so you had no idea what really was going to be on the exam. Part of good exam revision is preparing for the exam format as well as for the kinds of questions, so the sample exam wasn’t as useful in that regard. The exam was out of 145 marks, not 100, which is a bit weird and awkward for time planning.

The tutorials were optional, and were like Q&A sessions, and could have been vastly improved if they had been held in a computer lab. The exercises provided were good, but there was no real incentive to try them. Having a piece of code on a screen to say: “it’s supposed to do this, but it does this” is better than having to demonstrate your code projected on the wall!

To improve this subject, I would make the exam worth 60% of the final mark, the two group assignments out of 30% and add a 10% tutorial component. Basically an easy 10% where you would get marks full marks for completing the exercise, half marks for attempting the exercise, and one mark for turning up.


Project Management. Before starting this subject I thought it would be pretty ordinary, but the first lecture got me interested. I really enjoyed some of the exercises: crashing networks is like a sudoku puzzle. However, the lectures soon became incredibly difficult to sit through. The tutorials were good, my tutor was really professional and helpful. The second assignment was pretty ordinary and annoying. Being forced to wrestle with Microsoft Project was pretty annoying also. The exam was ok, I hadn’t reviewed ROI but overall the exam was ok. It could have been made a bit clearer and less ambiguous- I’m sure language and learning would have been able to help. This subject has great potential, but it falls short. Because it has the potential to be so good, it’s sad that it’s terrible. I’ve heard that you can knock this subject over in two weeks during the summer semester.

Next Semester

Next semester I’ll be taking:

But for now I’m going to enjoy a well earned break!

June 30, 2010 | Leave a Comment |

FIT3084 revision: PERL and CGI

So, from my notes I took during the PERL lecture:

Exam: need to read in file, process, print to web doc (CGI)

This is what we had to do for the tutorial exercise.

The first and most important thing to remember is the SHEBANG line (so named for the # and !, sharp and bang) with the path to where perl lives.
#! /usr/bin/perl should be fine for the exam.

There are a couple of different ways to read in a file, I like:

open (FILE, 'data.txt');

Then we have to process it.

while () {

If we have more than two options in an if… else bracket, we have to use elsif (note the lack of the second e).

if ($var = 1) {
$found = "one";
elsif ($var = 2) {
$found = "two";
else {
$found = "not one or two";

Well, there is more, but that’s enough for this blog post.

June 28, 2010 | Leave a Comment |

FIT3084: colours!

I like colour. Colour is something that is very fun to play with. My own room at the moment is painted with three shades of blue and an orange (with white ceiling and trim). Colour also did my head in at school when I learned that the primary colours are Red, Yellow and Blue, but the cones in our eyes are Red, Green and Blue, not to mention that printer cartridges come in Cyan, Magenta, Yellow, and Black. In this post I’m going to talk about Additive Colour, Subtractive Colour and Colour for the web.

Additive Colour

Additive Colour is so named because you start with black, and add different coloured light until you get to white. (Newton proved using a prism that white light is a combination of all the different colours of light. Our bodies are designed with the additive system in mind, with our cones coming in three types: Red, Green and Blue. These are the primary colours of the Additive colour system. The secondary colours of this system are Yellow, Magenta and Cyan.

Subtractive Colour

This system is the one we’re most familiar with, as it is the traditional colour mixing system. The primary colours are Red, Yellow and Blue. The Secondary colours are Orange, Green, and Purple. The system is called “subtractive” because we start with a white sheet of paper that is reflecting white (all) light. Then we subtract some of the light by absorbing it in a pigment, and reflecting just some of the light back.

Colour for the Web (hexadecimals)

Computer screens, while not true Additive colour devices, follow the additive method by emitting different colours of light.
So, the World Wide Web colours work in the same way.

Red: ff 00 00, Green: 00 ff 00, Blue: 00 0 0ff, are the primary colours, and then to mix them:
Yellow: ff ff 00, Magenta: ff 00 ff, and Cyan: 00 ff ff. White, of course, is ff ff ff, while black is 00 00 00.

HTML colours are in fact colors. In order to have your code work as expected, you need to use the color=”#cc00cc” wording.

Colours that go together (and those that don’t!)

Colours that are directly opposite on the colour wheel are complimentary. This means that Blue complements Orange on the traditional colour wheel, but yellow on the additive colour wheel. Colours next to each other on the colour wheel often go together, so blue would go with purple. Not opposite and not next-to colours are contrasting, such as blue and red. Some colour combinations look ok to some people and others think those same combinations are horrible.

Hue, Saturation and Value

The HSV system is sometimes called the HSB system (B for brightness).

Other things

Mac users, try the key combination [control]+[option]+[command]+[8] to invert the colours of your screen. You will see that the Red becomes Cyan, green becomes magenta, and so on.

There are 216 so called “web safe colours”. This means that you should only specify web colour values using 0, 3, 6, 9, c and f. Even though you stick to the “safe palette” you might find that colours look different on different monitors.

It is impossible to match colours between the additive and subtractive colour systems. (Have you tried printing a child’s artwork from made in Paint or another drawing system and comparing them?)

Dithering is what happens when you don’t have the exact colours you want so you take two (or more) close to the colour you want and mix them. It is something to avoid because it can be done badly and look ugly.

When you mix Cyan, Yellow and Magenta pigments or inks together, the expected result is black, the result is actually a brown. This is why printers use black ink as well. This system isn’t perfect, so sometimes other colours of inks are added to the base CYMK system.

Wikipedia Links

June 27, 2010 | Leave a Comment |

FIT3084 quicky: ECMAScript

I didn’t pay too much attention to ECMAScript in the lecture, but saw that it was an exam question on the sample exam (blankscript is the “politically neutral” scripting standard which browsers are supposed to adhere to, for instance with JavaScript and JScript.). I had no idea what this was on my run through of the sample exam, so when I found a cryptic “ecmascript” with an arrow pointing to it saying “standard” in my notes, I had a look at wikipedia.

The wikipedia article on ECMAScript doesn’t tell you what ECMA stands for: but some more digging reveals that it is the European Computer Manufacturer’s Association which is really boring to try and remember. (Ecma has also moved beyond Europe, so the acronym is no longer accurate.) The creator of Javascript, Brendan Eich (of Netscape) said “ECMAScript was always an unwanted trade name that sounds like a skin disease” (see the wikipedia article for source). Basically Netscape came up with JavaScript, and Microsoft copied them, but used the name JScript to avoid lawsuits. (This was during the first browser war.) So ECMAScript was the name chosen to be “neutral” for the standard.

So: all we need to know is that ECMAScript is the scripting standard that JavaScript (and friends) is supposed to adhere to. I am using the mnemonic “Elephants Coyly Model Adjustable Swimwear” which is silly, and generates an amusing and memorable mental image, which will help me to remember it. I’m also reminded of a good old dad-joke:

Why did the two elephant brothers get kicked off the beach?

Because they only had one pair of trunks between them!

So yes. ECMAScript.

June 25, 2010 | 2 Comments |

FIT3084 revision: six interface design principles revisited

The six principles of interface design are something that are guaranteed to be on the exam, most definitely as concepts but perhaps we might have to list them as well. I find mnemonics helpful to remembering things, so let’s look at the key words of each principle.

  1. Be consistent
  2. Provide Feedback (like letting you know that you pressed a button)
  3. Minimise error possibilities (by constraining user options where appropriate)
  4. Provide error recovery (like undo, cancel)
  5. Accommodate multiple skill levels (don’t annoy beginners or advanced users)
  6. Minimise Memorisation needed (label stuff.)

Consistent, feedback, Reduce (changed from minimise) errors, recover errors, skills, memorisation. C F Me Re S M so ? It needs to be something wacky to stick in the brain: how will you remember the six principles of interface design?

I’ve been chanting “consistent, feedback, reduce, recover, skills and memorisation” to the tune of “workers, united, workers, united, will never be defeated” (yes it doesn’t quite fit but it works in my head. :) )

June 24, 2010 | Leave a Comment |

FIT3084 exam revision begins!

The final exam of this semester’s exam season, FIT3084 Multimedia Programming for the WWW, is worth 70% and covers a wide range of topics. I’m working through the sample exam at the moment, and it’s clear that I know what the questions are talking about, but I’m not 100% confident in my answers.

In order to review for this exam, I’m going to blog about each section of the exam, and then work through each of the topic areas. This is actually a lot of content so I’ve got a lot of work to do. I do enjoy looking at this topic area though, which is a positive aspect to this.

Of course, study is difficult to get into with political upheavals and the world cup, as well as other distracting things! Please leave comments as to what questions you have, or topics you would like looked at, to help me focus my studies.

June 24, 2010 | Leave a Comment |

six principles of Interface Design

I’m supposed to memorise these six principles of Interface Design, so I thought I’d put them on my website to help me remember.

  1. Be consistent
  2. Provide Feedback (like letting you know that you pressed a button)
  3. Minimise error possibilities (by constraining user options where appropriate)
  4. Provide error recovery (like undo, cancel)
  5. Accommodate multiple skill levels (don’t annoy beginners or advanced users)
  6. Minimise Memorisation needed (label stuff.)
March 22, 2010 | 3 Comments |