NUS Module Reviews

CS2100 Computer Organisation

Taken in AY22/23 Sem 1 under Dr Colin Tan, Dr Prabhu Natarajan, Mr Ravi Suppiah

Topics:

See this link

Workload:

The workload is unrelenting. Please take CS2100 together with friends. I would caution other future freshmen who are considering taking this in Y1S1 because of exemptions against doing so. This semester, there were very few spots for the module on ModReg after Round 0, so if you manage to snag the module in Y1S1 (where you can only ModReg from Round 1) it’s likely that you’re doing this alone.

Assessment:

Midterms and Finals are both pretty standard, there won’t really be any surprises. The difficulty level for the assignments, labs, and exams were all about similar. The bell curve is quite steep though, at least for Midterms the IQR was 18-20-22 out of 25.

Content:

There is a ton of content (24 Lecture Chapters!!) in this module, but I concur with other reviewers that the module is “intellectually easy but tedious”. IMO the topics are ordered in a weird way, going from higher-level (C, Assembly) then gradually down (Datapath, Control Path) to Boolean Algebra / Logic Gates / Simplification, then back up again to building larger Circuits, Pipelining, and Caching. The result of this is that at least for me, around the middle of the course the topics felt very disjoint and I couldn’t see how each additional topic contributed to my understanding of Computer Organization. It was only when we reached the end (especially Pipelining) when I could finally see the big picture.

The labs are really fun and my favourite part of the module. You really get to apply the concepts you just learned to solve interesting-enough problems. The lab sessions themselves generally only last 5 minutes – the labs are released a week in advance, so you just bring your completed lab sheet, show some demo on your laptop to the TA, and you can leave. You must print and staple the lab sheets before bringing them to class, which I found bizarre for a university module in 2022.

All in all, I think the content is important and useful for both future CS mods and in industry.

Teaching:

The pre-recorded lectures are delivered by both Dr Colin and Dr Prabhu, with slides by Prof Aaron Tan who teaches this module in Semester 2. The slides and the lectures are pretty good, albeit a bit overwhelming in number. I didn’t get to watch all of them due to time constraints, but they’re interesting enough that I’ve downloaded them to watch slowly over the December holidays.

The lecturers are also fairly active on a module-wide Telegram channel, which is impressive.

I did not attend tutorials and recitations, but it seems that a lot of effort is put into those by the lecturers. There was a bit of a kerfuffle in the first half of the semester where the lecturers said they would stop uploading recorded recitations, but I think it was resolved amicably.

Lab TAs mostly exist to just physically receive your lab reports and grade them. That said, they did do some teaching when we were introduced to the Logic Trainer (breadboard thingy), and were very helpful when I was lost at the start (I didn’t take Physics).