NUS Module Review [AY1112 Semester 1]

This review is written based on the Semester 1 variants of the modules, and thus might not apply to the Semester 2 variants of the same module.

CS3216 – Software Development on Evolving Platforms
5MC / Non-examinable / 50% CA + 50% Final Project
Dr Ben Leong
Semester 1 only

The logical continuation to the iPad module, the Facebook module has been known for killing people during the semesters. And yes, I am here to prove that CS3216 will take up a whole lot of your semester time, albeit slightly less than CS3217 in my opinion. I guess I didn’t take the module with the correct mindset (I didn’t think far enough), but this is definitely a module that is worth your every sweat and second. This review is written from a software engineer’s point of view

Lecture – Lectures are mostly conducted by guest lecturers, to expose you to basically all the problems that require solving in the real world. It’s really an eye opener to realize that the world really needs a lot of software engineers and people with awesome ideas. no webcast but there isn’t a point anyway
Assignments – There were two assignments, both like mini-final-projects in that you have to develop an app that solves a problem. They were both quite fun, and useful in letting you pick up the skills required for modern web development. (PHP, HTML5, AWS etc) There’s also a blogging component, which in my opinion is really helpful, as it helps you consolidate your thoughts onto what you’ve learnt in the lectures and serves as a progress tracker (of yourself) at the same time.
Project – CS3216 is really not a programming module – you have to think about the problem that you want to solve, and develop an app that solves this problem. Many of the groups were really impressive in that they worked with external partners to come up with apps with backing up. I guess that’s where my group fell short.

Again, I would like to thank my teammates in the assignments and final project for being damn awesome and coming up with cool apps. 🙂

My grade: A-
My rating: Not for the faint of heart.


CS2104  – Programming Languages Concepts
4MC / Examinable / 40% Problem Sets/Tutorial/Forum Participation + 10% Midterm + 50% Final
Dr Razvan Voicu

I have to say, Razvan is really a very knowledgeable lecturer. Respect.

This module teaches you about the underlying concepts beneath a programming language, although I would say it has slight overlapping elements with computer hardware knowledge. I had an interesting (and hard) time learning Prolog (Razvan loves Prolog), as its concepts were completely different from anything else I’ve learned. Practice is definitely required to understand most of the things taught.

Lecture – Razvan tends to not finish his lectures in time so sometimes you would have to self study. But other than that, he explains concepts rather clearly and if you can bear with his semi-boring tone (and concentrate), the lectures are really helpful. Be sure to take notes. webcasted
Tutorial – The lecturer will post the answers online, so unless you have completely no idea how to do some certain questions (which you should, towards the end of the syllabus), it should be okay to skip them. The problem is that the final exam questions are NOTHING like those in the tutorial. They are like 100 levels up.
Problem Sets – These are tutorial questions on steroids mostly (with a few easy exceptions), and I spent a lot of time doing each of them. They really serve as good practice for the concepts though, and should be attempted (even after you overshot the cap – the total marks for all Problem Sets exceed the maximum you can score with them).

The 40% CA marks are easily scorable as long as you do all your tutorials and Problem Sets diligently, so make sure you get those marks in full. My midterm was quite difficult whereas the Final Exam was doable as long as you practice well and read through the tutorials. (Problem Sets questions are at a higher level)

My grade: A-
My rating: Concepts are difficult to grasp, and practice is very important.


CS2105 – Introduction to Computer Networks
4MC / Examinable / 5% Tutorial Attendance + 10% Midterm + 18% Programming Assignment + 32% Assignments + 50% Final
Prof Bhojan Anand 

Edit 23/12/2012: As requested by the module lecturers, please take note that the structure of this module is different in different semesters. That includes but is not limited to:

  1. Lecturer
  2. Syllabus
  3. Module score breakdown
  4. Textbook
  5. Final year examination paper format

If you would still like to read the review (which may or may not apply to future semesters), you may zoom in the page.

One of the easier modules of the semester. Contents are largely surface level at best, and not too difficult to understand. If you are lucky, you may get questions in my final exam that are similar to the past year papers. Of course I guess the bell curve would be steep too. Make sure you have sufficient Java/C++ knowledge for the programming assignment. I like the content a lot though, as they are all relevant to our IT life everyday.

Lecture – All (or almost all) the content Prof Anand lectures are from the textbook, and I find that the textbook helps a lot if you can’t understand the concepts sometimes (or if you don’t pay attention like me). Other than that, he’s an okay lecturer. Take notes! no webcast
Tutorial – Tutorial questions should be quite easy as they are mostly just regurgitations of lecture concepts and simple calculations.
Homework Assignments – Slightly harder variants of tutorial questions. (Read: variants, because the questions are really.. the same..) Make sure you score full marks for them too.
Programming Assignment – For my semester we needed to create a Windows client for sending and receiving mail. As I had no experience in Java GUI, I ended up using NetBeans IDE’s integrated GUI builder (it’s really useful!). It shouldn’t be a big problem as they have sample codes for the backend part (sockets).

There really isn’t much to say about this module because it’s really not difficult if you put in some effort.

My grade: A+
My rating: Lightweight module that isn’t too difficult.


CS3230 – Design and Analysis of Algorithms
4MC / Examinable / 5% Tutorial + 10% Lecture Quizzes + 35% Midterm + 50% Final
Dr Rahul Jain

Another lightweight module in terms of workload, but concepts are tricky and requires time to understand. I didn’t buy the textbook, but I felt that the lectures were sufficient. The more abstract section about NP completeness was a complete disaster though, it’s a lot harder than normal algorithm analysis. As there are very few components that contribute to your final grade, be sure to prepare well for each of them.

Lecture – Rahul attempts to explain the algorithms discussed in lecture clearly by drawing a lot and taking a lot of time. Make sure you take down notes from these discussions. He tends to confuse himself though 😛 not webcasted
Tutorial – Be sure to attempt the tutorial questions and prepare for class, not because of the 5% participation grade, but because they are the only form of practice you can have (aside from the textbook, which I didn’t have..) The tutorial questions really help a lot in understanding the algorithms.
Lecture Quizzes – Should be manageable if you follow the lectures consistently. Algorithm design requires some analytic thinking though.

The midterm is a very large component of your grade so make sure to score well in that. I was lucky as Rahul gave hints in the midterm questions.

My grade: A+
My rating: Consistent work should get you through, but maybe not the NP-completeness part..


GEM2901 – Reporting Statistics in the Media
4MC / Examinable / 20% Assignments + 80% Final
oops, I forgot the Prof’s name.. 

No tutorial yet again! Steeeeeeeeep bell curve, I would say this module really requires critical thinking and an adequate level of preparation. The module content is definitely interesting and very applicable in real life.

Lecture – I wasn’t concentrating for most of the lectures (8am.. zzz..), and that was a mistake – do pay attention to his lectures to understand how he analyses news article and information. He cracks jokes to keep his lectures interesting. Do go for lectures to copy down the ‘tutorial answers’ though. no webcast
Assignments – Two article reviews, one newspaper article and one research article. I’d recommend you go for picking a newspaper article with a research article source, so that there isn’t a need to reanalyze information and save precious words (for the word limit). (It’s kind of confusing to explain it, but if you take the module you’ll know what I mean.)

I got A for both assignments but I didn’t score very well in the end.

My grade: B+ (S/U-ed)
My rating: Analytic thinking required.


Once again I survived another semester. Phew.


6 thoughts on “NUS Module Review [AY1112 Semester 1]

  1. Hi, would like to know how is the term paper structure for gem2901 like.

    Because they do not offer any past year exam papers for us…

    Thank you in advance!

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s