Modules Taken During NTU Year 2 Computer Science

A yearly ritual in summarizing my impression on the modules taken during the period. See also: Modules Taken during NTU Year 1 Computer Science, AY2013/14.

Taken during AY2014/15 Sem 1

Computer Science Core

CZ2001 Algorithms

Lectures attended: 50% (A/P Tan Ah Hwee, Dr. Zheng Jie)
Tutorials attended: 80%
Assessment: 4 Example Class Presentations (5% each). 1 Mid-Term Quiz during tutorial (20%). 1 Final Exam (60%)
Comment: This is an important module for foundational computer science students. The lecture slides are generally okay, except in some cases (like heapsort) codes or pseudocodes are a bit confusing, in which case wikipedia or mathworld tends to explain better. Quite a lot of proofing to learn, especially the last part graph theory is not easy if one really wants to absorb the knowledge.

CZ2002 Object Oriented Design & Programming

Lectures attended: 50% (Dr. Zhang Jie, Mr Tan Kheng Leong)
Tutorials attended: 80%
Assessment: a few Clicker Quiz taking attendance (5%). a few lab completion taking attendance (5%). 1 Group Assignment (~30%). 1 Final Exam (~60%)
Comment: Pace is very slow in the first a few weeks, especially so if taken concurrently with CZ2006 Software Engineering, as some knowledge are repeated in the two modules. Important to understand the various diagrams in this module. The assignment for the last four weeks poses no big challenge for most groups, but due to time constrains a lot of groups tend to do last minute works. The exam has a lot of code writing, in both Java and C++. Personally I do not think it is a good idea to mix in the C++ as part of the testable content for written exam. The clicker quizzes are for attendance checking.

CZ2005 Operating Systems

Lectures attended: 50% (Dr. He Bingsheng, Prof Sun Chengzheng)
Tutorials attended: 90%
Assessment: Lab report & assessment (30%). 1 Final Exam (70%)
Comment: Very detailed lecture notes, Dr. He Bingsheng is able to deliver lectures in a clear manner. The labs/example-classes are done using C on nachos 3.4 developed by UC Berkeley in the 1990s on Linux. The labs help somewhat to understand threads and semaphore.

CZ2006 Software Engineering

Lectures attended: 40% (Prof. Miao Chunyan, Dr. Xing Zhenchang)
Tutorials attended: 60%
Assessment: 4 clicker quizzes (10%). 1 Group Project (50%). 1 Final Exam (40%)
Comment: This module seems to expect the prerequisite of CZ2002 OODP instead of co-requisite, judging from the way the lecturer (Dr Miao Chunyan) delivers the first half of lectures. The project is definitely the one that takes most time this semester. The group project is to develop an Android application based on the given requirements. The end product my group came out is an Android client to a PHP-MYSQL server, however, neither Java/Android or PHP/MySQL is taught. My group consists of 6 people, having spent first 3 weeks walking in the blind going nowhere, we split ourselves into two halves, one on Android, one on server. We spent intensively 2 weeks (E-Learning & Recess Week) meeting up almost daily, and Wednesdays & Saturdays for the next month to meet to discuss and code. For those who are interested, the server code is available here. During the final demonstration, about half of the groups are able to deliver working app instead of dummy, though some only have local(Android) database, which is not very suited for the use case. For the server side, I know one group uses Drupal, which reduces the coding effort, and at least one group uses node.js. You are advised to rehearse for the final pitch (15 min), it helps. The few clicker quizzes during lectures need to get correct to score, not merely checking attendance.

CZ3001 Advance Computer Architecture

Lectures attended: 40% (Dr. Pramod Meher, Dr. Smitha K. G.)
Tutorials attended: 90% (A/P Hsu Wen-Jing)
Assessment: 3 Lab Quizzes and 1 Lab Report (20%). 1 Project (20%). 1 Final Exam (60%)
Comment: Due to the accents of the lecturers, it was not very easy to understand the lectures, and not many students would turn up. If that is the same case for you, use your tutorial wisely to catch up. The project is to design multi-stage pipelined processor, using Verilog on Xilinx platform. The project is quite doable for a group of four, just remember to debug and test after every modification to codes, as it is very hard to trace errors.

General Education Requirement – Prescribed Electives (GERPE)

HG8006 The Grammar of Comedy

Lectures attended: 100% (Dr. Joanna Sio Ut Seong; no lecture recording)
Assessment: 1 Mid-term Quiz (20%). 1 Group Project (20%). 1 Final Exam (60%)
Comment: Dr Joanna Sio is able to teach concepts in an understandable manner. The lectures before recess week are more on the technical side, explaining various theories about why jokes are funny and how jokes can be funny. For the second half of the semester, there were guest speakers and stand-up comedians came in to conduct workshops and shows, kind of quite interesting to me. The group project is to transcribe a 5 minute stand-up clip from one comedian and analyse the materials and explain why they are funny; and to create own list of jokes based on certain criteria. The project was done in a group of 6. The exam tests on the knowledge taught in class, including some parts asking to create jokes based on certain criteria also. I felt the class was more competitive than I anticipated, with limited effort putting into it, I S/U-ed the module.

Unrestricted Electives (UE)

ET9122 E-Startups And Social Media Strategies

Lectures attended: 100% (Mr. Adrian Chye; seminar style, no recording)
Assessment: Individual Class Contribution (20%). 1 Individual Project (30%). 1 Group Project (50%)
Comment: This course is taught by Mr Adrian Chye, an industrial leader in online marketing who is well versed in entrepreneurship. It is very insightful to learn how to use social media to promote a new business. According to him, the contents (social media marketing part) he teaches in the course cover the equivalence of 80% of what he would teach in a two day seminars which are charged normally more than $1,000 per pax for the working professionals. Apart from the more technical stuff, it is also exciting to hear his failures and successes in his journey as an entrepreneur. All sessions before recess week are carried out on Saturdays (full day, offline or online, with assignments), and it takes three full days during the recess week for presentation of group project. It is quite intensive for the week before and during recess week.

** Update December 2016: I shall STOP taking more questions on this module pertaining to e.g. Ease of Scoring A, Grading, Bell Curve etc. Short answer, I did score an A, but it may not be replicable, and very much depending on your classmates too. I would say my class had interesting and impressive people and some had actual business running. Check with the teacher if that is your primary concern. It’s been more than two years since I took this course, and now that I am graduated. The information I had may be outdated.
For those who have taken this course, you are very welcome to share it on your own platform(s) and leave a link here. I’m willing to link future readers up to your updated articles.

MS800M Beauty, Form & Function: An Exploration of Symmetry (Online Coursera Course)

Videos watched: 75%
Duration: 11 Aug – 6 Oct (8 weeks)
Assessment: 2 Field exercises (27%), 4 MCQs (35%), 2 Learning Logs (16%), 1 Writing Exercise (22%).
Comment: The course is structured into 4 parts: I: Concepts in Symmetry, II: Symmetry in 2D and 3d, III: Symmetry & Crystals, IV: Symmetry & Technology. The first two parts are easy to understand, practically I finished them using within one weekend before school started. However the difficulty increases significantly when it comes to part III and IV, and coincidentally as I needed more time in other modules, it became nearly impossible for me to fully grasp the knowledge in this course for those two parts. Thanks to peer grading, the result was still very decent, but I feel in terms of learning, I was not satisfied with myself.

CM8012 Introduction To Forensic Science (Online Coursera Course, 2AU)

Videos watched: 85%
Duration: 19 May – 14 Jul (8 weeks)
Assessment: 3 MCQ (75%), 2 Case studies (20%), 5 Polling (5%)
Comment: This course was surprisingly enjoyable, possibly because of learning it during holiday without stress about grades. One by-product was that I watched two seasons of Crime Scene Investigation alongside this course.

Added 30 Sep 2015, 28 Sep 2016:

Hi all,
Due to popular requests and me being unable to keep replying many incoming emails,
I hereby share some of the materials, or notes taken, or project done for CZ2001-7.

Links: CZ2001CZ2002CZ2003; CZ2004CZ2005CZ2006; CZ2007

I provide no warranty to the accuracy of the contents provided.
None of these materials shall be used against me in any ways.
Please do NOT plagiarize, or you will be held responsible for the consequences.
If these contents in anyway violates any rights of any person, please do not hesitate to contact me.

I shall not entertain any more requests in the comments section of this post asking for other course materials.
I apologize not being able to provide CZ1xxx level materials, as either I do not keep a good digital record, or the course contents have changed significantly.
I will not provide any higher level (CZ3xxx, CZ4xxx) materials, as I believe a mature Computer Science student should gain the ability of self-study by this stage.

If you have other questions, I’ll be happy to help.

59 replies on “Modules Taken During NTU Year 2 Computer Science”

Hello! I am looking at taking ET9122 E-Startups And Social Media Strategies this semester. Would like to know more about the module from you! Are the classes/projects time-consuming and difficult, and are the offline assignments on Saturday full day too?

Hope to hear from you, thanks! 🙂

Hi Jaslyn,
the course ET9122 is about social media marketing and social commerce.
The individual project was to choose from 1 of 4 questions. The ways you can approach the question are open-ended and can be very different from one student to another.
The group project was to develop a business strategy for your E-startup. You need to decide what to sell, using what e-platform, and set up an e-commerce site. The important part is to design a concrete marketing plan. Group is formed during the first Saturday lesson.
The individual project presentation focuses on how insightful is your sharing, while the group project presentation emphasises on how convincing it is.
The two offline assignments (somewhat e-learning) were technically the third and the fourth lessons but carried no marks. The deadline wasn’t on Saturday, it was on the following mid-week. They were helpful in further understanding how certain social media marketing tools and e-commerce site work and how they are helpful to an e-startup.

Hello! Thanks so much for the detailed explanation! Really appreciate it a lot! I will consider more about taking up this module. All the best to you too! 🙂

Hey. I’m probably going to take ET9122 this semester. May I ask what you got for the module? (and your peers? if you’re not comfortable sharing this info in public you can email me) how is the grading like? Should I prepare an SU for this module? What are the chances of getting >B+. Thanks in advance!

Anw cool blog. You’re a 2nd year student in SCE?

Hi! I have the same question as the previous reader and I might be taking the mod the coming sem. So I would greatly appreciate if you could tell me you/ your peers grades and the chances of getting a good grade 🙂 THANKS!

finally managed to find a blogpost on ET9122!!
Thank you in advance for sharing !!
I am thinking if I should take up this module or not.
If you dont mind, could you share with me your grades and our view on the bellcurve 😡 for the ET9122 electives please? (through email 🙂 )

Thank you and best wishes for you!

Hi! I have the same question as the previous reader and I am considering taking this module.
Thank you so much for your informative blog posts! They are really helpful!

Hi! I’m taking CZ3001 this sem. I think the subject is really confusing. I’m wondering may I have your lab 3 report as reference if possible? And do you have any tips to score around B+ or better?
Thanks in advance.

Hi there, do you still happen to have your answers for the Writing Exercise for Beauty & Symmetry mod? Thanks in adv!

Hey. I’m taking ET9122 this semester. May I ask what you got for the module? how is the grading like? Should I SU it? Do I have chance to take B+ above?

Thanks in advance!

Heys! I wish to seek some assistance from you. Is there any ways I can reach out to you?

Greatly appreciated!

Thank you!

Is it possible to send me 2001 to 2006 contents as I would like to take a look in advance? Thanks

Hi, this is such an informative post! I’m interested in the materials of the courses you took for computer science core mentioned in this post as i may be taking them the next sem. Is it possible to send me a copy? Thanks!

Hello! Thank you for all your advices. They are really useful. Can you give me some advices on how to score well (B+ and above) for the modules? Thank you!

hi did u take cz0001 engineer and society? as I didn’t see it here. u have any notes and summary? heard that it is 100% final no tut at all. thanks in advance!

Hi,i have finaly found a blogpost on ET9122. I have taken up this module for this semester and need some advice on your take on the bell curve for this mod. and how strictly is it graded.


Hi there!

I would also like to know more about the module, and what are the assignments required for this it and the grading too! Could you email me as well? If it’s too much of a hassle, you could just forward what you sent to the other people in the comments section:)


Hello!!! I just got allocated for ET9122 for my first year first sem in NBS… is it advisable to take now and how is the grading like? Hope to hear from you soon! Thank you in advance 🙂

I was wondering if you could send me the tutorial solutions for CZ2002 and CZ2006! I find both quite hard and am not able to understand anything in lectures!

Thank you so much in advance!

Hi yiyang,

I am taking CZ2001, CZ2002, CZ2005, CZ2006, CZ3001 and CZ3003 this semester.
There are a lot of project work in this semester and I am lost. 🙁
Do you mind sharing useful notes, tutorials, or even the lab notes/reports if any, for me as reference?

I am very appreciate your help.
Thanks a lot !!

Hi all,
Due to popular requests and me being unable to keep replying many incoming emails,
I hereby share some of the materials, or notes taken, or project done for CZ2001-6.
See the additional links at the bottom of the main post.
I shall not entertain any more requests in the comments section of this post asking for other course materials.
If you have other questions, I’ll be happy to help.

Hello. Am currently taking et9122 but didn’t do quite well for the individual and most probably not on the group proj also as class is too strong. Any advice if I should s/u? Also, mind sharing your grade and thoughts on the bell curve? Thanks

Hi! Thanks for such great information. I’m planning to study one semester in NTU as a exchange student. Were there any foreign exchange students in your OS class? I’m worried if I cannot take that course because I heard that NTU doesn’t allow some courses for exchange students.

I believe there was at least one when I took it, but not in the same tutorial group.
There were many more exchange students in Intro to Database, I remember.
But again, you can make all the plans, but in NTU it’s hard to guarantee getting into classes of the time that you want.
Try to have backup plans especially for the electives.

Hi! Thanks for the information on ET9122, very helpful! May I ask how the group project was graded and what the lecturer demanded / weighted most?

Group project is evaluated based on the clarity of the presentation, and the features of the e-commerce website. There was on-the-spot online peer-review on the presentations as well, but I cannot remember how that was taken into account.

Hi, I am interested to take this module for the upcoming semester but I have a few questions to ask 🙂 Will appreciate it if you could help me with them!

Is the coursework very heavy and time consuming? How is the grading like and what is the average grade? Did you find it enriching? Lastly, how is the online lesson like?

Hey there. I just wanna ask about the group projects on CZ3001 and CZ2002. Must the group members be from the same lab or tutorial class?

I believe both need to be from the same lab group. You can check with the teachers when the school starts or by emailing them.

Hi! I’m taking ET9122 this seem and I was wondering if I could get your opinion on the course? Whether it was hard to score, bell curve, chances of getting B+, and also, did you find it useful?:)

Thank you for your time!:)

Hi! I am taking ET9122 this sem and as its quite intensive on top of my other modules, I’m starting to feel a bit hesitant. Was wondering if I can get more opinions from you, please.

Such as, overall did you find it to be useful? Is the coursework difficult to be dealt with? How is the prof like? Presentation wise, is it only the group project or the individual project as well?

Thank you for your time! 🙂

“This assignment is a team work (max 4 persons) of a real-world open source software architecture. “…

The assignment of CZ3003 is only a small part of the module. Big bulk is the project.

Hey, do you have HCI notes? Is it possible for you to upload the lecture notes?

Thanks in advance.

Hello! Thanks for the informative post on ET9122! Just wondering about the grading scheme of this course and how easy it is to do well for it (hows the bell curve like!)? (email please :D)

Thank you!

Hi Nice sharing, however I have some doubt on taking ET9122, individual presentation? what is kind of topic is it about? will it be very difficult ? I think is interesting but I am not very good on those presentation. also the group project, will it be very hard?

Hi! i have the same question pertaining to ET9121 too! Your grade, other peers’ grade and bell curve etc info! Thank you so much!! 🙂

Hi, thanks for sharing your experience on ET9121! Like others, I also have questions about it. I would just like to ask how is the bell curve like, and how is assessments like? Is it easy to get an A if I put in the needed effort. Thank you so much and looking forward to your reply.

Hi, thanks for sharing your experience on ET9121! I also have questions about it. I would just like to ask how is the bell curve like, and how is assessments like? Is it easy to get an A if I put in the needed effort. Thank you so much and looking forward to your reply. Greatly appreciate ur help! 🙂

Hi YY – was wondering if you would be able to share some insights on NTU SCSE’s Business double degree program, to the best of your knowledge? Your blog appears to be one of the few that talks about CS in NTU – so here goes:

From what i’ve been reading, BCG seems like it prepares students more for a generalist/ consulting role. Do you happen to have any observations from looking at your peers? Would it be a good fit if I were to start out as a technical professional?
How are the overseas exchange/internship opportunities like? Will it be a mad rush for the popular unis?

Hi John,

BCG is full computer science + business (specialized in Business Analytics). At the very least on the Computer Science part, it is as technical as a normal Computer Science only student, because all the CS courses requirement has to be taken. The business courses are added and replace some of the non-CS electives. So I don’t think you need to worry about the technical fit.

That’s being said, more courses are likely to set you back more time and energy, in turn limiting the amount of time you can put into your own technical side projects. But apart from this, I think technical professional is still a good fit for BCG students. Of course, apart from this, a BCG student can choose to go the non-tech path with the business knowledge.

For overseas exchange, NTU has its policy that Singaporeans are prioritized in going, after which, GPA. I went to explore a less beaten path (INSA Lyon in France) and the reward was great (fulfilling a full semester’s 21AU worth of courses, which many others couldn’t do the same in other universities; and get to travel many places in Europe). Popular destinations don’t mean they are necessarily better.

For internship, I recommend NTU CS students to seek on their own early, and directly to the dream companies local or overseas. For the most aspiring Software Engineers, start as early as Year 1, get yourself involved in side-projects, Google Summer of Code, NTU’s URECA etc etc.

Hi, I am a soon-to-be year 2 BCG student and would like to seek your advice whether I should swap CZ2003 with CZ2005 for my year 2 semester 1 because CZ2003 may have a steep bellcurve due to the very few number of classes.

My recommended modules for Y2S1 are:
CZ2001 Algorithms,CZ2002 Object Oriented Design and Programming, CZ2003 Computer Graphics and Visualisation, BC2402 Data Mgt and Business Intelligence, BC2406 Analytics I: Visual and Predictive Analytics, HY0001 Ethics & Moral Reasoning and AB1202 Statistical and Quantitative Methods.

Thank you in advance!

Hi YY, ET9122 is being offered again this year. Can I get your opinion on the course? Whether it was hard to score (with no marketing/business background), bell curve, chances of getting B+/A-, and also, did you find it useful?:)


I have been allocated ET9122 for my first semester first year in NTU CS (as a UE); would it be a bad choice to take this course at such an early stage?

Thank you!

Leave a Reply to yuan3yCancel reply