Module review (AY13/14 Sem 2)

I’ve been so busy this summer that I completely forgot about the existence of this blog, and to write last sem’s module review till Yang Shun of NUSMods reminded me >< For those of you in NUS who have never heard of NUSMods before, YOU NEED TO PAY THAT WEBSITE A VISIT NOW. It’s only the most user friendly NUS timetable builder out there (trust me, I analysed it for one of my 4k HCI mods), with module info, bidding history, reviews/discussion and more all built in. It’s a million times better than CORS/any other official NUS website, because… NUSMods is built by Computing students! :D Hahaha and now on to the review:

Note: This is based on what I can remember/the circumstances in which I took the modules, so it may not be completely accurate for you.

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

CS3249 – User Interface Development

Overview/Workload: Feels more like you’re learning Qt instead of UI development, sort of like how CS1010 feels more like you’re learning C instead of programming methodology. Average to slightly heavy workload depending on how much effort you want to put in.

Teaching style/lecturer: 2h lectures per week, and 2h lab/tutorial some weeks. I can’t say lectures are very important, cause even though I went for them, I spent most of my time chionging my NM2213 tutorials instead lol. Labs can be done at home and just submitted to the TA, no need to attend the whole class. Prof Leow Wee Kheng teaches this mod, and yes I know I said I wouldn’t take any mods under him given the choice, but I still did lol. His instructions are still pretty vague, he still talks too much and I still don’t think he’s that good a teacher (sorry), but he’s quite actually quite a nice guy out of the context of class haha. Oh and this mod has no bellcurve cos Prof Leow doesn’t believe in it (:

Notes/textbook: Notes are uploaded to the module website at the start of the sem and just before Recess Week. The website contains all the important stuff so no need to use IVLE except to submit the project :D Textbook used was mainly C++ GUI Programming with Qt 4 by J. Blanchette and M. Summerfield. YES THE MOD STILL USES QT 4, even though 5 has been out for a few years already. Be prepared for a whole lot of compatibility problems lol. I referred to the textbook a couple of times as some of the homework were pretty similar to the examples.


  1. Final exam (open book) – 30%

    I can’t really remember much about the exam honestly =x If I’m not wrong, it was a 2h paper with 5 questions and a total mark of 100. I didn’t really study much for this exam as I was pretty burnt out from the crazy 3 weeks of non stop deadlines/presentations which ended just 2 days before this paper. I don’t remember it being particularly difficult though.

  2. Project – 30% (10% + 10% + 10%)

    My group (3-4 people) chose to do the Self-Guided Learning System for Anatomy, which one of my juniors is taking over now as his 8MC project. The project is broken down into 3 main parts of 10% each: GUI design, system architecture, and the actual app. As unbelievable as it sounds, the GUI design is worth the same amount as coding out the actual app itself, which is ridiculous, as the coding requires like 10x more effort -.- I also felt that there wasn’t really enough time to develop the app properly. Anyway, the good thing about prof Leow is that he makes you go for at least 1 consultation with him for each part of the project. Please don’t skip them, as he gives good feedback and will tell you how to improve/get more marks. He may forget about the consultation though, so just email him to remind him or stick a note on his door if he’s not there.

  3. Critiques – 20% (10% + 10%)

    Each group is assigned another group to critique for parts 1 and 2 of the project. The critiques are fairly simple to do, just read through what the other group did, analyse what is good/not so good and why, and how to improve on it. You’ll need to present your critique during tutorials, and be prepared to answer a few questions, mostly to substantiate your decisions.

  4. Lab exercises – 10% (5% + 5%)

    These were really easy to do because they are super guided. I mean, just look at this sample step in the instructions given:

    In newFileslot, call okToContinue()to check whether it is ok to continue. If yes, use textEdit->clear()to clear the text editor’s content, and then call setCurrentFile(””)to set the file name to an empty string.

    As mentioned above, the labs can be done at home, so you can just submit them during the lab session and leave after that.

  5. Programming assignments – 10% (5% + 5%)

    These are done at home and are built on the lab exercises. They are slightly less guided than the lab exercises, but still quite easy. You’re supposed to demo the assignments to the TA so he can check if they run properly, but me being me, I just emailed him my code haha. Oh and one bad (or good, depending on how you look at it) thing is that that particular sem’s TA didn’t bother to look at our code, he just ran the predetermined tests and gave you full marks if your program passed all of them. Terrible.

  6. Bonus challenges

    I think this is the best part of the mod haha. Bonus points are given when you complete challenges, and 1 bonus point = 1 letter grade! I got a bonus of 1.5 grades from doing the “Extension of ImageWidget” challenge (1 point), and from doing more than was necessary for part 1 of the project (0.5 point; I created an fully working interactive mockup of the app, while all some groups did was to sketch random stuff on paper) (: Definitely do this if you can!

My verdict: Take it if you want to be a designer (designer in the context of computing, i.e. you need to know front end stuff like this). Else I’d probably give it a miss since the stuff can all be self learnt.

My grade: A-

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

CS3284 – Media Technology Project II

Overview/workload: Better known as the CM 8MC mod, where you (and your group of 4-5) gets to choose a media related project to work on from start to end. My group chose to create a library for the efficient storage and retrieval of security footage from CCTV cameras. The workload in sem 2 is quite heavy, though the exact extent is determined by your project and how crazy your group is. I’ll admit here that I was a major burden to my group and they probably would have been better off without me :'(

Teaching style/lecturer: Similar to the first sem, we had a 2h lecture each week which we all felt was useless since everybody is working on a different project. We ended up skipping almost all of them (except when we had to present our critiques, etc.), so I’m not too sure if they had guest lecturers every week like CS3283. Thank God they decided to remove the lectures for the future batches.

Notes/textbook: No textbook. If there were notes, I’m not aware of them.

Similar to CS3283, we were given 2 different breakdowns in the same document, so none of us are sure how exactly the grading was done. The first breakdown:

  1. Peer review on planning – 10%

    I’ve no idea what this is; none of us remembered doing this o.o

  2. Peer review of coding – 15%

    Again, what??

  3. Project development – 75%

    I guess this is the actual thing that we’re supposed to make. There weren’t any further details given for this part.

The second breakdown (I think this was the one they used):

  1. Refinement of requirements and system design – 5%

    Built on the one we did for CS3283.

  2. Technical focus achievement – 25%

    I think it may be based on what we stated our technical focus was, and if we managed to achieve it. This seems a bit weird to me cause we could write whatever we wanted to for our technical focus.

  3. Implementation details – 25%

    Not too sure what this is, cause they don’t seem to actually look at our code o.o Maybe based on what we wrote in the report? One of the profs mentioned that they only briefly look through the report during the presentation itself though, so…

  4. Testing of functional requirements – 15%

    I think this may be graded according to the report, as there is a section on system testing.

  5. Evaluation of usability and non-functional requirements – 15%

    Again, this seems to be graded according to the report.

  6. Project documentation – 5%

    The report??

  7. Project management – 5%

    I’ve no idea how they tell if we’re effective or not, since we didn’t update anything except the code repo which they didn’t look at o.o

  8. Presentation – 75%

    Personally, I felt that they were grading the entire project based on what we presented -.- We botched up ours though, but luckily one of the profs was nice enough to agree to read our report after the presentation and give us marks based on that.

My verdict: it’s a compulsory mod. I really don’t like how everything was so damn vague (just look at the grading criteria). Also, please manage your time well, start working on the project during the Dec break, and contribute as much as possible to your group – I was a horrible person who spent way too much time on my FYP and completely neglected this.

My grade: B. Unfortunately, the rest of my group got this too, and I’m pretty damn sure they would have gotten much better if it hadn’t been for this burden here.

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

CS4340 – Digital Special Effects

Overview/workload: Very fun mod where you get to learn and create some basic special effects. If you’ve ever wondered how they do it in the movies, take this mod. The workload is quite heavy (especially towards the end where you have to make the final effects video and the BTS video), though it depends on how much of a perfectionist group you have. This mod has a lot of self learning – majority of the stuff you learn is from YouTube/your friends – so don’t expect to be spoonfed.

Teaching style/lecturer: 2h lecture and 2h lab every week. Not much is taught during lectures (you should already know most of the stuff from its pre-req mods anyway); Prof Terence Sim usually lets us watch videos. We were supposed to have 2 site visits during lecture time, but it didn’t work out in the end T.T And I was so damn excited about visiting Lucasfilm’s new Sandcrawler building ): Dneg cancelled theirs cause they said we have too many people and they couldn’t accommodate D: As for labs, they’re more for you to ask questions/submit work, and most people skip it. It’s quite difficult to start and finish the lab assignments within the 2h (and your group mates may not even be in the same lab), so just do it before hand and get 1 person to submit it during the lab.

Notes/textbook: No textbook, lecture notes are uploaded to the module website at the start of the sem. We use Adobe After Effects, Autodesk Maya and Matchmover for this mod, all of which are available on the coms in Media Lab 1 (AS6-04-21).


  1. Lab assignments – 10% individual, 15% group

    Labs are very simple as they are quite guided, though they can be slightly tedious. Each lab has multiple parts and may require you to do a fair bit of tweaking of variables on your part to achieve the best look. Read the instructions carefully so you don’t accidentally miss out anything important and screw the effect up! Here’s one of the videos my group did (it’s not done up to our standards but we didn’t have enough time):

  2. Critiques – 15% individual (5% + 10%)

    First critique is on 2 different past year clips showing the same effect, simple stuff. Second critique was to analyse and recreate a given video. For my batch’s given video it was really easy as you could do it without any special effects. Me being me (i.e. spoil market perfectionist), here’s what I did haha:

  3. IVLE forum participation – 5% individual

    FREE MARKS! Seriously haha just make a few relevant posts on stuff like a VFX breakdown of GoT and you get the marks. I read stuff like this almost everyday (I follow a heck lot of tech blogs, etc.), so this was nothing for me.

  4. Project proposal and progress update – 10% group (5% + 5%)

    We were given a storyboard with a few starting panels. For the proposal, we had to continue the storyboard and choose between one of 2 compulsory effects (guy sucking in smoke and fire from the volcano, or guy breathing out cold air and freezing the volcano). We also had to describe our main effect, how it was to be achieved, member roles and production schedule. Progress update is just editing the proposal based on feedback given by the prof, what problems have been faced so far, an updated production schedule, and any raw footages/edited videos we have.
    Our storyboard

  5. Final effects video – 35% (10% group + 15% indiv + 10% group)

    We’re graded based on artistic creativity, individual component and technique. For artistic creativity, think stuff like how novel the effect is and camera work (shot types, movement, etc.). For technique, it was how realistic the main and secondary effects are (did you take care of all the small details like the glow of the fire on the guy’s face?), and the difficulty in creating those effects. As for the individual component, each person had to do their own effects for the starting panels which were given. While the group uses the same raw footage, the quality of effects will probably differ from member to member. Oh and you (and half the class) will probably spend the night before the deadline chionging the video in the media lab cause there’s just so much to be done. Here’s our group video, which is not up to our standards as well:

  6. “Making of …” video – 10% group

    We had to create a short video explanation which shows the key steps we took to create our effects. Since my group has always done BTS videos for all our productions, we didn’t need much additional planning for this. We also decided to do this vid in a VFX breakdown style, since that was the most professional looking one which is interesting to watch as well. Our video:

My verdict: Super fun module despite the heavy workload. It’s one of my all time favourite mods, and a good follow up to CS3343 – you’ll probably see half your CS3343 class taking this haha.

Chrome ballWe had to insert a CG chrome ball into a scene for one of the labs.

My grade: A+! :D

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

CP4101 – B.Comp. Dissertation

Overview/workload: This is sort of like an independent learning mod. It is almost 100% self driven, so the workload is as much as you want it to be. Of course, the more you do, the higher your chance of getting a good final grade. For my FYP, I chose a HCI project which was proposed by some startup, so I’ve an internal and external supervisor. And then the startup ran out of funding and my ext sup left the company which created lots of complications for my FYP D: but after a lot of headache I think I’ve more or less settled it already and will be doing this on my own instead.

Teaching style/lecturer: In this case it’s the supervisor in charge of the project which you chose, or the prof you approached for those self initiated FYPs. I’d recommend meeting up with your sup at least once a month (I met up with my external sup once a week) to make sure you’re on track or to get any help.

Notes/textbook: Non existent, unless you’re referring to all the research papers you have to read for your FYP. Your sup will probably recommend a few relevant texts, but the onus is on you to find and read all those (boring and dry) papers.


  1. Continuous Assessment – 30% (10% + 20%)

    Submit a CA report and do an informal presentation at the end of the sem. The main evaluator (random prof) and your sup will be the ones grading you. For a more detailed breakdown, check out their grading criteria here.

My verdict: it’s good to do FYP, especially if you want to do further studies. It also looks good in your portfolio since it’s a larger scale project which usually has a real life application – e.g. the interactive digital billboard at the foyer of COM1 was an FYP. Just that you probably don’t want to do it with a startup like me ._.

My grade: IP (In Progress).

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

NM2212 – Visual Design

Overview/workload: Learn how the human visual perception works and how to design for it. I found this mod really easy and straightforward, but a lot of people (especially the arts students) seemed to have problems with it =x workload is heavier than I expected of an arts mod, but still not too bad. I took it in the very first sem it was offered, so my batch was the guinea pig haha.

Teaching style/lecturer: 2h lectures a week with online tutorials (IVLE forums SUCK). If you’re unsure of anything, post it in the main forum before the lecture and Prof Kevin McGee will answer it during the lecture. Prof McGee is an interesting prof who can sometimes come across as mocking you. Don’t be offended though, that’s just his style. Oh and he doesn’t allow laptops/tablets/handphones to be used. But the important thing is that he really knows his stuff, and he takes your feedback into consideration (he actually changed the mod syllabus and lecture structure based on something I said, after singling me out during one of the later lectures ._.). One of the changes which he said he would use for future batches was that lectures became much more interactive, and you have to sit with and discuss stuff among your tutorial group, and then present it. Personally, I prefer this, but I think a lot of people weren’t happy with me after that D:

Notes/textbook: Main textbook was Visual Thinking: For Design by Colin Ware, which we used for the first half the the sem. For the second half, we used random chapters from quite a few different books. Don’t worry about buying any text though, Prof McGee uploads all the necessary readings and the free ebook for Visual Thinking can easily be found online. Lecture notes are uploaded to IVLE after each lecture.


  1. Tutorials – 30% (3% x 10)

    Tutorial questions are usually emailed to us on Mon and before the lecture on Thur each week, we have to complete the tutorial and post our answer in our tutorial group’s forum. Since nothing has been taught yet, you have to read the text, which meant I actually did my readings (sort of haha I did it selectively)! As long as you post before the deadline and your answer isn’t obviously wrong, you should be able to get the full marks. The only annoying thing about this is that if you’re the first to post, chances are your group members will copy part of your answer/use it as reference.

  2. Tutorial participation – 20% (2% x 10)

    After each Thur lecture, you have a until Sun to respond to the forum posts with your opinions. Don’t be afraid to say you think somebody’s answer is wrong, as long as you can substantiate your claim. Also, try to go back and read what the others post, as that’s how the learning takes place for this mod. Quite easy to get the marks for this too as long as you don’t miss the deadline.

  3. Mid-term (closed book) – 20%

    2h MCQ paper. I can’t remember my exact marks, except that I was thinking “wha, I’m not very happy with my marks sia, could have done much better!” Then I found out that I did better than most other people lol so ok still not too bad. This paper is quite easy, I had quite a bit of time left. There are a lot of “I and II/I and III/All of the above” type of questions, so please read the questions properly.

  4. Final exam (closed book) – 30%

    Similar to the mid term, but apparently slightly harder. I left the exam hall early haha :D

My verdict: Interesting mod which I would recommend to all designers. A number of the concepts overlap with stuff I’ve learnt in past/current HCI mods (e.g. Gestalt Principles, and I’m mindblown at how many people don’t understand this), so I found this mod really easy.

My grade: A+

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

NM2213 – Human-Computer Interaction Design

Overview/workload: The arts version of HCI haha. Much more theory based and less technical/hands on as compared to the SoC HCI mods. Workload is quite light if you don’t do the readings like me :D

Teaching style/lecturer: 2h lecture and 1h tutorial a week. The class is fairly small (around 50 students) and there are in class assignments which you need to submit. The Prof Alex Mitchell is a really nice guy, quite funny too! He’s more on the theory side of HCI though, as when we were covering experimental design with its independent/dependent variables and between/within subject design, he got a bit confused. I already knew those from the SoC HCI mods (and my FYP lol), so that didn’t really matter to me. The TA, Jing, is super funny! She’s a PhD student there and happens to be the TA for NM2212 too haha. The bad thing is that she’s not very sure of a lot of things, so most of the time we left tutorial with more questions. But what to do, my tutorial group has a few outspoken engin and computing people who ask difficult questions and challenge the arts POV haha :P

Notes/textbook: Textbook is Human Computer Interaction, 3rd ed. by Alan Dix. IT IS SUPER OUTDATED. I mean seriously, it was written in 2003 when nobody had even heard of smartphones yet! Some of the concepts are still relevant, but all the examples inside are useless. Just look at the hilarious table below. Notes are upload before each week’s lectures. They build on the textbook and contain more relevant examples and context.

Outdated exampleAn outdated example from the outdated textbook.


  1. Tutorials – 20% (2% x 10)

    Weekly assignments which have to be printed out and submitted during tutorials. They’re quite simple to do and you can just read the relevant parts of the textbook (or not at all). I usually do them just before the tutorials, during my CS3249 lectures, print them out and then go for class. Most people will get 1.7% per assignment (they don’t give full marks ): ), unless you really write rubbish.

  2. Class participation – 10%

    In-class participation is from the submission of the in-class assignments if I’m not wrong. Prof Mitchell usually asks 1 or 2 groups to present their answers to the class. There is also forum participation, but I’m not sure how much you need to post (I think I only made 1 or 2 posts?). Most of the forum posts are asking questions you’re not sure of/answering other people’s questions.

  3. Mid-term (closed book) – 30%

    1.5h MCQ paper which I thought was relatively easy. Some of the questions can be quite vague and tricky, with a fair bit of stuff from the textbook.

  4. Final exam (closed book) – 40%

    2h paper with 50 MCQ questions. I left 45min early, after doing my paper really slowly and checking it multiple times. Jing said this was much harder than the midterm, but all I remember was it being much less clear. Think multiple correct/plausible answers per question, depending on how you argue it – just that you can’t, since it’s an MCQ paper -.- also, what I really didn’t like about the final paper was that it felt like a comprehension paper whereby the textbook was the passage. And I barely read the textbook, which probably cost me a grade.

My verdict: Easy and slack mod compared to CS3240. You’ll still need to study a bit/read the textbook for the final exam though, or you’ll end up missing an A like me ><

My grade: B+

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.

NCC1000 – StepUp

Overview/workload: The year 3/4 career mod (if you take the year 1/2 one you can’t take this). 5 2h lectures in either the first or the second half of the sem (you get to choose). Workload is non existent, since the only thing you need to do for this mod is go for lectures and submit your resume, which you should already have if you’re in year 3/4.

Teaching style/lecturer: A different career advisor/external trainer teaches the class each week. There are some parts where you may have to discuss stuff with your neighbours or respond to the instructor’s questions, but other than that there isn’t much interaction.

Notes/textbook: No textbook DUH. Hardcopy notes are given out at the start of each class. Some of the notes are probably quite useful; e.g. the more introverted people will appreciate the notes on networking.


  1. Attendance

    Go for every single one of the 5 classes. You need to scan your matric card to take attendance. Since the scanner makes a loud noise each time a card is scanned, it’s pretty obvious when 1 person scans 2 cards, so… Haha.

  2. Resume submission

    Submit it after the resume class; doesn’t matter how good/bad it is to get the marks. If you don’t already have a resume, this will benefit you a lot. If you already have one, try rewriting it with the techniques they teach during the resume class. They’ll email you their feedback for your resume at the end of the mod.

My verdict: the general StepUp mod is not very relevant to Computing people. Our career advisor, Desmond, knows this and hence he decided to start a customised StepUp mod just for us Computing kids! Think technical interviews and stuff like that, in addition to the basics in the general StepUp mod. Definitely take that if you can, especially if you’re the shy type! (:

My grade: CS (Completed Satisfactorily)

Quick jump: CS3249, CS3284, CS4340, CP4101, NM2212, NM2213, NCC1000.


Yes, I took 7 mods (ok it’s more like 6.5) in the past sem and didn’t die. In fact, aside from the last month of school, I actually managed to get around 7h of sleep each night :O Truly by the grace God (and me neglecting my 8MC group =x). Anyway, hope you guys found this review useful! If you would like to check out my review for sem 1, click here (:

♥ sarrie


Share your thoughts with me!

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s