# Welcome

{% hint style="info" %}
**Note**: I have graduated from NUS in 2023 and will no longer be providing new module reviews. It is **very likely** that the information here is out-of-date and is kept for reference only, please proceed with caution.
{% endhint %}

Hello! I am Zhong Jun, previously an undergraduate at the National University of Singapore (NUS) under the double degree program of Computer Science and Business Administration.

This website contains reviews of modules that I have taken throughout my journey in NUS. I hope that these reviews would be helpful for you to have a better understanding of the module that you are intending to take.

If you are interested in knowing more about my perspectives of being in the double degree program, do [check out my interview done with Shi Hui](https://liewshihui.medium.com/306aa1bd0fe7), who is a close friend of mine and also a fellow double degree student!

All the best!

*Note: The reviews on this website are entirely my own opinion, and the experience you get from the module may be very different. I have written them in the hopes that they would be useful for people to know what they are getting themselves into, but I will not be liable for any module decisions that you make based on the content of my reviews.*


# CP2106 Independent Software Development Project (Orbital)

**Module**: CP2106 Independent Software Development Project (Orbital)

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Dr Zhao Jin

**Tutor**: *None*

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is in fact offered over the summer holidays and sign-ups are open in Semester 2. You basically come up with a product over the summer holidays and present aspects of it at the end of the module, with a Splashdown during the early parts of Semester 1.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

None. Sparing extreme cases, you definitely pass at the end. However, your level of achievement (Vostok, Project Gemini and Apollo 11) will depend on how much effort you put in to your project (or rather how much effort you *show* that you put in).

## Comments

I have to start off by saying that this module is really how much you want to gain out of it. There are no set rules and assessment criteria as to how much effort you need to put in to pass, but definitely projects that are more impressive and requires more effort will be allowed to gain a higher level of achievement at the end of the module.

There is a Liftoff session at the start of the module where certain frameworks and tools are introduced. Afterwards, there are a total of 3 milestones in which you will have to come up with a poster and a video explaining the product that you have been building. For my team, we did not do anything throughout the whole summer holidays except for the day before the milestone deadline, where we will just hard-code the project to get it into working order for the video.

I guess our tactics got a little suspicious and my team was flagged for a re-evaluation of the level of achievement. We had to make things work somehow before we demoed the product to the module coordinator. We barely scrapped through and I eventually graduated with Project Gemini. Phew.

During Semester 1, you will have one night in which you will have to print a huge A1 poster and present your project to other people and stand to win certain prizes based on popular vote. Overall, this module is helpful if you want to just quickly clear module credits, but if you are looking for something to learn, you are better off taking another module. Also, the sign-ups tend to be filled very quickly, so look out.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: None

**Project workload**: This module is to build that one project, split into 3 milestones.

**Readings**: None

**Recommended if**: If you wish to have a very easy way to earn modular credits.

**Rating**: 1.0/5.

**Expected grade**: CS

**Actual grade**: CS


# CS1010J Programming Methodology

**Module**: CS1010J Programming Methodology

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: Dr Zhou Lifeng

**Tutor**: Mr Subhodip Mandal

**Textbook**: “Introduction to Programming with Java – A Problem Solving Approach”, 2nd edition, by John Dean and Raymond Dean, McGraw-Hill (no, you do not need this textbook at all)

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module introduces the basic and fundamental concepts of programming to all Information Systems students with or without any background in programming. It is taught in Java (as opposed to the other CS1010-equivalent modules taught in other languages) and serves as a pre-requisite for higher-level programming modules (such as CS2030 and CS2040). You will learn how to write a simple program with a maximum of around 200 lines, implementing logic such as selection statements, loops, arrays, basic OOP and simple recursion.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 8% - Tutorial Attendance: Attended at least 8 out of 10 tutorial lessons.
* 8% - 4 Problem Sets (homework): Small coding assignments to be done at home and submitted to CodeCrunch.
* 10% - Mid-term Assessment: 1-hour open-book test (20 MCQs).
* 24% - 2 Practical Exams: Each 1 hour 30 minutes of coding on the school’s computer (2 questions).
* 50% - Final Assessment: 2-hour open-book test (mix of short answers writing the output of a program and long answers of writing the code of a program).

## Comments

This module is the first module that exposes students to the world of programming and covers the basics of writing a simple program using selection statements, loops and arrays (including 2D arrays). Basic Object-oriented Programming (OOP) and recursion is also taught towards the end of the module in preparation for the higher-level modules.

As someone with prior experience in programming, it certainly helped a lot in allowing me to solve problems at a much faster pace than my peers, since I was already used to computational thinking. However, do not take this advantage for granted, as the lecturer knows how to set questions that can catch you off guard, especially if you are a self-taught programmer.

### Lecture <a href="#lecture" id="lecture"></a>

The lecture went at a rather slow pace as the module is designed for students with or without prior programming background. The lectures tend to dive into the theory in-depth, which made it a little difficult for me to stay awake for them. The lecture notes provided were comprehensive enough and need no additional annotations, especially if you have prior background. However, the lectures are not webcasted and it is recommended that you attend the lectures in case you happen to have gaps in your knowledge. I have seen people going for lectures to just do the problem set assignments while listening to the lecture.

### Tutorial <a href="#tutorial" id="tutorial"></a>

The tutorials are 2 hours every week. The tutorial questions are released early in the week, sometimes before the lecture, so you can do them early if you have prior experience in programming. The tutorial group that I was in had a good mix of strong and weak students and the tutor tried to keep everyone engaged for the lesson. Most tutorials end within 1 hour though, and the rest of the time is spent on catching up with the bi-weekly problem set assignments

The problem set is a set of approximately 30 coding assignments that you can do at home and submitted to CodeCrunch, which is an online platform for automatically grading those coding assignments. You will need to do 10 assignments before the deadline, inclusive of a compulsory assignment that the lecturer will pick. I strongly advice that you do all the assignments and pace yourself sufficiently so that you can do at least 1 assignment per day. This is especially useful for helping you to get used to computational thinking and also for your revision purposes.

### Mid-term test <a href="#mid-term-test" id="mid-term-test"></a>

This was the first semester that the module had a mid-term test. Most of the questions involved tracing, which is to read the code of a program and determine the output. Many of the answers are very similar to one another, so it is easily to be caught off guard. 1 hour is definitely not enough for you to finish the paper, so there may be many instances that you will need to take some shortcuts in tracing the program. As a result, many did not do well (myself included) as the mock paper given to us had a different difficulty level than the actual.

There are also another 2 practical examinations that are 1 hour 30 minutes long and requires you to solve 2 long programming questions. You will be using a computer with no internet access except to CodeCrunch to write your code and to submit them. Many of my peers suffered in this component as the question can be very lengthy and difficult to determine what exactly needs to be solved. Hence, it is important that you plan carefully what are the different functions that you will need to write for your program during the first 10 minutes. You will also need to think of possible edge cases that your code will fail in, as you will not be given access to all the test cases that your program will be checked against.

### Finals <a href="#finals" id="finals"></a>

The final examination is a 2 hour open-book test that involves tracing and writing of code on paper. If you have practiced sufficiently with your problem set assignments, you should be able to do relatively well for this segment. If you are not used to writing code on paper, try doing so for your tutorials instead of using the computer.

All types of programming methods that you have been taught will be tested. Usually, it is the basic OOP or recursion that will be very difficult and take up the bulk of your time for the test.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There is only 1 tutorial per week, but many assignment questions in the 4 problem sets, which may take up quite a bit of your time per week depending on your strength in programming.

**Project workload**: No projects.

**Readings**: Very light. There is a recommended textbook but I only knew of it when I was writing this module review. Don’t bother wasting your money on that, the lecture notes are sufficient.

**Recommended if**: A compulsory module for all Information Systems students. If you are a computing student from another course or a non-computing student, there are other CS1010-equivalent modules that you are qualified for instead. This module is strictly from Information Systems students only.

**Rating**: 4.5/5. I love programming and the things taught in this module can sometimes be rather thought-provoking. However, who writes code on paper now?

**Expected grade**: A+

**Actual grade**: A+ (Okay, I was a little too confident for this module, but because this module is not graded on the bell curve, it is definitely possible if you put in consistent effort)


# CS1231 Discrete Structures

**Module**: CS1231 Discrete Structures

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: Dr Li Wei

**Tutor**: Mr Chi Kit Gordon Hoi

**Textbook**: Kenneth Rosen - Discrete Mathematics and Its Applications, 7th Ed (2011)

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module introduces certain fundamental topics that are prevalent in the field of computer science. The module covers multiple topics on logic, functions, sets, number theory, mathematical induction, combinatorics and graph theory, all of which have applications in various aspects of computer science. This module is taught by the CS department in Semester 1 and the Math department in Semester 2.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Test 1 in Week 7: 20%
* Test 2 in Week 10: 20%
* Finals: 60%

## Comments

This module is known to be a rather difficult module for first year students because it exposes students to varsity level mathematics, which is very different from how mathematics is taught and used back in our pre-university days. There are even memes just about this module, showing how daunting it can be for students.

I took this module in Semester 2 because for Semester 1, the CS department is the one in charge of teaching the module whereas for Semester 2, the Math department is the one teaching. Accompanied by the fact that this module is largely a mathematics module, it made sense to take the module when the Math department was teaching it. This is also an advice that I would give to juniors as well! It is definitely more worth taking the module in Semester 2, because the way the CS department teaches it is just, bad.

The lectures is always going through concepts and immediately applying the concepts using examples. However, the lecturer tends to speak rather slowly and since there was webcast for this module, it is more efficient for you to watch the webcast at 2x speed instead of going for the lecture.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are just what you would expect, which is just applying the concepts that you have learnt in lectures in actual problems. Some of the questions can be tricky, but I was lucky that I had a very good tutor who was able to explain the concepts taught in the module clearly for us to understand. Tutorials are 1 hour long but it is hardly enough time to go through the whole tutorial, so be sure to schedule consults with your tutor or the lecturer to clarify your doubts with the remaining questions.

The tutorials provided are quite useful, but the suggested answers might be confusing to understand and comprehend at first. I would strongly suggest going for tutorials and hopefully find a good tutor like the one that I got.

### Mid-terms <a href="#mid-terms" id="mid-terms"></a>

There were a total of 2 mid-terms for this module. The first mid-term was just after recess week, which tested on the first chapter on logic, whereas the second mid-term was during Week 10 which tested on the second chapter on functions and sets. You are allow to bring in one A4 sized cheatsheet, double-sided.

The format of the mid-terms do not really deviate much from the previous years, except for the last few questions which can be tricky. I strongly recommend doing the textbook for additional practices, but understand that it is not possible to prepare for every possible question that can be tested from these two chapters. For my mid-terms, they were mostly doable, but I was not able to score well because of the tougher questions at the back, plus falling into traps that the lecturer laid out. Read the questions carefully!

Also, the way this module is structured is that after the chapter has been tested, it will not come out again in the final exams. However, there may be certain aspects of it that is used in other chapters, so make sure you have fully understood your concepts.

### Finals <a href="#finals" id="finals"></a>

Similar to the mid-terms, the format of the exam does not deviate much from previous years and obviously tests the remaining chapters of the module. I spammed practice on the past year papers to also try and find trends in the questions and to better prepare myself for the paper, and I strongly suggest you to do the same.

The finals was also manageable, but I had some questions in the first part that I left blank, mostly from the combinatorics chapter. The first part consists of questions with only the final answer required from you (no working marks) whereas the second part consisted of long questions which have method marks awarded. There should just enough time for you to finish the paper, provided you have done your revision sufficiently.

Overall, finals was manageable but I was not too optimistic about my grades because I did not do well for my mid-terms and seeing a lot of other people scoring better than me for mid-terms.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments.

**Project workload**: There were no projects.

**Readings**: Light. The lecture notes are sufficient enough to prepare you for your exams, but the textbook can be a good supplement.

**Recommended if**: A compulsory module for some computing majors and some science majors. Math majors can opt to take this module or MA1100, but I strongly suggest taking MA1100 instead because this module will not prepare you sufficiently for the higher-level math modules.

**Rating**: 4.5/5. I struggled quite a bit for this module but overall it was a very interesting module. My tutor was good and the lecturer is clear in her explanations (most of the time).

**Expected grade**: B (finals was manageable but not too optimistic because likely there is a steep bell curve)

**Actual grade**: A+

Okay this deserves some elaboration. I was extremely shocked when I saw my results (especially when it was a leaked result 2 days before the official results release). I had a friend taking the same module as me and he got an A+ as well, which made us equally dumbfounded. I have no possible explanations to this grade, except probably that I was blessed by the bell curve god. I did manage to finish the second part of the finals though, so maybe that set me apart from other students.


# CS2030 Programming Methodology II

**Module**: CS2030 Programming Methodology II

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: Dr Shengdong Zhao, Dr Wai Kit, Henry Chia

**Tutor**: Mr Fang How, Gabriel Chao (Laboratory), Mr Gan Chin Yao (Tutorial)

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is a follow-up to the introductory programming module (the CS1010 series) and focuses mainly on object-oriented programming (OOP) and functional programming (using streams). The language taught in this module is Java and those who took CS1010J like I did would have some advantage.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Weekly labs (10%)
* Individual project (10%)
* Practical assessment #1 in week 7 (15%)
* Practical assessment #2 in week 12 (20%)
* Tutorials (5%)
* Final exam (40%)

## Comments

Although I had some prior experience in programming, this module mostly taught concepts that you would not have picked up if you are a self-taught programmer. This module focuses a lot on using good design practices to write your programs, mainly the SOLID principles.

### Lectures <a href="#lectures" id="lectures"></a>

The first half of the module was taught by Dr Shengdong Zhao whereas the second part was taught by Dr Henry Chia. I apologise, but the first half of the module was a complete joke. The way the prof taught was not really using lecture slides, but coding on the spot, which may or may not work. It was extremely confusing and difficult to follow the lectures. There were quite a bit of complaints about the way the lecturer taught the module, but nothing changed and most of us were lost by the time it was recess week.

The second half of the module was taken over by Dr Henry Chia, who was supposed to be teaching the module but was on hospitalisation leave. I would say he did an extremely good job in teaching and was a very good lecturer who taught us all well. He is the type that can break down a difficult concept into something that is digestible by us students, and had a good mix of live coding and slides teaching, using both tools to reinforce learning.

It was sad to hear that he broke down during the last lecture due to stress from the job. I do hope he continues teaching because he indeed is a very good tutor. It is a pity that students are unable to appreciate the privilege that we live in.

### Tutorials <a href="#tutorials" id="tutorials"></a>

Tutorials were 1 hour per week and not only gets you to apply what you have learnt from the lectures, there were also some additional concepts taught, training you to make use of a certain function of Java on the spot. My tutor was very good in the way he explained concepts to us, which was also rather helpful given the fact that the first half of the semester we were all lost.

The duration of the tutorial was rather short and it is likely that the tutor is not able to go through all the concepts in time.

### Laboratory <a href="#laboratory" id="laboratory"></a>

Labs were a rather fun component of this module, as you get to write code demonstrating the concepts that you learnt in the lectures. Also, the labs are structured into levels, so you are building the final program in terms of incremental steps. This is extremely helpful because sometimes, the question do not specify very clearly what is required of the final program, and also helps to guide you in writing good code. The lab TA might give some pointers on how to do the assignments, but if you are strong enough, you only need to log in to the system and then immediately leave without staying for the whole duration.

The 2 practical assessments during the semester were also conducted during the labs. Hence, it is possible that your friend took the assessment earlier than you did because of the timing of the labs. It is based on trust that students do not share the questions with one another.

This semester also saw an additional project component and we were mostly graded on our code design for this project. If you did your work diligently, there should be more than enough time for you to finish the project well before the deadline.

### Finals <a href="#finals" id="finals"></a>

The finals was a 2-hour long paper exam that tested programming concepts via MCQs and writing of actual code using pen and paper. The MCQs had rather good questions, but the idea of writing code on paper was extremely bad. Apparently, we were graded based on the idea of the code, not the actual code, so it is quite possible to submit pseudocode as your answer instead of actual Java code. However, be careful as some questions may be Java specific (mainly streams).

Overall, finals was rather difficult for me and I left the streams question blank.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: Every week, there is a lab assignment to complete. The assignment is given out during the lab sessions and has to be submitted at the end of the week (usually Sunday).

**Project workload**: One semester-long project to complete. The project is broken down to smaller parts which build upon one another, and the deadlines are spaced out so that you finish the final project by the end of the semester.

**Readings**: None

**Recommended if**: A compulsory module for some computing majors and is a very good module for learning the advanced tools required of becoming a good software developer.

**Rating**: 3.5/5. I did not like the way the first half of the semester was conducted.

**Expected grade**: A (finals was bad for me)

**Actual grade**: A


# CS2040 Data Structures and Algorithms

**Module**: CS2040 Data Structures and Algorithms

**Semester taken**: AY 2018/19 Special Term 2

**Lecturer**: Dr Chong Ket Fah

**Tutor**: Mr Ng Tzer Bin

**Textbook**: CP3: Competitive Programming

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is all about tackling problems and the tools that you can use. You will learn to analyse algorithms, understand its efficiency and be exposed to the different contexts in which you have to tweak certain algorithms to achieve what is desired.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Tutorial attendance/participation: 3%
* Lab attendance: 2%
* In-lab Assignments: 20% (2.5%/problem)
* Take Home Assignments: 12% (2%/problem)
* Online Quiz: 8% (4% each)
* Midterm: 15%
* Final Exam: 40%

## Comments

Moving away from learning the language of Java as taught in CS1010J and in CS2030, this module focuses more on the discussion of the tools that you can use to solve problems. Perhaps up till this point, most of the problems that I have encountered can mostly be solved with a couple of loops, maybe recursion. However, this module is the one that exposes you to the wide array (pun intended) of ways to approach a certain problem, and even evaluate if the way that you are solving the problem is the most efficient.

As I took this module during the special term (plus I was also interning at NUS IT), the workload is rather intensive as they had to squeeze the usual 2 weeks into 1 teaching week here. However, this also meant that the lecturer is forced to cut back on some assessment components, although overall the content matches (if not exceeds) those that were taught in the usual semesters.

There are about 4 hours of lecture, 2 hours of tutorial and 4 hours of labs per week (concentrated on Tuesdays and Thursday). You essentially spend the whole day in NUS reading 1 module. Accompany that with the take home assignments and you will have a pretty busy week ahead.

To me, this module was rather eye-opening as you get to approach problems from a different perspective. However, there are some math involved in this, especially when you come to graphs, so watch out, though some parts of this module should have been covered in CS1231.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 2 hours per week split into 2 1-hour slots, which most of the time will be spent on going through the tutorial questions. However, the tutorial questions are worded such that it encourages some form of discussion about the topic, especially regarding the efficiency of the algorithm used. I did not really expect much, but after we had a replacement tutor for 1 or 2 lessons, I was quite glad that I had this tutor.

There is also an online test component, but it is just the Visualgo-generated questions. Before the test, just grind as much as possible and make a small cheatsheet for some of the more tedious questions that you encounter, and you will be fine. Most, if not all, students get full marks for the online test.

### Laboratory <a href="#laboratory" id="laboratory"></a>

For labs, we will be given 1 or 2 questions on Kattis to solve for the session, and you must get all test cases to pass within the specified time frame before the end of the lab session. Most of the questions are easy and I usually get to leave within the first half hour. There are times, however, that you just don’t get it, and seeing your classmates leave one by one can be a rather stressful thing. I do pity the girl that cried for the last lab session, hope you did alright.

There is also a take-home lab assignment that you have to complete over the week, also on Kattis. These questions are much harder to complete and for me personally, I spent almost the whole weekend getting them done. Some of the answers are available online if you know how to Google for them, which definitely saved a lot of time since Kattis does not provide you with feedback on why you have failed a particular test case.

### Mid-terms and Finals <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The mid-terms and finals were all written questions and were of similar format. The first part requires you to prove if the given statement is true or false (recall how to prove such statements in CS1231), whereas the second part will give you scenarios and to devise out an algorithm to solve the problem. Writing actual code is not necessary (though it might help in your thought process, if you are more of a coder), and it is definitely possible to score by writing point form, as long as you articulate the steps of your algorithm clearly to the examiner.

The tests are open book and I would advise you to come up with a cheatsheet which lists out all the algorithms that you have learnt in the module and the different situations that such algorithms can be applied to. It would also be beneficial to know which parts of the algorithm can be tweaked so that you can adapt it for the given problem.

I didn’t get to see how other people performed for this module, but mid-terms I got 26/40 and for finals I felt that it was a very easy paper (which was also admitted by the prof prior to the exam). I am guessing it is because most of the students taking this module are not from Computing, so they had to make the module easier after the mid-terms.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are 10 in-lab assignments (best 8 of 10), 4 take-home lab assignments and 3 online quizzes (best 2 of 3)

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for some computing majors and is a good module for those that are interested in analysing algorithms and their efficiency, which is not usually a concern in day-to-day practice.

**Rating**: 4.0/5. Interesting module but the workload killed me a little inside.

**Expected grade**: A (was a little worried about mid-terms but the rest were good)

**Actual grade**: A


# CS2100 Computer Organisation

**Module**: CS2100 Computer Organisation

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Dr Soo Yuen Jien

**Tutor**: Mr Tan Hong Jie Uriel

**Textbook**: Digital Logic Design, 2nd ed., Tan Tuck Choy, Aaron, 2011. McGraw-Hill

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module takes a turn in the usual coding that CS students are used to doing and moves towards a more physical approach as it handles mainly hardware components. The main goal is to learn how instructions are being processed in the CPU and identifies the bottlenecks involved in executing a certain line of code, which is especially useful in knowing how to best optimise code. You will also get to build your own circuit and touch a very little bit of C programming.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 10 Labs: 13%
* 3 Assignments: 12%
* 11 Tutorials: 5%
* Mid-terms: 20%
* Finals: 50%

## Comments

I had quite a lot of fun in taking this module, especially since the lecturer is the famous “Uncle Soo”. He really can make a difficult content become easy to understand and comprehend, and I really enjoyed listening to his lecture webcasts (though I always play at 2x speed since he tends to speak rather slowly). The use of animations were great in explaining abstract concepts such as pipelines.

Some aspects of this module requires your boolean algebra that you briefly covered in [CS1231](/computing/cs1231-discrete-structures). Fret not if you forgot some or most of it, as there will be some revision for you during the lectures.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour per week. Most of the time, we will be discussing questions in the tutorial and also to clarify any doubts in the module. Only some of the answers are given to students, but the TAs will generally have access to all the answers. Hence, if your TA is nice, he/she will share the full answers with the class, which is very helpful for learning and revision nearing the final examinations.

There are also regular assignments that need to be completed throughout the course of the semester. The assignments are generally easy as it is possible for you to discuss answers with others taking the same module as you. Difficulty-wise, it should be rather similar to how the tutorials are.

### Laboratory <a href="#laboratory" id="laboratory"></a>

The labs requires you to do all sorts of things related to the module, especially the concepts taught in the lecture a week prior. It starts off relatively easy, as you are only required to do some simple coding in C to have an understanding of how it works. However, it progressively gets more difficult as you work with the digital circuits in the laboratory rooms. The tougher ones are those that requires you to wire the circuit so that a specific output is obtain for a given set of inputs.

The 1 hour lab sessions are definitely not sufficient for the labs in the later half of the module. Hence, it is important for you to read up beforehand what the lab is about, and to prepare (and if possible, test) the circuit diagram before you assemble it physically in the lab. It is a mad rush for time, so work smart and maybe take a quick glance at how others are doing it so that you are doing fine.

### Mid-terms and Finals <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The mid-terms and finals were all written questions and covers all the material taught so far. The tougher ones are those that requires you to trace the output for a given circuit diagram, which can be very tedious and different from how you trace code. This is entirely dependent on the amount of practice that you had for such questions.

Both the mid-terms and finals allow for a cheatsheet to be brought in. Keep your notes concise for easy reference and you should not have much difficulty with the paper. Be careful of traps in some of the questions, though.

Overall, this module is very different from other modules that Computing students are used to taking, as there is no much code being written. Hence, there is often this love-hate relationship with this module as students do not understand the point of learning and taking this module. However, I believe that this module helps in understand how the computer executes instructions, which is extremely helpful for cutting-edge applications that require that tiny bit of speed improvement.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are 10 in-lab assignments and 3 take-home lab assignments

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for some computing majors and a rather interesting exposure to the internal workings of the computer.

**Rating**: 4.5/5. Overall a very well organised module

**Expected grade**: A- (was a little worried about finals as I forgot where the venue was, but overall was good)

**Actual grade**: A


# CS2102 Database Systems

**Module**: CS2102 Database Systems

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: Dr Chan Chee Yong

**Tutor**: Dr Chan Chee Yong

**Textbook**: Database Management Systems, 3rd ed., Raghu Ramakrishnan & Johannes Gehrke, 2003. McGraw-Hill

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module introduces students to the world of database applications and generally gives you some idea of how data can be structured and stored on the computer. As an introductory module, we were taught all about writing SQL queries and in Data Definition Language (DDL). Finally, the module moves towards a more theoretical aspect of understanding how data is structured with the various normalisation rules to avoid unnecessary data redundancy.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Tutorial Attendance & Participation: 5%
* Assignments: 15%
* Team Project: 20%
* Midterm Test: 20%
* Final Test: 40%

## Comments

Before I entered university, I had some exposure to writing SQL queries and how to navigate my way around a MySQL/MariaDB interface. However, this module took it to the next level by teaching a lot of content, from understanding how databases work, to writing our own SQL queries including JOIN and finally, understand the theory behind how data can be structured and organised in an SQL database.

In this increasingly data-driven world, understanding how database systems work is often underrated and even overlooked. In fact, despite being a level 2000 module, it is only an elective module for CS students. However, many CS students still continue to take this module out of interest, especially as this module is rather helpful in understanding databases, which would be required when building applications that require a database.

The lecturer is one of the best professors that I have ever encountered during my time in the School of Computing. Although his lectures are slightly longer than others (sometimes even going beyond 2 hours), I felt that he was very detailed and provided a lot of examples to help in our understanding of the concepts behind the module. He is also very focused on students’ learning and employs many methodologies to help students learn better.

### Tutorials <a href="#tutorials" id="tutorials"></a>

There is a 1-hour tutorial per week which is mostly used to go through some of the tutorial questions. The tutorial will cover concepts taught during the lecture a week before, but most of the time only some questions will be discussed during the tutorial itself. Some students will be selected to present their answers and on average, each student will be presenting their answers twice during the entire semester.

Every few weeks, there will be assignments to be submitted. The questions found in the assignment is very similar to the ones found in the tutorial, and the difficulty and format of the assignments should be very similar to how the mid-terms and finals are conducted.

### Project <a href="#project" id="project"></a>

Perhaps the toughest part about this module is the project. This semester-long project requires you to code a food delivery webapp from scratch, similar to how Foodpanda is developed. There is a long list of requirements that you need to meet and you may spend most of the time writing code that seemingly has nothing to do with databases. It is expected that the workload of the module is going to be very high due to this project.

For CS students, you will realise that this project is much more difficult than the one encountered in CS2103. However, it is also because of the difficulty level of this project that makes it very useful to include in your resume. It is not common for modules to give you the valuable opportunity to develop complex applications.

### Mid-terms and Finals <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

As mentioned earlier, the mid-terms and finals are very similar in nature to the assignments given out at regular intervals of the semester. The mid-terms mostly consisted of writing proper SQL queries and practice is key in getting the correct answers. I managed to score 16/20 for the mid-terms, but the median was like 8/20 whereas the 75th percentile was 11/20. The highest score was 17/20 and it is definitely doable if you practiced the tutorial questions diligently.

The finals consisted more of the normalisation rules taught in the later half of the semester, although there were some instances of the Entity-Relationship (ER) diagram and writing SQL queries being covered. Normalisation rules such as 3NF and BCNF will be very difficult to understand from the start, so make sure you study the examples carefully given in the lectures and tutorials. There are also many answers and discussions on the Internet that can be very helpful in your revision for finals.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are 4 take-home assignments given throughout the semester

**Project workload**: Extremely high, as the project is essentially full-stack development from scratch

**Readings**: None

**Recommended if**: A compulsory module for Information Systems students, but Computer Science students can take it for the Database Systems focus area. Particularly useful for people interested in web development.

**Rating**: 4.0/5. Overall a very good module and sufficiently challenging, although the project felt unrelated at times.

**Expected grade**: A

**Actual grade**: A+


# CS2103 Software Engineering

**Module**: CS2103 Software Engineering

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Dr Damith C. Rajapakse

**Tutor**: Mr Choo Chun Hoe Jonathan

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches the basics of software engineering and how to work together as a team to deliver a software product. Certain tools for collaboration, such as Git and GitHub, will be taught, along with a unified modeling language for designing a software. Finally, there is a project that runs for the second half of the module which will allow you to apply the concepts taught in the module in a team setting.

CS2103 and CS2103T are the same modules, but members of a group must be from the same module code. Hence, CS2103 is for students that are unable to take CS2101, such as RVRC students and also DDP students like me.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Individual Project: 10%
* Team Project: 45%
* Participation: 5%
* Final Exam: 40%

## Comments

This is the first module that exposes CS students to popular tools such as Git. Gone are the days of saving code onto Dropbox or Google Drive, especially for those that are new to coding. It is also the first module that requires students to work together as a team to deliver a software project at the end of the semester. Hence, this module serves as a very good foundation for future group-based project modules that you need to take as a CS student.

However, the downside is that the workload is extremely high. You will spend a lot of time coding and debugging your code, which definitely does not make this module feel worth its 4 MCs. However, the project is written in Java, so it should be comfortable for most students who just came out fresh from CS2030, or a living hell for those that hate Java to the core. For the first half of the semester before the group project starts, there is another individual project that is also written in Java and is aimed to get students familiar with the IDE and code base provided by the lecturer.

There is a 2-hour lecture every week and I personally felt that it was the most enjoyable lecture series that I have ever attended. The professor had very animated slides and adopted great presentation skills in teaching students. I definitely learnt a lot from the professor and always looked forward to his lectures on Fridays.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour per week. Half of the tutorial is used to cover some of the concepts taught during lectures, whereas the other half is spent talking about the progress of the group project. The tutorials itself are the most chill component of the module, as everyone will be seated down together to talk about the project and some basic software engineering principles.

### Finals <a href="#finals" id="finals"></a>

The final exam is split into 2 parts. The first part is MCQs with 100 questions and 1 hour to complete, whereas the second part requires you to draw diagrams using UML and some short answer questions. The pace of the exam is rather fast for the first part, but slows down somewhat for the second part, and it is all open-book.

Overall, the difficulty of the final exam is not very high, especially when it is open-book and the answers can be found inside the given textbook. However, you generally do not have much time to search for the answers.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments.

**Project workload**: Extremely high, with an individual project during the first half of the semester and a group project during the second half of the semester.

**Readings**: None

**Recommended if**: A compulsory module for CS students. It is largely a project-based module, so theories taught are minimal.

**Rating**: 4.5/5. Interesting module but the workload is high.

**Expected grade**: A

**Actual grade**: A- (unfortunately, I think it is due to my project not being robust enough)


# CS2105 Introduction to Computer Networks

**Module**: CS2105 Introduction to Computer Networks

**Semester taken**: AY 2020/21 Semester 1

**Lecturer**: Dr Zhou Lifeng and Prof Roger Zimmermann

**Tutor**: Mr Yehezkiel Raymundo Theodoroes

**Textbook**: Computer Networking: A Top-Down Approach, Global Edition, 7th ed., James Kurose & Keith Ross, 2016. Pearson

## What it is about

This module exposes students to the world of computer networks with a brief introduction on some of the fundamental concepts that make up the Internet. Using the Open Systems Interconnection Model (OSI Model), the module peels away the layers, starting from the application layer, in order to illustrate how computers and devices communicate over the network. Finally, students will learn about some basics of how multimedia is transmitted over the Internet, as well as some basic network security topics.

## Assessment components

* Individual programming assignments: 23%
* Midterm test: 25%
* Mock midterm test: 2%
* Final Exam: 50%

## Comments

As can be seen from the module's title, the content of the module is indeed an introduction. Many of the concepts taught are very basic and easy to grasp, even for someone who is weak at programming.

I previously took [CS1010J](/computing/cs1010j-programming-methodology) under Dr Zhou Lifeng and absolutely loved his lectures, as they are engaging and very simple to understand. Hence, I purposely waited to take this module in Semester 1, as it is the semester where he teaches this module. Unfortunately, he only taught this module for the first half of the semester, and the second half was taught by Prof Roger Zimmermann, which was kind of a letdown.

Nonetheless, this is a very easy module and the bell curve is quite decent. If you have some experience playing around with your home router, this should give you a slight advantage. Some knowledge of the terminology used in networking would be helpful in understanding the concepts taught in class. The material is also important as some companies may ask you about networking concepts during interviews.

### **Lectures and Tutorials**

There are 2-hour lectures every week, and the lectures are structured based on the OSI model, starting with the application layer. The application layer is the layer that contains concepts people are most familiar with, such as HTTP and DNS. The lectures then progress downwards the 5 layers (transport, network, link and physical) as the weeks go by.

The lecture notes are quite detailed and the illustrations are plentiful to aid in your understanding. Even though the lecturer changed midway during the semester, the lecture notes all come from Dr Zhou, so the change isn't too significant.

There are 1-hour tutorials every week, and the tutorials are simply going through the tutorial questions and clarifying of any doubts. The lectures are clear enough, so tutorials often end early with no questions.

### **Programming Assignments**

As this is a CS module, there is bound to have some programming involved. There were a total of 4 programming assignments, and the code can be written in either Java, Python or C/C++. It is recommended to use Python for the assignments, as the syntax is the easiest and does not pose too much problems when working with networks compared to the other two.

The assignments are rather simple, and most of the time the full set of test cases are provided. The assignments take some concepts taught in lectures and gets you to apply them using your programming knowledge. However, it is mostly a simulation (such as packets being dropped, packets being delayed, etc), and some of the methods taught in class would be helpful for completing the assignments.

### **Midterm Test and Final Exam**

The midterm test and final exam were both conducted in the same manner, where the questions are delivered using LumiNUS quizzes with Zoom proctoring. There were 25 questions (mix of MCQs and short answer questions) for the midterm test, for a total of 70 minutes. For the final exam, there were 30 questions (mix of MCQs, multiple response and short answer questions) for a total of 120 minutes. Both exams were open book, and we can ask questions in a specific thread in LumiNUS forum during the exam.

The questions are quite simple and some of the answers can be found in the lecture slides. Also, due to the unique way in which students can ask questions, it is possible to get some hints from your peers based on how they phrased the questions. There was even a question in the final exam where people were debating on it, as it covered a concept that was not taught in class (and the question was subsequently nullified). If you know your material well, the exams should be a breeze and can be completed rather quickly.

## Other information

**Assignment workload**: There are 4 programming assignments to be done either individually or in pairs.

**Project workload**: None

**Readings**: None

**Recommended if**: You are interested in knowing some basics of networking, which I feel is rather important for CS students as interviewers will ask them.

**Rating**: 4.5/5. A simple and easy to understand module.

**Expected grade**: A+

**Actual grade**: A+ (plus a commendation letter)


# CS2106 Introduction to Operating Systems

**Module**: CS2106 Introduction to Operating Systems

**Semester taken**: AY 2020/21 Semester 1

**Lecturer**: Dr. Cristina Carbunaru

**Tutor**: Mr Julius Sander Nugroho (tutorial) / Mr Alen Kandathumthodukayil Sabu (lab)

**Textbook**: Modern Operating System (4th Edition), by Andrew S. Tanenbaum, Pearson, 2009, and Operating System Concepts (8th Edition), by Abraham Silberschatz, Peter Baer Galvin & Greg Gagne, McGraw Hill, 2010

## What it is about

This module introduces students on the concepts of the operating system and is taken after [CS2100 Computer Organisation](/computing/cs2100-computer-organisation). It touches on how the operating system handles processes, memory and files. It also covers other concepts on operating system protection mechanisms, as well as operating system structures and architectures.

## Assessment components

* Tutorials: 10% (quizzes)
* Lab Assignments: 35%
* Take-at-home test: 15%
* Exam: 40%

## Comments

This module is known to be a tough module, and I wanted to take this module overseas via the Student Exchange Programme (SEP). Unfortunately, it was cancelled due to COVID-19 and I had no choice but to take it here. I then wanted to take this module under Uncle Soo, which I took CS2100 under, but unfortunately he has handed over this module to Dr Cristina. I dreaded this module, and was hoping for the best.

However, it was quite surprising, as Dr Cristina is a really good lecturer and tries her best to keep the class engaged even though it was conducted entirely on Zoom. The content is tough to absorb, but she uses various tools to encourage class participation, which overall made this module a little more enjoyable.

Some companies out there may ask content taught in this module, especially for backend-related roles. However, most do not ask too deeply and will probably ask some of the basic concepts.

### **Lectures and Tutorials**

There are 2-hour lectures every week conducted entirely on Zoom. As it was the first semester where lectures are entirely online due to COVID-19, it was a little messy at the start as people were getting used to it, but eventually Dr Cristina found ways to keep us engaged, such as allowing annotations before the lecture starts to get some feedback from students.

The lecture notes are rather self-contained, which means that there is no need to refer to the textbook, as the materials that you need are all available in the lecture slides. Dr Cristina also followed Uncle Soo's presentation style by having a couple of extra slides during the lecture. Some of these extra slides can be rather important, and thankfully we were able to screenshot on Zoom to annotate on.

The tutorials are 1-hour long each week and often overrun, as there are lots of material to cover. The tutor will start with a recap of the week's concepts, followed by going through some of the tutorial questions, before ending with a multiple choice quiz where you need to get a certain number of questions right before you can get the 1% credit for that week. Most of the questions are simple and answers can be found in the lecture slides.

### **Lab Assignments**

The lab assignments are not really assignments done in a laboratory setting, but more like programming assignments. There were a total of 5 lab assignments, where each assignment would span 2 weeks and will test a particular concept taught in class (mainly related to interacting with the operating system). All assignments are done in C.

The lab assignments are very difficult, and it is understandable as they are written in C and they deal directly with the OS internals, which can be difficult to debug. Not many people have experience writing C code, which adds to the difficulty as it is not immediately obvious which function you should be using. Unfortunately, my lab TA offered very little help, but I was lucky as I had a friend in another lab group and that lab TA provided a lot more guidance on tackling the assignments.

There is a 1-hour lab each week, and students will demonstrate part of their code for that week's lab assignment. The lab TA may also go through the lab itself (especially if it is released on that week). If you have already demonstrated your code in the first week, then often you do not need to attend the second week's lab session.

To tackle the lab assignments, it is better to work with friends, as the concepts can be very difficult to apply and the code is difficult to debug. This is especially true when it come to multithreading, where the order of your code matters a lot. There may even be functions that you are not aware of, but will make your life a lot easier when you use them.

### **Test and Final Exam**

The take-at-home test is a midterm test with a mix of MCQ and short answer questions, for about 1 hour. The final exam is of a similar format, but for 2 hours. Both tests are open book, Zoom proctored with screen recording.

The questions are a good mix of easy and hard questions, and the "open book" concept is not limited to the lecture notes. We had one question where the answer is found in the Linux man pages, and Dr Cristina did say that the man pages are also available during the exam.

It is extremely vital to practice a lot for the exams, as there can be weird ways that a certain concept is asked. Make sure to completely understand the concepts taught in class and find lots of practice questions to prepare for the exams.

## Other information

**Assignment workload**: There are 5 graded lab assignments.

**Project workload**: None

**Readings**: None

**Recommended if**: A compulsory module for Computer Science students, and if you are interested to know how to work directly with the operating system.

**Rating**: 4.0/5. A tough module but teaches concepts that are important, sometimes asked by companies during interviews.

**Expected grade**: A-

**Actual grade**: A (rather surprised but mostly carried by my friend for the lab assignments)


# CS3103 Computer Networks Practice

**Module**: CS3103 Computer Networks Practice

**Semester taken**: AY 2021/22 Semester 1

**Lecturer**: Dr Chan Mun Choon

**Tutor**: Mr Khooi Xin Zhe

**Textbook**: Computer Networking: A Top-Down Approach, Global Edition, 7th ed., James Kurose & Keith Ross, 2016. Pearson

## What it is about

This module is a continuation of the [introductory module to computer networks](/computing/cs2105-introduction-to-computer-networks) by diving deeper into certain concepts used in the Internet, such as DHCP, DNS, routing and TCP. Students are expected to keep in mind the knowledge learnt from CS2105, and this module seeks to expand that knowledge. This module also includes a laboratory component, for students to explore networking concepts in an isolated environment.

## Assessment components

* Pre-lab quizzes: 10%
* Lab sheet/Questionnaire: 30%
* Group project (part 1): 15%
* Group project (part 2): 25%
* Written/Programming assignment: 15%
* Participation (feedback/Q\&A): 5%

## Comments

According to the professor, this module was previously part of two separate modules, one that focused more on the theory aspect of networks and the other being the more practical aspect. The two modules were eventually merged to form this module, while taking away some content and putting them into a few of the level 4000 modules. This move makes sense, as it is very helpful to be able to learn some of the concepts in the lecture and subsequently see it in action in the laboratory.

This was also the first time that this professor has taught this module for many years, as it has always been under the charge of Dr Anand. I was quite disappointed at this last-minute change, as I heard many good stories of Dr Anand and was looking forward to taking a course taught by him. The disappointment was valid, as the style of teaching adopted by Dr Chan was not to my liking. However, the lab sessions were very interesting, as they allow you to tinker with actual enterprise-grade devices such as routers, switches and wireless access points.

There are no final exams for this module, so most of the content taught in this module are tested in the lab sessions and quizzes.

### **Lectures**

There is a 2-hour lecture every week and each week covers a certain topic related to computer networks. The topics here do not overlap with the ones taught in CS2105, and will go into greater detail on those that were briefly mentioned in the earlier module. Unfortunately, the way Dr Chan conducted his lectures made me lose interest in the module rather quickly, as he will keep talking about the theoretical aspects in a somewhat monotonous voice. There were also a couple of instances where he rushed through the content, only to have quite some time remaining at the end of the lecture, which he then chose to end the lecture then.

As there were no final exams for this module and the content are only mainly used in the lab sessions, there is little need to listen to the lectures completely. However, if you are intending to take up certifications such as the Cisco CCNA in the future, the lectures will be a good starting point to prepare for the certification exams. Otherwise, it is possible to get by with reading the lecture notes and using Google to supplement the information.

For the participation component, it was not announced by the professor, but there is a midterm and end-of-semester feedback form to be filled in on LumiNUS, which will count towards the final grade. I believe many students missed out on this (including myself), and this is definitely something you would not want to miss, given the steep bell curve of this module.

### **Laboratory**

The lab sessions are held every week for 2 hours, and will cover the topic taught in lectures 2 weeks prior. There will be a pre-lab quiz that will open 24 hours before your designated session, and has to be completed before the lesson starts. Each quiz has around 4 questions and are usually open-ended, which may ask you some theory questions on the content taught in lecture, or some questions pertaining to the lab itself. Hence, always look through the lab sheet before attempting the pre-lab quiz, and understand the setup of the lab. The answers for the theory questions can be easily found either in the lecture notes, or from some simple Google search.

The lab sessions are done in pairs, and I recommend taking the lab session with a friend so that you both can work on the pre-lab quiz together and do some preparation work beforehand. My partner and I would always meet up the day before to run through the lab sheet, take note of the terminal commands that we will need to type, and answer the pre-lab quiz together.

I was lucky to get a really good lab TA who is very knowledgeable with computer networks, and often guide us along the way while we are doing the lab. Some of the lab sessions can be confusing and time-consuming, and it makes the pre-lab preparation work all the more important, so that you do not overrun the time.

### Group Project and Written Assignment

The group project has two parts which are unrelated and are done in pairs. By default, your group member will be your lab partner, but you are free to choose another person or even go solo.

The first part of the project was to develop a simple proxy server, which you can use with Mozilla Firefox to browse websites. This was a tough assignment, as not only do you need to make the proxy server work according to the specifications, your marks are dependent on how fast the page loads using the proxy. You are free to use either C/C++ or Python, but my group chose to use C++ as it runs faster than Python, which affects how fast the proxy operates. Unfortunately, we were both unfamiliar with the syntax and it caused quite a few problems along the way.

The second part of the project is to create a job scheduler for a certain set of requests and a cluster of mock servers. This was also quite tough, as the requests come randomly and are of different sizes. The challenge is to come up with a suitable scheduling algorithm so that the overall waiting time for requests is reduced. I have no idea how this is related to computer networking.

Finally, there is a written assignment to be done individually, which asks a bunch of theory questions regarding computer networking. The questions are mostly simple, but some can be tricky and if you make the wrong assumption, will give you a completely different answer.

## Other information

**Assignment workload**: Light. There is a written assignment for the semester and a short pre-lab quiz to be done every week there is a lab session.

**Project workload**: Heavy. The projects are tough and will take some time to debug, especially if you are unfamiliar with the programming language you are using.

**Readings**: None

**Recommended if**: You are interested in learning some of the advanced topics in computer networks, especially so if you are interested in taking network-related certifications in the future.

**Rating**: 4.0/5. Content is interesting but the professor made it a little boring. Bell curve is steep.

**Expected grade**: A

**Actual grade**: A-


# CS3223 Database Systems Implementation

**Module**: CS3223 Database Systems Implementation

**Semester taken**: AY 2020/21 Semester 2

**Lecturer**: Prof Tan Kian-Lee

**Tutor**: Prof Tan Kian-Lee

**Textbook**: Database Management Systems, 3rd ed., Raghu Ramakrishnan & Johannes Gehrke, 2003. McGraw-Hill

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is a follow-up to [CS2102](/computing/cs2102-database-systems) but focuses more on how database management systems are designed and built. Students will learn topics such as storage management, algorithms for querying data, concurrency control, etc. The knowledge gained will be immediately applied through a group project to implement a simple database management system.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Gradiance Assignments: 5%
* Mid-term test: 20-25%
* Tutorial participation: 5%
* Project: 35-40%
* Final exam: 30%

## Comments

The knowledge from CS2102 would barely be useful in this module, as the focus is more on how database management systems are implemented, rather than coming up with SQL queries for obtaining data. You will only need a basic understanding of what the SQL query means, but you will focus mainly on how to obtain the correct set of data from the database, which is stored in a certain way that you determine (covered under storage management topic).

The content in this module comprises some aspects of [CS2106](/computing/cs2106-introduction-to-operating-systems) in terms of storage management and [CS2040](/computing/cs2040-data-structures-and-algorithms) in terms of the hash and B+ tree data structure. You will also get to learn some additional algorithms that are used for processing JOIN statements. It is overall a tough but exciting module, as you will be able to learn how modern database management systems are designed. Even though you may not create new database management systems in your day-to-day life, it is still important to know it, so that you can design your databases in a better and more optimised way.

### Lectures <a href="#tutorials" id="tutorials"></a>

There is a 2-hour lecture per week, and Prof Tan will upload his slides onto [the course website](https://www.comp.nus.edu.sg/~tankl/cs3223/) (which is publicly viewable). During this semester, the lecture is early in the morning at 8AM on Zoom, which of course I did not attend. The lecture sessions are recorded, so it is possible to view them at a later time, but I did hear that Prof Tan regularly stops the recording to talk about things beyond the course material and sometimes offer more detailed explanations, which can be quite helpful in understanding the complex material. I regretted not attending the live lectures and definitely recommend that you do.

There are Gradience assignments to be completed every now and then, which serve as a good recap for the lecture content. They come in the form of MCQs and are randomised from a test bank. You have unlimited retries, and only having full marks for the assignment will count towards the grade. Revise your lecture content before attempting and use this opportunity to address any misunderstandings you have about the material.

### Tutorials <a href="#project" id="project"></a>

There is a 1-hour tutorial per week, and I was fortunate to get Prof Tan as my tutorial tutor. However, he has the habit of not giving the answers at all, and expect students to be the ones coming up with the answer. If students give the wrong answer, he will correct them, but if the whole class remains silent, he would rather leave the questions unanswered even until the end of the tutorial. If you are used to being spoon-fed answers, then you probably will not have a good time here.

For each tutorial, some students will be selected to present the answer to the class, and the tutorial session will be spent going through the tutorial using the student answers. If you are chosen to present a certain question for that tutorial, be sure to prepare a detailed answer along with explanations on how you arrived at that answer. The tutorial participation comes from attendance, so be sure to turn up for every lesson.

### Project

This is the toughest component of the entire module, as you will have limited time to write code using a brownfield project that was written almost 2 decades ago. You will work in teams of 3 people, and will be given a simple database management system with only the query processing implemented. Your task during the semester is to implement the other features required, such as the index, ORDER BY, JOINs, aggregate functions, DISTINCT, etc.

For this semester, we were supposed to finish implementing everything by Week 8, which many people were not able to, as midterms had just finished. We were eventually given a week's extension, but even then it was still a mad rush as it is difficult to test the code. There was a lack of structure and guidance for the project, which was something that we feedback to Prof Tan.

The project is written in Java, and I recommend starting early as it takes some time to understand the codebase and how the query processing is done. Write clean and well-commented code, as it will help you a lot in the later half of the project.

### Mid-term and Final Test <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The mid-term test was an open-book test that was held physically, and had 20 questions for 75 minutes. You are only required to give the final answer, and some of the questions can be MCQs. The questions are harder than the Gradience assignment questions and are similar in standard with the tutorial questions.

The final exam had the same format as the mid-term test for Section A, with 21 questions (although 1 question was nullified). There was a new Section B, which is for long-answer and fill-in-the-blanks questions. The exam was 2 hours long and focuses on material covered after the recess week.

Be sure to practice as many questions as you can, so that you are very sure with the concepts, as many of the questions require you to know the deeper meaning behind certain concepts.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are multiple Gradience assignments to complete throughout the semester, plus some tutorial preparation to be done if you are a presenter.

**Project workload**: Very high, as it is a brownfield project and requires you to implement algorithms and data structures in a certain manner.

**Readings**: None

**Recommended if**: You are a Computer Science student interested in database-related work in the future. I would not recommend any other majors taking this, as the content would hardly be useful for them (even data science students).

**Rating**: 4.0/5. Interesting content but can be a little tough to understand sometimes. Project can be quite tough to do.

**Expected grade**: A

**Actual grade**: A- (did not do too well for mid-term and final tests)


# CS3230 Design and Analysis of Algorithms

**Module**: CS3230 Design and Analysis of Algorithms

**Semester taken**: AY 2021/22 Semester 1

**Lecturer**: Dr Arnab Bhattacharyya

**Tutor**: Mr Christian James Welly

**Textbook**: Introduction to Algorithms, 3rd ed., Cormen, Leiserson, Rivest, Stein, 2009. MIT Press

## What it is about

This module takes a more theoretical approach when studying algorithms, and students will be taught different skills on analysing algorithms. Topics taught include asymptotic analysis, amortised analysis, NP-completeness, etc. A few types of algorithms will also be introduced in this module, including divide-and-conquer, randomised, hashing, dynamic programming, network, etc.

## Assessment components

* 9 coarsely graded assignments: 18%
* 3 graded assignments: 18%
* Tutorial participation: 4%
* 2 programming assignments: 4% (bonus)
* Midterm test: 30%
* Final exam: 30%

## Comments

This module is famous for being one of the tougher modules that a Computer Science student will encounter in their 4-year journey. This was true for me as well, as this module takes a more theoretical approach when looking at algorithm, which is a significant change from the other core modules that I have taken previously. Expect to see quite a bit of mathematical and statistical theory involved here, as they form the bedrock of how algorithms are analysed in the field of theoretical Computer Science.

The textbook used in this module is also a famous one, and even has [its own Wikipedia page](https://en.wikipedia.org/wiki/Introduction_to_Algorithms). We often call the book "CLRS", derived from the initials of the four authors of the book. While the module only covers some topics in this book, it is still very useful even after the module has ended. I have seen many software engineers out there still relying on this book as a reference for their day-to-day work.

However, this module is only somewhat useful when it comes to job hunting, as the concepts taught are much more difficult than what is expected during a job interview. However, the topic on dynamic programming can be quite useful when you are aiming for companies that ask DP questions, mainly the MANGA (previously FAANG) companies.

### **Lectures and Tutorials**

There is a 2-hour lecture every week and given the amount of content in this module, most of the lectures overrun the time. It was also because this is the first time that this professor has taught this module, so there were some hiccups in terms of the module planning. Most of the content is in the lecture slides, but it is still worthwhile to attend the lecture, as the professor will be taking the time to explain the thought process behind the concept or algorithm. This definitely helps in understanding how you should approach similar problems in the future, which is an important skill for the test and exams.

There is also a 1-hour tutorial each week, which will go through a series of tutorial questions related to the topic taught in lecture a week prior. The tutorial participation component was measured by the participation in answering the multiple choice questions using the Archipelago. I was rather fortunate to get a great TA (who is a friend too!) for the tutorial session, and he puts in a lot of effort in preparing for the lessons. His explanations and analogies were also very helpful in understanding the difficult concepts, some of which were not even properly taught during lectures.

### **Assignments**

There are 3 types of assignments in this module. 2 of them are written assignments, where you are required to answer questions using words and pseudocode, sometimes using proving techniques (contradiction, mathematical induction, cut-and-paste argument, etc). For 12 weeks in the semester, there is usually one written assignment to be completed for that week, but only 3 of those assignments are graded. The remaining 9 assignments are coarsely graded, in the sense that full credit is given if you attempted all the questions (even if the answers are incorrect).

The third type of assignment is a programming assignment. There were 2 programming assignments during the semester, but both are optional and can grant you bonus marks, if your assignments and tutorial participation marks have not yet exceeded 40%. However, being bonus marks, the assignments given are extremely difficult. It is rare for people to be able to obtain the full credit for the programming assignments.

Given the frequency and difficulty of the assignments, my advice would be to read through the questions as soon as you receive it, and think about the questions every now and then, so that you have more time to arrive at your answer. Some questions may require you to come up with an algorithm with a certain time complexity, which can be time-consuming if you are not skilled in this area.

### **Midterm Test and Final Exam**

The midterm test was 1 hour and 30 minutes to answer 3 questions with various parts. It was an open book exam, and the answers need to be handwritten. The final exam had 2 hours (later extended by 15 minutes) to answer 4 questions with various parts. For both tests, the questions are delivered via a PDF file over LumiNUS, and there was Zoom proctoring.

The questions are around the same difficulty as the ones given in the assignment, and also includes coming up with algorithms on the spot. The test is not easy, and I would recommend that you devote time to revise and practice the questions in CLRS. The markers were also quite lenient, so be sure to attempt every question, even if you do not arrive at your answer or only have a faint idea of what you are doing. The majority of the marks will be given if you are in the right direction.

Lastly, manage your time well, as the amount of time given is usually not enough to finish the paper. It is also a handwritten exam with lots of things to write, which can be challenging if you are used to writing on the keyboard for the entire semester.

## Other information

**Assignment workload**: Heavy. There are 12 written assignments and maybe 2 programming assignments to be completed.

**Project workload**: None

**Readings**: None

**Recommended if**: A compulsory module for Computer Science students. I do not recommend anyone else taking this, except maybe for the Mathematics major students.

**Rating**: 4.0/5. Tough module but the amount of support in the module and online is a lot.

**Expected grade**: A-

**Actual grade**: A- (gentle bell curve)


# ES2660 Communicating in the Information Age

**Module**: ES2660 Communicating in the Information Age

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Ms Noor Lyna Binte Zainuddin

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module essentially is the second communication module that CS students have to take. It covers how the Internet has resulted in an explosion of information and also misinformation, which makes critical thinking a necessity when reading information from the Internet. Students will be equipped with the skills to critically assess a piece of information, rather than just take it at face value.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* CA1 Story-Retelling Group presentation: 5%
* CA2 Group Project
  * (a) Critical reflection (written): 15%
  * (b) Oral presentation: 10%
* CA3 Oxford Tutorial
  * (a) Discussion (academic conversation/debate): 10%
  * (b) Essay (written): 30%
* CA4 Wild Cards Impromptu talk: 15%
* Class Participation: 15%

## Comments

As nice as the module description sounds, I have absolutely no idea why CS students have to take this module as part of their programme requirements, instead of focusing on the more technical modules.

To some, this module is a breather from the usual programming modules that CS students are used to taking, but the workload for this module is definitely not light at all. There are 2-hour sessions twice a week, and every few weeks would be one CA component due. Every session also requires active class participation, although it is not as intense as those seen in Business school.

Some of the CAs are conducted orally. For CA1, you are required to prepare a childhood story and critically assess it. Afterwards, by questioning the assumptions made in those childhood stories, your group will then deliver your own version of the same story while addressing the loopholes in the original story. This component was rather tedious as it is conducted very early into the semester and forces you to rethink about your favourite childhood stories.

Subsequent CAs are more mainstream and the main emphasis is on using your critical thinking skills. CA2 requires you to come up with a rubric which rehashes the original rubrics for critical thinking learnt in class, then apply that rubric in a given scenario in a presentation and report that is to be done in 72 hours.

CA3 requires you to research about the given topic and have an academic discussion with your group members in a live setting, then followed by a written essay based on the points brought up during the session. This requires you to think quickly on the spot, while making sure that you remain civil in the debate.

The final CA component is the easiest if you are able to think on the spot quickly. You are given a prompt and 1 minute to prepare, followed by 2 minutes to talk about it. Fortunately due to COVID-19, the preparation time was extended to 5 minutes, which was more than enough time for us to come up with a script to be presented via Zoom. However, the actual CA will require you to stand in front of the class and present.

Overall, I did not like this module at all. It was not so much about having to speak up in class or actually communicate, but rather there was nothing much that can be taken away from this module. Granted, this module focuses on critical thinking, but that is essentially what I have been taught in this class. Everything else is just additional workload to add on to the stress of the semester.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: A couple of assignments based on the CAs given during the course of the semester.

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for CS students, no one else should be taking this, really.

**Rating**: 1.0/5. Very little takeaway from the module, but the module itself is very well organised.

**Expected grade**: B+

**Actual grade**: S (actual: B+)


# IS1103 IS Innovations in Organisations and Society

**Module**: IS1103 IS Innovations in Organisations and Society

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: Dr Anand Ramchand (first half), Dr Yang Lu (second half)

**Tutor**: Mr Peng Xixian

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module mainly studies the ethical considerations in software development and the different moral values to consider when creating software.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Individual assignment: 10%
* Individual weekly quizzes: 30%
* Individual tutorial submissions and lecture/tutorial surveys: 10%
* Individual tutorial attendance and participation: 25%
* Team tutorial presentation: 5%
* Team project: 20%

## Comments

I apologise in advance to the teaching staff that put a lot of effort into this module, but this module certainly is a joke. While it is a break from the other content and project heavy modules, it is difficult to say what I have actually learnt from this module. Perhaps the most glaring thing that I can remember from this module is that as people writing software, we must write them in an ethical manner.

The module will also be revamped starting next semester, so some of the information in this review may become outdated, do use with caution.

### Lecture <a href="#lecture" id="lecture"></a>

The lectures are held once a week, but the lectures are webcasted. By about the 3rd lecture or so, the number of people attending the lecture can easily fit into a tutorial room instead of being at Utown Auditorium 2. Lectures felt like it was a storytelling session and was rather difficult to cipher out which parts of the lectures would be important for quizzes or other assessment components.

After every lecture, there is a quiz to be done for that week. I had to rewatch the lecture again while looking at the quiz questions to pick out the answers from there.

### Tutorial <a href="#tutorial" id="tutorial"></a>

The tutorial had little link with the lectures, as it was more on watching group presentations on various topics and a case study discussion for 2 hours every 2 weeks. However, tutorial participation took up quite a sizable chunk of the assessment criteria, which meant that the tutorial required significant contribution to the class discussion.

### Project <a href="#project" id="project"></a>

The project involved writing an open letter regarding a chosen topic by the group and to publish that open letter on Blog.nus for the world to see.

I was blessed (or cursed) with extremely uncooperative team mates that claimed to have a lot of other modules to study for and hence were unable to contribute much to the open letter. It was only during the tutorial session that they actually opened the document that we are working on to see the progress that I have made for the letter. I decided to not mark them down for peer evaluation as it would be hard to justify that they did not do anything since they at least did something for the group presentation, but I have made a mental note to avoid USP students for group members.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: 1 tutorial every 2 weeks plus 1 quiz every week.

**Project workload**: Group presentation on an assigned topic and an open letter on a chosen topic.

**Readings**: None

**Recommended if**: A compulsory module for all computing students. For students that like modules with lots of debating involved, this is the module for you. If not, you are better off studying other more useful modules.

**Rating**: 2.0/5. Bad content, bad team mates. The only good thing was that it was light on workload which is helpful for someone that is overloading in this semester.

**Expected grade**: B

**Actual grade**: B+ (not too sure why, possibly due to the open letter since I did not do exceptionally well for the quizzes)


# ACC1701 / ACC1002 Accounting for Decision Makers

**Module**: ACC1701 / ACC1002 Accounting for Decision Makers

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: Ms Tan Wee Szu

**Tutor**: Ms Fan Manyi

**Textbook**: John J. Wild, Winston Kwok, Ken W. Shaw and Barbara Chiappetta, Financial Accounting: Information for Decisions (3rd Ed), 2017

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches the basic fundamental accounting principles and mainly covers the preparation of the 4 financial statements with some brief introduction to the various components that make up parts of the different financial statements. You will learn about the accounting equation (Assets = Liabilities + Equity) and the many components that make up this equation in this module.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 55% - Final Examination: 2-hour closed-book exam (3-4 open ended questions).
* 25% - Mid-Term Test: 1-hour closed-book test (30 MCQs).
* 20% - Class Participation

## Comments

This module was the first module that exposed me to the business world, as it covered many aspects about how a company reports the resources that it has (assets, liabilities and shareholders’ equity). I felt that the pace of the lectures were rather comfortable, though it can get quite fast if you are unable to keep up to the sheer amount of content being thrown at you during the lectures.

### Lecture <a href="#lecture" id="lecture"></a>

The lecturer is very engaging as she used to work as an accountant in one of the Big 6 firms (yes, this was long ago) and often provides many real life examples and scenarios for you to better understand how the accounting concepts are being applied in the working world. The module is taught from the big picture first (the different financial statements) before diving into the various components that make up these financial statements. So, you should also be constantly referring back to the financial statements when doing your revision to get a better understanding of how things come to play in the bigger picture.

The lecture notes provided are very comprehensive (and contains some blanks in them for you to fill in during the lecture) and I strongly recommend printing them instead of reading off your laptop. The lectures are not webcasted, so it is advisable to attend all lectures or risk being unable to understand certain concepts that have been thoroughly explained during the lecture. Most lectures are about 1 hour 35 minutes long.

### Tutorial <a href="#tutorial" id="tutorial"></a>

The tutorials are 1 hour long, once a week. During tutorial, the tutor will do a revision of the topic that was taught during the last lecture before asking a group (about 3 to 4 students per group) to come up to present their answers for the tutorial questions. The questions are from the textbook, but your tutor may provide a scanned copy of the questions for you in case you don’t have the textbook.

The tutor I got was a PhD student and was extremely helpful in answering any questions that you might have. However, the class I got was oversubscribed and lessons were held in a rather cramped setting. This perhaps put me at a disadvantage especially in class participation.

### Mid-term test <a href="#mid-term-test" id="mid-term-test"></a>

The mid-term test is a 30 MCQs closed-book test and is a very good indicator of how much you know of accounting at that point in time. The questions are very doable and if you paid attention to lecture, you would be able to answer some of the questions that the lecturer would have briefly mentioned about during lecture time. No tricks involved in this test, just revise sufficiently before the test and have a good understanding of the concepts taught.

If you need particular topics to focus on, you should definitely focus on the more theory-heavy topics such as the Internal Control System. MCQ-based tests usually focus on testing your knowledge in the theory behind the accounting principles.

### Finals <a href="#finals" id="finals"></a>

The final examination is an closed-book, open-ended test of about 3-4 questions (mine was 4 questions). The focus of this exam was less on the theory (covered in the mid-term test) and more on how to write the different financial statements. All 4 financial statements will be tested, so make sure you know exactly the format of writing those statements and how to derive the different components of the statement based on the information provided to you in the question.

My advice is to grind practices, especially in the cash flow statement. The cash flow statement is the hardest statement to understand and it is taught only in the second last lecture, which leaves very little time to fully understand it and is a very good way to differentiate between the A and B students. During the exam, it would be good to do the last question on cash flow statement first before attempting the rest of the questions, as it is the only question that you are able to check your answers on the spot and provides a much needed confidence boost for you to do the rest of the paper.

2 hours should be just enough time for you to finish the paper, but may not leave enough time for you to check your answers. So, manage your time properly during the paper.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There is only 1 tutorial per week and no projects except for the group presentation of the tutorial answers when it is eventually your group’s turn to present. Try to obtain the answers to the questions beforehand so that you do not present wrong answers to the class.

**Project workload**: No projects.

**Readings**: Moderate. I felt that sometimes reading the textbook helped in understanding the concepts taught in the lecture better.

**Recommended if**: A compulsory module for both business and accounting students. Non-business students will take ACC1701X which covers the same content but is slightly easier in the final exams.

**Rating**: 4.0/5. Accounting is a very fun topic and the satisfaction you get when you balance your financial statements is simply, *ohhh\~*. The module being a little more math-oriented really helped me as a Computing student.

**Expected grade**: A

**Actual grade**: A- (I thought I did really well for finals, but it is likely that my class participation tanked)


# BSP1702 / BSP1004 Legal Environment Of Business

**Module**: BSP1702 / BSP1004 Legal Environment Of Business

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Prof Sharma Sundareswara

**Textbook**: Ravi Chandran: Introduction to Business Law in Singapore (5th Ed), 2015

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches students some basic legal knowledge that are relevant for managers during the course of conducting a business. You will be exposed to the many common legal statutes that directly affect how a business will function and operate, such as contract law, employment law, etc, and will have to analyse certain cases to identify the legal issues that arise from them using the knowledge that you have learnt during the sectionals.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 30% - Group case presentation
* 20% - Individual class participation
* 50% - Final examination (open-book; a mix of MCQs and 1 or 2 case studies)

## Comments

This module was originally taught by the author of the module’s textbook, which is Prof Ravi Chandran. He is well known to be a very good professor and gets you interested in the module even if you hate it. Hence, it was a big disappointment when he was not teaching the module.

I took this module in this semester because one of my friends suggested taking it so that you can S/U it, probably because the content is extremely hard to master. There is some truth in this statement, because there really is a lot of content that is covered during the sectionals and the slides provided are usually very barebones, which may or may not be sufficient in your revision for finals.

The textbook is extremely important here, really because the slides are that bad. In fact, you can survive the module by just studying the textbook, but you need to know what is in or not in the syllabus. The textbook has a lot of extra information that you do not need.

### Sectionals <a href="#sectionals" id="sectionals"></a>

The lessons are 3 hours long and usually has about 1 hour 30 minutes dedicated to teaching new content, 30 minutes for tutorials and 30 minutes for case presentations. The slides do not expect us to read the textbook beforehand, but it is clear that during sectionals, those that have read the textbook have a significant advantage for class participation compared to those that did not flip the book. So, to ace that class participation, be sure to read up the textbook and be prepared before coming for lesson!

### Case presentations <a href="#case-presentations" id="case-presentations"></a>

For the case presentations, an actual lawsuit case will be assigned to you to analyse. There are some general guiding questions that apply for every single case, but usually the case that you need to present about is relevant to the content that is being taught for that particular week that you are presenting. So, it would be good to read up beforehand what the lesson is about and focus your presentation on those aspects.

You will need to form a group of about 5 people to do the case presentation. During the presentation however, only 3 people will be able to present, but anyone can answer questions during the Q\&A segment. Make sure you deliver a good presentation! My case presentation tanked really bad (got a B) mainly because we thought presentation skills are not important here. We only dressed up, but we presented off the script, and my group sent the worst speakers to present. When we got back our feedback, the tutor commented that our content was very good, but the presentation was extremely bad to justify our grade.

### Finals <a href="#finals" id="finals"></a>

For finals, there will be details about the format of the final examination. However, depending on your tutor, you may or may not get past year papers to practice with. I was lucky that I had friends in other sectional groups that had much nicer tutors, so I just spammed practice on the past year papers.

The format of my exam was a mix of MCQs and a case study and is open-book. The MCQs will test you about facts regarding certain statutes whereas the case study will require you to read the case and identify certain legal issues to talk about. Usually, the question will want you to “comment on the legal issues in the case” or even provide advice for a certain party in the case. Doing past year papers helps a lot in this aspect and also know the format of answering the question.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There is only 1 sectional per week, which sometimes may have tutorials to prepare for.

**Project workload**: A case presentation as a group. If you are scheduled to present early in the semester, then you will be done with it earlier than the rest.

**Readings**: Heavy. The module is designed based on the textbook, so naturally the textbook has to be read to even pass the module.

**Recommended if**: A compulsory module for both business and accounting students. Non-business students will take BSP1702X which covers the same content but is slightly easier in the final exams.

**Rating**: 4.0/5. I find law very interesting and was very excited to take this module. However, if you hate reading the literal meaning of words, then this module might be a struggle.

**Expected grade**: B+ (mainly because of my case presentation and heard from my friend that it is very hard to score well)

**Actual grade**: B+


# BSP1703 / BSP1005 Managerial Economics

**Module**: BSP1703 / BSP1005 Managerial Economics

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: Dr Xu Le

**Tutor**: Mr Tao Wu

**Textbook**: Microeconomics (Global Edition), 8th Ed, Robert S. Pindyck & Daniel L. Rubinfeld, 2015

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is basically microeconomics with some simple game theory concepts. You will learn about the economist’s way of operating a business and if you have taken H2 Economics before, this module should be a breeze. However, this module focuses more on the mathematics component of economics and will require you to calculate the exact value of many things during the tutorials and exams.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Problem Sets: 20%
* Case Presentations: 10%
* Attendance/Participation in Lectures and Tutorials: 10%
* Final Exam: 60%

## Comments

This module is quite easy for students with Economics background from A-Levels, because the content is mainly focused on microeconomics and with some simple concepts of game theory taught towards the end of the semester. However, the focus of the module is more on the mathematics behind the economics concepts and will require a lot more calculations than fluff as compared to A-Levels.

### Tutorials <a href="#tutorials" id="tutorials"></a>

There are no tutorial questions for you to do. Instead, every 2 weeks, you will have to finish an assignment together with your group members. The assignments look like tutorial questions and tests you to apply the concepts you have learnt through lectures. My group had 6 members in total and I was blessed with 2 strong members and 3 other idiots (I would call them idiots because they hardly did the assignments, let alone *open* the Google Doc, especially the final assessment). The assignments are submitted online and your tutor will mark them to discuss during the immediate next tutorial.

The same group that you are blessed/cursed with will also work on a case presentation. Basically, you will be assigned a case study and some questions to answer. You just need to understand what is going on in the case study and answer the questions provided for the presentation. However, be prepared for the Q\&A segment as your classmates might ask some questions that may throw you off guard if your group is not sufficiently prepared.

The tutorials are mostly very chill and it’s either a case presentation, or going through the assignment answers. Try to score as high as possible for the assignments.

### Finals <a href="#finals" id="finals"></a>

The finals consisted of about 40-50 MCQs (cannot remember the exact number) and the majority of the questions are calculations-based. The final exam is also closed book, so you will have to memorise the relevant formulas to use inside the exam. If you do the exam diligently, you should have just nice enough time to finish the exams.

Of course there are certain tricks to go about doing the exams. Not every calculation questions need to be calculated. For example, you will learn about the marginal utility of two products and the budget line. The question will then ask you to calculate the best quantity combination of both products so as to maximise the utility of the consumer. However, you will realise that the quantity times price of each product for almost all the options will exceed the original budget that you have, which does not make sense at all. This will save you a lot of time compared to using the actual formula, which can be rather tedious to derive.

There are other types of questions that have their own shortcuts. Try to be creative and use common sense in answering the questions. Be careful about your time management as well.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are 4 assignments to complete in total, so it comes down to about 1 every 2/3 weeks.

**Project workload**: A case presentation as a group. If you are scheduled to present early in the semester, then you will be done with it earlier than the rest.

**Readings**: Light. The slides are comprehensive enough already. If you are interested to learn more or find practices, the textbook will be handy and is also available as a soft copy.

**Recommended if**: A compulsory module for business students and those taking a minor/major in management. Otherwise, you can take this module for a relatively light workload to balance your other cores.

**Rating**: 4.0/5. The module is a breeze, but although the lecturer is good, my tutor is as bad as he can be. If you get him as a tutor, all the best, and you will understand why.

**Expected grade**: A- (Finals was rather manageable but I think the bell curve might be steep)

**Actual grade**: A (blessed)


# BSP2701 Global Economy

**Module**: BSP2701 Global Economy (2 MCs)

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Dr Xu Le

**Tutor**: Mr Mark Gan

**Textbook**: Essentials of Economics, 11th ed., Schiller R. and Gebhardt K., 2019. McGraw-Hill

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module covers basic macroeconomic content with topics such as the circular flow of income, the analysis of fiscal and monetary policies, economic growth and the international economy. A follow-up to [BSP1703](/business/bsp1703-bsp1005-managerial-economics), this module should also be a breeze to students that have taken H2 Economics with some additional content.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Assignments & Presentation: 30%
* Online Quiz 1: 20%
* Online Quiz 2: 20 %
* Final Test: 30 %

## Comments

I was lucky to have taken this module under the same lecturer as I had for BSP1703, so I was quite used to her style of teaching. However, this is probably the only time that this module is offered in the first half of the semester as the lecturer is pregnant and she was due soon. This essentially meant that the content of the module, which was suited to be taught over 7 weeks, had to be compressed into 6 weeks instead.

Lectures are 2 hours per week and mostly covers the content in the lecture notes with limited real-world examples being used to explain the concepts. There were also Kahoot quizzes at the end of each lecture to immediately revise your concepts, which can serve as a good indicator of how much you understand the content taught for that particular lecture.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour per week and is mainly on the assigned groups’ presentation of answers for the week’s assignment. Everyone in the group would have to present their answers and there will be questions asked by the tutor afterwards, which will then count towards the final grade of the presentation. There are a total of 3 assignments and each group has to submit their answers for 2 of them, with 1 being presented to the rest of the class.

My group had quite a bit of drama where 2 girls completed the same part of the question due to a miscommunication and neither wanted to budge, resulting in us having to put into a vote on whose work do we keep for the final presentation. Not too sure what came out of it but everyone pretty much got awkward afterwards.

### Quizzes and Finals <a href="#quizzes-and-finals" id="quizzes-and-finals"></a>

There were 2 online quizzes to be completed using Examplify at home. Each quiz had 25 MCQs and we had 1 week to do them (but you had to finish all the questions in 1 hour). Finals was in the same format, except that it was now 50 MCQs and 2 hours to complete.

Everything taught in the module was tested, and keeping to the same format as the lower level version of the module, the questions tend to be more math-heavy. Since finals was closed book (which was conducted in Week 7), we had to memorise most if not all the formulas that were taught.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: 2 group assignments, with 1 that needs to be presented

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for Business majors, but otherwise only useful if you want to learn a bit of macroeconomics but not fight with the Economics majors.

**Rating**: 3.0/5. Could have been interesting but felt kinda rushed and dead compared to BSP1703.

**Expected grade**: A- (was not too optimistic about my presentation)

**Actual grade**: A-


# DAO1704 / DSC1007 Decision Analytics using Spreadsheets

**Module**: DAO1704 / DSC1007 Decision Analytics using Spreadsheets

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: Various

**Tutor**: Assoc Prof Tan Kok Choon

**Textbook**: Business Analytics: Data Analysis & Decision Making, 6th ed., Christian Albright & Wayne L. Winston, 2017. Cengage

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module provides students with a basic understanding of how data is used to help in decision making. Excel spreadsheets are used and taught extensively throughout this module so as to allow students to have a better appreciation of how data can influence decisions made by management.

The lectures are taught in a flipped classroom format and in-class discussions emphasizes a lot on hands-on practical work using Microsoft Excel. Simple statistics are also taught in this module along with a simple introduction to linear optimisation.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Project Report (Group): 10%
* Project Presentation (Individual): 5%
* Class Discussion (Individual): 20%
* Quiz (Individual): 10%
* Assignment (Group): 15%
* Final Exam: 40%

## Comments

This module is essentially an extension of the Business primer module that Business students need to take on Excel skills and statistics. However, most of the Excel skills are retaught in this module to ensure that all students are on the same page. This module is rather fun for students who love to play with data, as often the case studies provides data that arrives at conclusions that may not be intuitive.

In the later half of the module, a simple introduction to optimisation is introduced which I felt was the most enjoyable part of this module. Optimisation, as the name suggests, is a mathematical tool for finding the most optimal way of allocating scarce and limited resources in order to maximise output and profits.

This module is definitely easier for students who prefer math-based modules and dislike the fluff in class participation.

### Sectionals <a href="#sectionals" id="sectionals"></a>

The sections are 3 hours long and no new content is being taught. Instead, the time in class is spent on firstly attempting a short quiz to test your understanding of the online lecture materials, then followed by multiple case studies that the class will work together to attempt. This is the chance for class participation, although I did not actually speak up in class throughout the entire semester.

I was very fortunate to have selected the class with what I felt was the most qualified professor. He is also very interesting to listen to, although to some people he may be a little long-winded. Nonetheless, most of the teaching is done using the online materials, which I felt was sufficient in understanding the content of the module.

### Group Project <a href="#group-project" id="group-project"></a>

The group project required us to simulate a case study, make some random data and then present some business solution to the problem(s) identified in a way that is as believable as possible. My group chose to do Tesla, to simulate some of the costs involved in producing a new car and then finding the optimal amount of cars to produce for direct and indirect (third-party) sales. As the only CS student in the group, it was thus easier for me to help crunch the data and then make sense out of it, which was exactly what I did. The business aspect was mainly handled by my other teammates, which did manage to make a very convincing story out of the case study. Finally, a group presentation is required, which is done through recording the person and the slides and uploading it for the tutor.

It is rather crucial to craft your case study correctly, as going off tangent will cost you and your group the whole project. From there, make believe some variables that you can vary, then argue your case from there. Overall, I felt that the project is rather easy once you get past the crafting stage.

### Finals <a href="#finals" id="finals"></a>

The finals was a significant percentage of the overall grade, which is not often the case for business modules. Due to COVID-19, the manner in which the test was conducted changed significantly and we were required to complete the test online. To prevent cheating, the module coordinator required us to complete it as 4 segments, each having approximately 25 minutes to complete. Once you submit a particular segment, you can not go back and edit your answers again.

One thing I felt was particularly dumb about this structure is because there may be some aspects that you tend to spend shorter time working on, which can then be used to work on the other questions that you have difficulty working with. I was penalised heavily for the first segment as it was an optimisation problem and I was spending valuable time trying to craft a suitable spreadsheet, only to find out that the spreadsheet was available on the next page, which I did not realise.

Overall, I felt that the way the test was conducted was not ideal, but the questions that they gave were rather easy and doable. Even though it was open book, most of it were testing on skills, which you should have picked up well during the module. The given textbook is also a good source of possible questions that may come up during the test, and answers for those questions are also provided by the tutors, although there may be some instances of incorrect answers.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments. However, there are regular quizzes to test your understanding of the lecture materials

**Project workload**: There is one project to be completed for half of the semester

**Readings**: None

**Recommended if**: A compulsory module for Business students. I would not recommend if you are interested in Business Analytics itself, as there are definitely better and more rigorous modules out there.

**Rating**: 4.0/5. Simple module and well structured, although I felt that more content should have been covered

**Expected grade**: B+

**Actual grade**: A (completely unexpected, it might be because of finals that pulled me up)


# DAO2702 / DSC2008 Programming for Business Analytics

**Module**: DAO2702 / DSC2008 Programming for Business Analytics

**Semester taken**: AY 2019/20 Special Term 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Dr Xiong Peng

**Textbook**: *None*

## What it is about

This module builds upon the knowledge learnt in [DAO1704: Decision Analytics using Spreadsheets](/business/dao1704-decision-analytics-using-spreadsheets) with a greater emphasis on statistics and analytics. Students will be exposed to data from a statistical point of view using various Python tools such as Pandas, Numpy and Matplotlib. Some aspects of linear regression will be introduced as well.

## Assessment components

* Class participation and forum discussion: 15%
* Group project: 25%
* Final examination: 50%

## Comments

This is the one module in Business school that can be the most divisive among all modules that a Business student can take. A quick search on NUSWhispers will give you lots of unhappy reviews about how difficult and challenging this module can be. Unfortunately as a Computing student, this module had to be the easiest module I have ever taken, not only in Business school but in my entire NUS journey.

Before you get all worked up about how this module review would not be relevant to a Business student, let me explain further why I also enjoyed my time taking this module.

Firstly, the lecturer is someone that actually cares about the progress of his students. By the time I took this module, I have already taken about 10 other Business modules, but no lecturer was as good as Xiong Peng in taking the time to slowly and carefully explain the module's concepts to students. He never seemed tired from answering questions, even though our lessons were held from 6pm to 9.30pm on Mondays and Tuesdays.

Secondly, the module itself is not that hard. There are some basic programming questions introduced at the start of the course, but the focus was still on applying statistical knowledge in solving business problems. The final examination gave different situations and each one of them was testing one topic of the course, which could easily be solved by copy-pasting the solution for the tutorial questions and adapting the numbers to fit the situation.

### Sectionals

As this module was taken during the special term, the lessons operated on 3-hour sections twice each week, for a total of 6 weeks. However, the sectionals are essentially a combination of the lecture and tutorial slots.

The lectures is mainly focused on teaching new concepts such as Python programming, using libraries such as Pandas, Numpy and Matplotlib, and finally some lessons on statistics. The statistics aspect covered topics such as confidence intervals, hypothesis testing, probability as well as linear regression.

The tutorials focuses more on solving actual problems using the tools taught in previous lessons. Most of them revolve around a single topic and it should be relatively easy to identify the tools that you need to solve each question. The lecturer also provided a bank of about 35 questions for people to practice writing code in Python. The questions are slightly easier compared to CS1010 and its variants, and should be easily solvable after getting the basics of programming right.

### Group Project

The group project involved a team of 5 students that will execute a data science project. You are required to come up with a case study on your own (using datasets such as those on Kaggle) and then using the skills learnt in the course to address a certain business problem identified.

The project was fun but challenging at the same time, as you are free to work on any dataset that you can find on the Internet. However, it can be quite difficult to identify a possible business problem from the start, especially if you are not from a data science background (which most students are not from).

Nonetheless, the focus of the project is on the data visualisations used in the final report. While it is theoretically possible to do all sorts of data visualisations in Python, it is more important to identify and only use visualisations that are helpful in your overall analysis. As the project aims to address a business problem, the use of Python is only one aspect of the project, and the other aspect is how you address the chosen business problem based on the data you have.

Finally, we were supposed to come up with a 10 to 15 minute video presentation on the chosen topic. However, the unique nature of the special term meant that there was no time for the lecturer to grade them on time, which meant that this component was omitted in the end. However, during the usual iterations of this module, this presentation would be important in explaining the business problem and how you used your technical skills to solve it.

### Finals

The weightage of the final examination was rather high in this module, and it would definitely affect your grades significantly. Due to COVID-19, Examplify was used to ensure that access to the Internet was disabled to prevent cheating. However, the exam paper was provided beforehand in the form of a Python script and the work had to be submitted using Jupyter notebook.

There were a total of 6 questions, and the module lecturer provided them using a Python script that you will have to import into your notebook in order to view the questions. I thought it was quite an interesting way that the lecturer used to administer the examination, and it was all done in an interface that we were all familiar with. However, the final answers still need to be submitted onto Examplify, to ensure that people do not change their code when they submit the Jupyter notebook onto LumiNUS.

Of the 6 questions, only 1 tested on Python, and it is very easily doable even for first timers. The subsequent questions focused more on applying statistics and using the statistical libraries learnt throughout the module. Since it was open book, it was easy to just copy the code taught in lecture and adapt it to fit the context of the question.

Overall, it is best to have a cheatsheet of the common functions and code that you need to use during the exam, so that you can easily copy them over and modify the variables. The statistics knowledge involved is not much, so putting them in your cheatsheet also helps as a quick reference sheet. The exam is very doable, as the concepts tested were not difficult at all.

I was fortunate to get full marks for this exam, and I believe you can too!

## Other information

**Assignment workload**: There were no official assignments, but there are plenty of practice questions that you can work on. There is also a forum participation component as well.

**Project workload**: There is one project to be done in a group of 5 people.

**Readings**: None

**Recommended if**: A compulsory module for Business students and if you are interested in learning some very basic knowledge in statistics and data science.

**Rating**: 4.5/5. Prof was great, content was interesting, but might not be entirely useful in the real world where data and analysis is much more complicated.

**Expected grade**: A+

**Actual grade**: A+


# DAO2703 / DSC2006 Operations and Technology Management

**Module**: DAO2703 / DSC2006 Operations and Technology Management

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: Dr Qi Mei, Dr Chou Cheng-Feng, Mabel and Prof Hum Sin Hoon

**Tutor**: Mr Seah Seow Buay

**Textbook**: OM, 6th ed., David Alan Collier & James R. Evans, 2017. Cengage

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module introduces the operations aspect of a business to students and seeks to explain why having a strong operations capability is vital to the survival of an organisation. You will get to learn why queues form, how to find the average waiting time and to gain a better appreciation of how technology is used in production processes.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Final Exam (individual): 60%
* In-class Quiz (individual): 5%
* Team project report: 10%
* Team project presentation: 5%
* Tutorial assignments (Team and individual work): 15%
* Peer Evaluation (individual): 5%

## Comments

This is a rather light module as it emphasizes more on understanding the few concepts being taught in class. It is also more practical as there is greater emphasis on how a certain formula can be used in different scenarios, rather than how the formula is derived.

The lecture is delivered by 3 different professors in the order given above. They each touch on different topics and have greatly different styles of teaching. Dr Qi Mei tends to focus more on the contents of the module whereas Dr Mabel Chou tends to focus more on case studies and examples to illustrate the concepts. Finally, Prof Sin Hoon is the best overall as he is able to break down the difficult concepts into easier bite-sized parts with many examples to help in your understanding.

Overall, this module has a rather steep bell curve, as the cohort size is rather large and many Engineering students will also be competing together. Nonetheless, the concepts taught are rather applicable in real life and is crucial to help better understand the concepts taught.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour each week and attendance is optional. The tutorials mainly covered the tutorial questions, essentially flashing the answers for us to cross-check. Also, since all tutorials need to be submitted to the tutor for grading, there is no excuse for you to not do the tutorial. However, the good thing is the tutorials are done in groups, until the last 2 tutorials which are done individually.

Overall, the tutorials are not very useful, which the tutor has admitted it himself. However, he provides a quick summary of the lecture notes, which is helpful in consolidating the information taught during the lectures. The tutor is also an industry expert, so most of the knowledge that he brings is to make it more relevant to real life.

### Project <a href="#project" id="project"></a>

For the project, you are required to form your own team in the tutorial class (which is usually done in the first lesson). Thereafter, you need to identify a real-life business process, collect data and do a process analysis, finally ending with suggestions for improvements. My group did on KFC and the ordering process, which is very simple to do up and in fact, it can be done in a week.

My suggestion is to go for things where the data is easily collected and described, as you generally have a better understanding of how the process works and it is just a matter of translating it into actual words. Taking some pictures along the way also helps to make it more believable.

### Mid-terms and Finals <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The mid-terms was a short 6-question MCQ quiz and covered the first aspect of the module which was taught by Dr Qi Mei. Unfortunately, I did not do very well here as I was not prepare for the quiz at all. Subsequently when the results came out, I managed to score only 3/6 even though the median was 4/6.

However, the finals was a whopping 60%, so there is definitely a chance for a comeback. The final exam was conducted online with no option to go back to previous pages, all of which are MCQs. We were given a list of recommended times for each section, which threw me off significantly as I tried to follow the recommended times closely. However, the first aspect was mostly calculation questions, and the questions were scrambled so many of them did not make sense. Subsequent portions were on theory, which were easier and faster to complete.

There are many practice questions that can be found online, along with the answers through Quizlet. Be sure to practice those, hint hint.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: Almost every tutorial needs to be submitted for grading, done as a group with 2 done individually.

**Project workload**: There is one project to be completed.

**Readings**: None

**Recommended if**: A compulsory module for Business students and a great introduction to the world of operations (note: this is different from supply chain!)

**Rating**: 4.0/5. Easy and practical module, but steep bell curve

**Expected grade**: A-

**Actual grade**: A-


# DBA3701 / DSC3214 Introduction To Optimisation

**Module**: DBA3701 / DSC3214 Introduction To Optimisation

**Semester taken**: AY 2020/21 Semester 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Dr Chaitanya Bandi

**Textbook**: *Multiple, but not strictly necessary*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module provides students with a glimpse on optimisation techniques that are available in today's world, along with examples in logistics and pricing. Students will be exposed to the mathematical theories involved in optimisation, as well as examples on how these optimisation techniques can be used in real life. Topics include linear optimisation, network optimisation, integer programming and non-linear optimisation.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

The most accurate assessment breakdown was not provided, due to various changes throughout the semester. The components are:

* 3 graded homework assignments (originally supposed to have 5)
* Final project report and presentation
* Final exam

## Comments

This was the first semester that this module is offered by this professor, and I specifically took it as he previously studied at MIT and was a lecturer at the Kellogg School of Management. It was a different teaching style, and definitely something that I was not prepared for, as the module was rather messy and the professor did not have all the materials ready.

This module also requires some linear algebra knowledge, which luckily [I took in the previous semester](/other/ma2001-ma1101r-linear-algebra-i). It is not entirely necessary, but knowing linear algebra helps in understanding some of the concepts taught in the module, especially with eigenvectors involved. The professor provided us with some materials to self-study, but they were barely sufficient and you are better off finding good YouTube videos that explain the concept better.

Overall, this module can be a little heavy in theory and mathematics, which may not be suitable for some business students who are more comfortable with presentations and fluff. Most students taking this module will be specialising in Business Analytics anyway, and they should be comfortable with the content taught in this module. Students coming from Operations and Supply Chain Management will need to play a little catch-up.

### Sectionals <a href="#tutorials" id="tutorials"></a>

There is a 3-hour sectional teaching session per week, and it is conducted similar to a lecture style where the professor will go through the content in the lecture slides and also conduct some demonstration using Jupyter notebook and Gurobi. There are also opportunities to ask the professor questions during the session, similar to how other sectionals are conducted in NUS Business School.

### Homework and Project

In this semester, there were 3 graded homework in total. Some of the questions in the homework are done individually, whereas the others were done in groups. Originally, there were 3 people in a group, and the individual and group answers are compiled together and submitted to the professor. However, the groups were merged halfway through the semester, as there were too many groups. The combined groups were mainly for working on the final project.

For the final project, we are supposed to come up with a topic on our own and show how optimisation techniques can be used to solve the problem. However, we were also given the option to ask the professor for a topic that he had in mind. We decided to ask for one, as it was easier in our opinion, and were given a topic related to food production and distribution. We were also promised to be given data to work on, but the professor kept delaying, and we eventually decided to come up with some mock data on our own based on publicly available sources.

Unfortunately, the combined group was difficult to work with, as the other half of the group were very reluctant to work together. They were all staying together at Cinnamon College of the University Scholars Programme (USP), and had secretly met up to finish the project. This was the second time that I have had bad experiences working with USP students, the first being in [IS1103](/computing/is1103-is-innovations-in-organisations-and-society). Luckily, we could still "save" ourselves by working on the group presentations, and the group project was still a satisfactory submission at the end.

### Final Exam <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The final exam was held physically in one of the seminar rooms in BIZ1. The format of the exam was pen and paper, and there were a total of 4 questions (with multiple parts in each question). The exam was closed book with only one double-sided A4 size cheatsheet. The professor provided some sample questions for us to practice, which are based on the tests given in past semesters. The final exam tested all topics except for non-linear programming (which itself is an extremely difficult topic).

Being a math-based module, it is important for you to practice as much as possible, so that you can train yourself to see patterns in the questions and become more confident in answering the questions during the exam. The paper itself is decent, and is a similar standard to those given in the homework assignments. However, the bell curve may be a little steep as the students taking this module are often more mathematically inclined from their training in Business Analytics, so always check your answers to avoid making careless mistakes.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: Moderate. There were 3 graded homework assignments given.

**Project workload**: Moderate, although most of the project is done in the second half of the semester.

**Readings**: None

**Recommended if**: You are interested in optimisation (which can be quite useful in a variety of fields), but do not wish to take them under the Mathematics department.

**Rating**: 3.5/5. The content of the module is decent, but had a bad experience with how the module is organised, and of course bad group mates.

**Expected grade**: A-

**Actual grade**: A- (thankfully)


# DBA3712 / DSC3224 Dynamic Pricing & Revenue Management

**Module**: DBA3712 / DSC3224 Dynamic Pricing & Revenue Management

**Semester taken**: AY 2021/22 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Prof Sheryl Elaine Kimes

**Textbook**: *None*

## What it is about

This module introduces students to the concept of revenue management and the techniques used in managing prices. Building on the concept of price discrimination, this module will explore how different industries, such as hospitality, food & beverage and car rental, adopt revenue management practices to maximise profits.

## Assessment components

* Case analyses/homework: 25%
* Quizzes: 15%
* Final group project: 30%
* Interim projects: 20%
* Participation: 10%

## Comments

I took this module purely out of interest, as the other Operations and Supply Chain Management modules available are mostly fluff-based and I wanted to learn something more mathematical. This module has always been taught by Prof Kimes, who is world renowned as one of the thought leaders in the revenue management space. I was quite impressed with her credentials and thus decided to take a class taught by her.

The content of this module is rather interesting, as Prof Kimes often used real-life examples on how revenue management is applied in the outside world. It is also easily relatable, as revenue management is used by hotels and some restaurants, and it is likely that you have been subject to some form of revenue management in the past. There is some mathematics involved, by they are mostly confined to using Microsoft Excel to perform certain calculations using specific formulas that are not too complicated.

However, while the module content is interesting, I have had a rather bad experience in the module. Some of the mathematical concepts (like the newsvendor model) were taught in a way that "you have to accept it", and the focus was more on how to calculate something in a certain way using Microsoft Excel. I felt that the module lacked the rigour on why certain formulas are used, and how those formulas were derived. In addition, the grading rubrics were opaque, especially with the group projects, which makes this module extremely difficult to score well in.

If you are more mathematically inclined, I recommend taking the equivalent of this module under the Department of Industrial Systems Engineering and Management (ISE), which is IE4214. However, the pre-requisites of the module requires DBA3711, which is notoriously difficult, but I feel that it is more worth it. Otherwise, you can take this module and risk getting a bad grade without knowing why.

### **Sectionals**

There is a 3-hour sectional session every week, and each session starts with a simple quiz on the topic for the day. There is usually an assigned reading, and some lecture videos to watch before the lesson. The videos mainly focus on using Microsoft Excel to perform calculations related to that week's topic, whereas the reading is usually about how the week's topic is relevant in the industry.

During the session, Prof Kimes will go through the content in the lecture using the slides and some videos. Sometimes, there will be a quick recap on the Excel skills taught, while other times we will be broken into breakout rooms with our own group members, and will get together to work on an assigned task. For the assigned tasks, Prof Kimes will randomly pick a group or two to present to the rest of the class.

There will also be "scheduled experts" and "surprise guests" for every class. You will be required to sign up to be a "scheduled expert" for one of the lessons, and there is usually about 6 people per lesson. During the lesson, Prof Kimes will regularly call upon the "scheduled experts" to answer questions, and this will form a major part of your participation grade for the semester. There are also "surprise guests", and it is just a fancy term for Prof Kimes to randomly call upon someone to answer the question, if she decides not to call upon any of the "scheduled experts".

Somewhere in Week 9 of the semester, there will be a Revenue Management Roundtable. This is a session where industry guests are invited to join the class and share their knowledge about revenue management in the corporate world. Each group will be able to interact with about 6 of these guests, and will have the opportunity to ask questions. The details of the event were also [posted onto a blog](https://blog.nus.edu.sg/revenuemanagementroundtable21/).

Finally, there were 2 homework assignments given during the semester, and they are rather simple questions that tests you on some of the knowledge learnt during class. Almost everyone gets full credit for this component, so be sure to double-check your answers before you submit!

### **Group Project**

Throughout the semester, there is one group project which is broken down into 3 parts, each of which are to be submitted at various points in the semester. The eventual goal of the project is to create a revenue management system that a hotel can use to maximise its own revenue. This system is done using Microsoft Excel and there are some parts that require VBA knowledge to accomplish.

For each part of the project, the group is required to submit an Excel file and a PowerPoint presentation that answers a given set of questions related to the project. The presentation is made in a way that it is presented to the group's manager, who is supposedly "not particularly analytical". Unfortunately, it is the way that our group understood this statement that cost us our grades. We tried to keep the presentation simple and easy to understand, but were told to provide more explanations. We then tried to explain more in the second part while avoiding jargons, but were told to simplify it. It just goes to show how arbitrary the grading rubrics were.

For the final part, you are required to come up with a functional revenue management system, along with a video showcasing its capabilities. The video is aimed to sell the system, but Prof Kimes prefers a skit in the beginning, before going on to showcase the different features of the system.

Each group has about 6 to 7 members, and I was extremely lucky to have amazing teammates who were able to pull each of their own weight in the project. We put in a lot of effort in our work, but it was unfortunate that Prof Kimes did not agree. The deadlines were unreasonable as well, especially for the final part of the project where we had to come up with a whole system while filming a video presentation, and I probably would not have survived without my group.

## Other information

**Assignment workload**: Light. There are only 2 homework assignments.

**Project workload**: Heavy. The semester-long project can get quite intensive at times.

**Readings**: Light. There is a reading and some videos to watch before each lesson.

**Recommended if**: You want to learn revenue management techniques without going too technical, and if you are okay with potentially unfair grading. For something more technical, take IE4214.

**Rating**: 2.0/5. Module content is okay but the professor is not.

**Expected grade**: B+

**Actual grade**: B (*\*rolls eyes\**)


# DOS3701 / DSC3201 Supply Chain Management

**Module**: DOS3701 / DSC3201 Supply Chain Management

**Semester taken**: AY 2020/21 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Dr Lucy Chen Gongtao

**Textbook**: Designing and Managing the Supply Chain: Concepts, Strategies and Case Studies, 3rd ed., David Simchi-Levi, Philip Kaminsky, and Edith Simchi-Levi, 1999. McGraw Hill

## What it is about

This module introduces students to the field of supply chain management, and is one of the three compulsory modules for students intending to specialise in operations and supply chain management. Topics such as how to manage a supply chain, manage inventory levels, manage the transportation of goods, etc. will be covered.

## Assessment components

* Class participation: 10%
* Individual homework: 40%
* Group homework: 20%
* Group project 1: 18% (report: 12%; presentation: 6%)
* Group project 2: 12%

## Comments

This was the first module that I took as part of the specialisation, as I have always been interested in how supply chains work and wanted to get into a business field that may potentially need Computer Science skills in the future. However, supply chain management in NUS Business School is more concerned about the management aspect, taking the perspective of a business manager. Although this module covers some mathematical knowledge, they are very light and are only provided for a better understanding of the concept. The engineering aspect is better covered under the Industrial and Systems Engineering department under the College of Design and Engineering (CDE).

Thus, the module only briefly covers certain aspects that are more important for a manager to know. The engineering work on optimising supply chains will only be briefly talked about, but students are not expected to know it in great detail. This was also the first time Dr Chen taught this module, and thus it is the only iteration I know that does not have a final exam component.

Note: There is [a Reddit post for AY2021/22 Semester 1](https://www.reddit.com/r/nus/comments/rqotzq/rude_disorganised_and_lazy_professor_for_dos3701/) which goes into great detail about how Dr Chen is like as a professor. I did experience similar things, but not to such great extent. I will share some of my personal experiences below.

### **Sectionals**

There are 3-hour sectionals every week and most of the time, there is not much to prepare before the lesson. The lecture slides are reasonably sufficient in the knowledge that you need, but Dr Chen may only briefly gloss over certain concepts which are further elaborated in the textbook. The contents of the lecture slides are directly based on the textbook (including the examples), so it should be relatively easy to follow the textbook.

The sectionals are taught in a lecture format, where Dr Chen will talk about the content in the lecture slides and occasionally ask questions for students to answer as part of class participation. As it was conducted in a hybrid format, a new tool was introduced to allow people to raise hands virtually, and Dr Chen will call upon students that have their hands raised using this tool.

There were some instances where it was obvious Dr Chen was not clear of her content. For instance, there was an example on warehouse capacity and the lecture notes provided a calculation on how much warehouse space is needed given the inventory turnover, average inventory level and the area that each unit of inventory takes up. Using these values, the example concluded the optimal warehouse area size. However, I was rather intrigued, as we have seen when shopping at IKEA that inventory can be stacked. Thus, I asked Dr Chen why the formula does not account for the possibility that the inventory can be stacked, so that a smaller warehouse in terms of area is needed. The only answer I received was to accept it, as that is the formula, with no further explanation nor attempts to find a more appropriate formula. I also found that the same example was quoted from the textbook, and Dr Chen just lifted the example over without understanding it.

I think that the lecture slides prepared by Dr Chen is rather decent, but I was a bit disappointed by her response to just accept it as it is without proper discourse. In the interest of my grades, I decided not to pursue the matter further. Other than that, sectionals are mostly the same as how other business modules are conducted.

Finally, there were two sectionals dedicated to a supply chain competition. This competition required us to work in our project groups and work together. Each group is paired with another group, and will play a role of either an importer or a florist, where the importer supplies the florist, and the florist has customer demand to meet. The game is rather complex, but our pair of groups managed to identify a suitable strategy that allows both of our groups to maximise our profits, which allowed us to win the competition with the most profits earned.

### **Homework**

There are multiple homework assignments given throughout the semester. It was not announced beforehand on the number of assignments that there would be, but my semester had 7 homework assignments, and most of them were due a week after they were released. The homework can be individual or group based, and they will only be announced when the homework is released.

Most of the homework is simple and doable within the week. However, it was difficult to plan in advance as you are not notified beforehand if there would be homework for that week. Additionally, you do not know if the homework is group or individual based, which will require your group to quickly find a common time to meet.

Note: Some of the homework is found in the textbook, but there are copies of the textbook that are freely available out there.

### **Group Project**

In addition to some of the group homework, there were 2 group projects to be completed in groups of 3 to 4. I had one of the best group members ever in this module, and this was especially evident in the supply chain competition mentioned earlier, where we worked really well as a team to achieve high profit margins.

For the first project, we were required to conduct research on a particular piece of new technology and see how it can potentially affect supply chains in the future. This project was given early in the semester and required us to submit a report and give a presentation in the last two weeks of the semester. Thankfully, Dr Chen decided to conduct the presentation online on Zoom (even though the rest of the semester was conducted physically), which made the presentation a lot easier.

For the second project, we were required to reflect on the supply chain competition and submit a group reflection piece on the lessons learnt. As we were the winning team, we knew what the winning strategy was, and had no trouble elaborating about it. In the interest of academic integrity and fairness, I will not be disclosing the winning strategy here. The strategy is easily derived from concepts taught in class, and observing patterns in how the game reacts to decisions made in the earlier rounds.

## Other information

**Assignment workload**: There are some homework assignments, some to be done individually while others are to be done in a group. There is also a group reflection piece at the end of the module.

**Project workload**: There is one project to be done in a group of 3 to 4 people.

**Readings**: None

**Recommended if**: A compulsory module for Business students intending to specialise in Operations and Supply Chain Management. A decent module to learn about managing a supply chain, but unfortunately does not go too deep into the engineering aspects.

**Rating**: 4.0/5. The module is decent but Dr Chen could be better in encouraging learning.

**Expected grade**: B+

**Actual grade**: A-


# DOS3703 / DSC3203 Service Operations Management

**Module**: DOS3703 / DSC3203 Service Operations Management

**Semester taken**: AY 2021/22 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Dr Natarajan Balkrishnan

**Textbook**: Service Management Operations, Strategy, Information Technology, 9th ed. ,James A Fitzsimmons & Mona J Fitzsimmons, 2019. McGraw Hill

## What it is about

This module introduces the concept of operations management for the service industry, including techniques to maximise the efficiency of service operations while ensuring that the service quality is not compromised. Topics taught include line balancing, theory of constraints, forecasting, differential pricing and location planning.

## Assessment components

* Individual assignment: 10%
* Group class presentation/submission: 20%
* Group project report: 20%
* End term evaluation: 50%

## Comments

I took this module twice under different professors. The first iteration was under Prof Thompson Teo during AY 2020/21 Semester 2. For that iteration, the workload was very high, as we were required to prepare for each lesson extensively, as there were lots of assigned readings to complete. There were also quite a few group assignments to be submitted during the course of the semester, which I felt was excessive. The focus of the module was also more qualitative at that time, which resulted in my decision to withdraw from the module during the recess week.

For the rest of the review, I will be talking about the module under Dr Natarajan Balkrishnan. His module takes a more quantitative approach, and the workload is significantly lighter. His hope was that students would look forward to attending his classes, and he does that by not giving any readings to complete and includes interesting examples during the class to keep the lesson lively. I loved his lessons, but because the workload was so light, I was often distracted during the lesson (physically there, but mentally not).

If you prefer numbers, I strongly recommend taking this module under Dr Natarajan Balkrishnan, as he focuses more on Microsoft Excel and quantitative calculations. The workload is quite light as well, so you will have more time to focus on other modules.

### **Sectionals**

There is a 3-hour sectional teaching session each week and Dr Natarajan will go through the content using some handwritten notes, which are usually adapted from the lecture slides that he has prepared for the class. He is a little old-fashioned, as he prefers using pen and paper to teach the class, but the content is mostly similar to the slides and is easy to follow.

As there are some Excel skills involved, there will also be some demonstration on using Excel for calculating using certain formulas. Dr Natarajan usually provides the Excel templates that are nicely colour-coded, but you will need to be observant to see the Excel formulas that he is typing into the computer. Nonetheless, the final solutions are given out after class, so you can still reference it after.

There is also an individual assignment based on the simulation topic, where you are required to perform a simulation that you choose from among a set of 16 situations. The simulation is done using Microsoft Excel, and you are required to answer some questions in a Word document as well.

### **Group Project**

There are 3 components to the group project, all of which are not related to one another. However, all of them are done in the same group of about 3 to 4 members each.

The first component is called "Unusual Businesses". Each group will be given a topic 2 weeks prior, and you are required to present some examples of unusual businesses related to that topic. For instance, if the topic is on restaurants, your group will need to find restaurants that have an unusual business model (such as eating in complete darkness). The group will then present it to the class towards the end of the sectional session. The presentation were rather chill, and most people just read off the script at the front of the class.

The second component is a guesstimation assignment. Each group needs to choose 3 situations from a given list of 15 options, and illustrate a sensible guesstimation answer for each of the 3 situations. Guesstimation is a process of making an estimation using educated guesses, and this assignment is rather straightforward to complete as a group.

The last component is the main part of the group work. Dr Natarajan provides 5 types of group projects that you can do, and you will need to pick one type and come up with a topic to do related to that type. Your group will then do the necessary research and come up with a report at the end of the module. This is also rather straightforward, and it really depends on how much effort your group is willing to put in to the project.

Unfortunately, I had a really poor working experience with my group. As I was not taking this module with any friends, I found this group of 3 friends to team up with. However, it was quite a disaster, as they were not organised and mostly communicated among themselves. Being a quantitative module, many of the submissions required calculations, and they often made lots of simple calculation mistakes that made me question how they made it so far in life. I was glad that the group project was rather simple, otherwise my grades would probably have tanked.

### **Final Test**

The final session is reserved for a final evaluation test, where it was a 2-hour open-book test to answer about 8 full questions (with multiple parts). The scope of the test was on topics covered in the entire module, except for guesstimation and simulation, and the questions were mostly doable if you have studied well for the test.

As some of the topics required Excel skills, I would advise to prepare some Excel templates that you can use to simplify your calculations during the exam. The amount of time available is barely sufficient, and it is best to save as much time as you can. The Excel template allowed me to just input the values in the question, and the answer is immediately provided, which frees up time for me to write my answers.

The topic on theory of constraints was tested as well, and it was a question that I left blank as I was unprepared for it. The lecture notes provided are not entirely useful on this topic, and I definitely recommend preparing for this topic as it can be more difficult than it seems.

Most people tend to do well for the final test, so the bell curve is rather steep. I left one question blank even though I was fairly confident with my answers for the remaining questions, but unfortunately it was not enough to bring me to A-. Always double-check your answers!

## Other information

**Assignment workload**: Light. There is one individual assignment to be done and two parts of the group project, which are easily completed within a day.

**Project workload**: Moderate. The amount of work depends on how much effort your group is willing to put into the project.

**Readings**: None

**Recommended if**: Compulsory module for Business students specialising in Operations and Supply Chain Management. Otherwise, it is quite an interesting module to learn about the operations of service-based industries.

**Rating**: 4.0/5. Decent module and the professor is great, but bell curve is a little steep.

**Expected grade**: A-

**Actual grade**: B+


# ES2002 Business Communication for Leaders

**Module**: ES2002 Business Communication for Leaders

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Ms Alethea Mun Kuen Lim-Ellingsen

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches business students on crucial communication skills necessary for the 21st century. The topics taught in this module are pitching, negotiation and thinking on your feet. You will learn how to work in a team to meet tight deadlines to prove to your tutor that your idea is the best for the company that you have chosen.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 50% - Job performance: Assessment of you and your team’s competency to persuade audiences in a written (Concept Proposal) and oral (team pitch and Q\&A) format.
* 20% - Professional development: Assessment of your competency in engaging others in a negotiation.
* 15% - Job appraisal: Assessment of your ability to critically evaluate your own growth during the 13-week period.
* 15% - Community engagement: Basically class participation.

## Comments

This module is famous for being the most difficult module in NUS and it is easy to see why. Even though my tutor said that the syllabus was reduced for this semester, it still felt like H1 Project Work on steroids. I was extremely lucky to get very good team mates for this module and our strengths really complemented one another very well, which made our tutor very happy with my group.

This is a 100% Continuous Assessment (CA) module, which means that there is no finals.

The first assessment was to write a concept proposal for a company that you have selected on the first day that you get your grouping and to pitch it to an audience of higher management executives, all to be done within 4-5 weeks (including recess week). This is essentially the Written Report and Oral Presentation component that you seen in H1 Project Work, but in a much shorter timeframe. My advice: Avoid creating new mobile apps as the tutors are rather sick of seeing them.

The second assessment was to negotiate effectively with another team so that you can achieve a win-win situation for both sides. I felt that this component was a waste of time and did not put in any effort for this assessment. Nonetheless, I faked it and apparently achieved some success in contributing deep insights into the discussion. Try to work with your team so that everyone takes turns to speak, as it really helps in come out as a very strong team.

The final assessment was to do a personal evaluation of how you have developed over the semester. I felt that this assessment was also another waste of time and was extremely cringy since you had to sing praises of yourself in front of your team. Luckily for myself, my team was very bonded and we supported one another well during this assessment. You can take this assessment as a way to fight for your grades.

Overall, this module value-added little to my communication skillsets, as they tried to cover a little of everything and nothing significant could be gained as a result. Teamwork is extremely crucial in this module, so make sure you pray your hardest that you get a good team with you, or prepare that S/U.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are some videos that you can watch before coming for the lesson on the [module’s website](http://blog.nus.edu.sg/es2002businesscommunication4leaders/), but it is entirely optional though can sometimes be helpful.

**Project workload**: Very heavy. Always be prepared for the worst.

**Readings**: None

**Recommended if**: A compulsory module for business students. You probably have your own version of a communication module in your degree requirements. If you are a double degree student with business, you will have to take this module in place of the equivalent that you have for your other degree. Not recommended for anyone else.

**Rating**: 2.5/5. While the module is bad, what really saved this rating was a group of awesome team mates which I cannot thank enough for.

**Expected grade**: B

**Actual grade**: S (Actual: B+)


# FIN2704 / FIN2004 Finance

**Module**: FIN2704 / FIN2004 Finance

**Semester taken**: AY 2019/20 Special Term 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: A/P Chen Renbao

**Textbook**: Fundamentals of Corporate Finance, 2nd Edition, S.A. Ross, R.W. Westerfield, B.D. Jordan, J. Lim and R. Tan (2016), McGraw-Hill Education

## What it is about

This module introduces students to the world of finance, to understand the various concepts and instruments that are used in the financial industry (such as risk, bonds, stocks, options, etc.). It also builds upon the knowledge gained from [ACC1701: Accounting for Decision Makers](/business/acc1701-acc1002-accounting-for-decision-makers) by understanding the various aspects of financial statements and how to interpret them.

In this particular iteration of the module, the class was conducted in a sectionals format rather than the usual lecture-tutorial format. This is mainly due to the small size of the class, and the class is really just a tutorial and lecture class being put together.

## Assessment components

* Class Participation: 10%
* Mid-Term: 40%
* Final Examination: 50%

## Comments

Before even taking this module, I have heard from many of my peers that they were interested in taking the version for non-business students (FIN2704X), as they wanted to learn more about finance to dabble into investing. It is definitely a useful module to be exposed to the concepts and they would definitely come in handy when doing your due diligence as part of investing.

Additionally, the module requires you to get a financial calculator and recommends the Texas Instruments BAII Plus Financial Calculator. Unless you are intending to specialise in Finance, I would recommend just borrowing it from a friend, as it is really only useful for Finance-related modules.

### Sectionals

As the module was held during the special term due to the COVID-19 pandemic, the lessons were structured as sectionals, rather than the use lecture-tutorial style. It is also partially because the size of the class is rather small and able to fit into a single sectional class. There were two 3-hour sectionals each week, back-to-back on Mondays, for the 6 weeks of the special term, which can be rather intense given the scope of the module.

As I was certain I would be taking the module during the special term (along with [DAO2702](/business/dao2702-dsc2008-programming-for-business-analytics)), I spent the earlier part of the holidays preparing for the module and reading through the lecture notes sent by seniors. Luckily, the lecture notes were reused during this special term, so the lessons were more like recap for me. For normal semesters, the pace would be a lot slower, so there would not be a need to read up beforehand.

Since it is a sectional, it was structured as 1 hour for tutorial and 2 hours for lecture. We were tasked to prepare answers for a certain tutorial during the term, and then present the answers during the lesson. This is done as a group of about 4 to 5 people. Chen Renbao tends to have the habit of giving everyone very high marks, and subtracting one or two marks for some random mistake, probably to attempt differentiating between students so that grading is easier. Make sure to check your answers thoroughly beforehand before submitting, but understand that it is almost impossible to get full marks for this part.

### Mid-term test

The mid-term test was a set of 30 MCQ questions delivered over Examplify, closed-book with two pages of A4 cheatsheet allowed, for a total of 85 minutes. The questions came from various topics and has a mix of theory and calculation questions.

I managed to score 24 out of 30, and the average was 21.47 out of 30. Nobody managed to score full marks, but the highest was 29. Definitely some of them prepared very well beforehand.

### Finals

The final exam followed a similar format to the mid-term test, but there were 40 MCQ questions as the test is longer at 120 minutes. The questions mainly focused on the topics that were not tested for the mid-term test, but some of the concepts may be used. Due to the limited time, our class was not able to cover the topic on Options, which I was rather thankful for as the topic was notoriously difficult to understand. However, for people who are intending to specialise in Finance, this would definitely be a bummer.

Overall, the test is moderately difficult. It is mostly doable, although there are some questions that requires you to have a deeper understanding of the concepts. In short, keep practicing past year papers and other test banks that you are able to get your hands on. I did not practice any questions from the textbook, but I did hear that some of the questions came from there.

## Other information

**Assignment workload**: There is one tutorial to be done in a group of 4-5 people.

**Project workload**: None

**Readings**: None

**Recommended if**: A compulsory module for Business students, but it is a very useful module if you are interested to dabble into investing in the future.

**Rating**: 4.0/5. The lecturer was okay but felt that the delivery of the content was not as well as I hoped.

**Expected grade**: A-

**Actual grade**: A-


# FSP4003 Field Service Project

**Module**: FSP4003 Field Service Project

**Semester taken**: AY 2021/22 Semester 1

**Lecturer**: *None*

**Tutor**: *None*

**Textbook**: *None*

## What it is about

This module is the capstone project for an honours student studying either Business Administration or Accountancy. Students will be attached to a company to work on a project determined by the company, with guidance from a professor. At the end of the module, the group will present their findings of the project to the company and the professor, in the form of a presentation and report.

## Assessment components

* Final Team Report: 45%
* Presentation to the company: 25%
* Peer Review: 10%
* Learning Journal: 20%

## Comments

This is a module that entirely depends on the project you get, the company that you are working with, and the professor attached to your group. For this module review, I will talk a bit about my experience, and will provide some tips and pointers for your own Field Service Project (FSP).

### Forming Groups

For FSP, each group needs to have about 3 to 4 people. You are free to sign up as an individual or a pair, and the system will randomly form a group for you. Otherwise, you can form a full group with your friends and proceed with the registration.

I strongly recommend you to form a group with friends, or even people you have only met for a module. I do not recommend letting the system randomly allocate you to a group, as there is a very high chance that you will be working with people who are "undesirable". These people are often snakes or freeloaders that people have actively avoided forming a group with, and it is very likely that you will have a hard time in the project.

I started this process as early as 2 semesters ago, when I was approaching many people who I have worked with before, to see if they are willing to form a group. I was lucky to be able to form a group with classmates and a previous group mate from [ES2002](/business/es2002-business-communication-for-leaders), a module that I took in my first semester in NUS. Having interacted them before, I knew their working styles and was easy to communicate with them.

### **Choosing Projects**

After you have conquered the first major hurdle, it is now time to choose projects. There are two types of projects: self-sourced and via the school. There are multiple rounds for choosing projects from the school, but it also depends on the availability of the projects. For the self-sourced option, you can approach any company (usually the one you interned at before) to propose a project.

When selecting projects provided by the school, everyone in the group needs to submit their resume, along with a combined cover letter to the projects that you are interested in. The resume will have to include your CAP, and the company will be able to see it to make a decision. My group's CAP was not very high, so we had to go through 3 rounds before we finally got one. If everyone in your group has a high CAP, then you will probably get your desired project earlier. Otherwise, you may have to go through more rounds, or work on less desirable projects. There are usually sufficient number of projects for everyone, as I noticed a couple of projects that appeared in multiple rounds.

The project can be 1 or 2 semester long, and it will be indicated in the project details when selecting the projects on the FSP portal. I strongly recommend doing a 1-semester long project, as it allows you to clear the module faster, and is a good excuse to use to reduce the workload of the project. The school recommends taking a 2-semester long project, but DO NOT FALL FOR THEIR TRAP, as a 2-semester long project only looks good on them but you suffer more. You will also end up procrastinating for the first semester, or having to spend time during the holidays working on the project. For my project, we negotiated with the company to remove a component of the project and cited the short timeline as a reason (emphasising on quality over quantity).

Finally, projects can have different fields of work. While it is not officially stated, you can browse the project description to get a sense on the field of work that the project is in. In general, try to get projects that focus more on marketing, rather than those in finance, analytics or operations. Marketing-based projects tend to be easier and more straightforward, and you do not necessarily need to have someone specialising in marketing to work on the project. The other types of projects will require more work to obtain quantitative data, which can be difficult to obtain in the industry. There are some proprietary databases that NUS has a subscription to, and you can probably rely on them as part of your research (especially if your company specifically requests for it).

### **Project Work**

After your group has been assigned a project, you will also be assigned a professor to be supervising your group. I am not sure if it is possible to self-source a professor, so you can try your luck on that one. Some professors can be rather demanding and want a lot from your project, whereas other professors do not want you to bother them at all. My group was very lucky to get the second type, as it meant a lot of autonomy on our end, and the requirements for our project was more lax.

Thereafter, you will need to set up a meeting with your professor first, then a meeting with your professor and the company representatives, which I recommend doing as soon as you get the contact information. The meeting with the professor is to set expectations, understand the module deliverables and also get a glimpse on how the company is like. The first meeting with the company representatives will be to understand the company, outline the project scope and to ask any questions that you group might have for the company. Our company had a unique requirement of wanting us to present an individual research of the company in the next meeting, to see our level of understanding of the company and to also address any misconceptions we might have.

Subsequently, the pace of the project is entirely up to you. I strongly recommend coming up with a project timeline that your group can follow, so that you can keep yourselves on track to finish the project on time. Depending on the company or the professor, you may have regular meetings set up with either the company or the professor. For our case, our professor was on an "on-demand" basis, while our company wanted to meet us about every 2 weeks. Either case, the regular meetings are to ensure that your group is on task, and your group should also set up regular internal meetings to ensure that the project is progressing smoothly.

I have heard of stories where the company is rather demanding, which is entirely possible as they see FSP as a form of cheap labour which they would want to maximise as much as possible. It is thus very important that your group outlines very clearly the scope of the project, and know your limits in terms of how much workload you are able to take on. Setting these boundaries also helps in case the company wants to pull a fast one and expand the scope of the project beyond what your group can take.

Finally, I recommend finding ways to obtain primary data for your project, as it lends a lot of credibility for your report and presentation at the end, and can be a significant boost for your grades. If your group is intending to survey NUS students, be sure to submit your request early in the semester, so that it can be sent out in time for your group to review the results obtained.

### **Final Presentation and Report**

The final presentation is part of the graded components where the professor will sit in to listen, while the group presents the project outcomes to the company. The professor will be the one grading the presentation, but the company representatives are invited to provide their inputs.

As our group had regular meetings with the company, there were many parts of the presentation that have already been presented before. However, those smaller presentations were not counted, as the professor was not present. Hence, our group decided to leave some "ammunition" to the end, where we left out certain parts to be presented only during the final presentation. This proved to be very effective, as it retained the wow-factor for the final presentation, and allowed us to impress them even if the content had been discussed before. At the end of the presentation, the company representatives may ask some questions, which also forms part of the presentation grade.

The group is also required to submit a report, which forms another part of the project grades. As our company does not want to receive a report, we tailored our report primarily for the professor, and followed her requirements to keep the report extremely concise. As a courtesy, we also submitted the report to the company for their reference.

The other deliverables include a peer review component, which every member of the group had to rank the other members in the group. Everyone in the group ranked one another in a round-robin fashion, where each person's name will appear in rank 1, 2 and 3 once. This method allowed us to show that everyone in the group deserves an equal grade. Finally, there was also a learning journal, where you need to submit a reflection piece of at least 5 pages long. You are free to talk about what you have learnt from the project, but also ensure that everyone's "story" is consistent.

As our project was a 1-semester long project, our presentation was done during the reading week and the other deliverables was to be submitted at the end of the reading week. We also started the project about 3 weeks before the semester started, which meant that the project was about 18 weeks long.

### Conclusion

Everyone's FSP experience is going to be very different from one another, and I was extremely lucky to get a good group, a good company and a good professor for the project. The company was willing to accommodate a change in scope, and the professor was extremely chill. This meant that my workload was only about that of a 4 MC module, but not everyone is equally lucky. If you are thinking of doing an internship while doing FSP, I strongly recommend you do not. The workload of FSP is uneven and can suddenly get very high towards the end when rushing for the final presentation and report. All the best for your FSP!

## Other information

**Assignment workload**: None

**Project workload**: The whole module is the project.

**Readings**: None

**Recommended if**: Compulsory and only available to Business Honours students.

**Rating**: 4.0/5. Your experience really depends on your luck.

**Expected grade**: A

**Actual grade**: A+ (really lucky to get such a good professor)


# MKT1705 / MKT1003 Principles of Marketing

**Module**: MKT1705 / MKT1003 Principles of Marketing

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Ms Lim Kim Poh, Violet

**Textbook**: ConnectMaster Core Concepts for Marketing, McGraw-Hill Create

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is an introduction to the world of marketing, where basic concepts and theories are introduced on a high level to students. You will also get to learn how companies make use of data in deciding what kind of strategies businesses will adopt given the prevailing market conditions.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Class Participation: 20%
* Online Assessment Tasks: 15%
* Group Project: 35%
* Individual Presentation of Group Project 10%
* Final Test: 10%
* Subject Pool: 10%

## Comments

This module is taught in the flipped classroom format where the lectures are held online using the ConnectMaster platform, and the face-to-face sessions are for discussions (read: class-participation).

The content taught is rather simple and interesting as you will be able to understand how it is applied to the real world context, given that the lectures contain a lot of case studies to help in your understanding. The SWOT analysis framework taught in this module is also helpful in critically analysing the strengths and weaknesses of a particular company.

### Sectionals <a href="#sectionals" id="sectionals"></a>

The sectionals are 3 hours per week and students are required to prepare well beforehand. Class participation during sectionals is like a war zone, especially when the tutor is the infamous Violet. I originally picked her class as I heard that she is biased towards guys, but that claim clearly did not hold true, as there were many girls in the class that scored very decently for class participation, even though they hardly spoke up.

There is hardly any learning being done during sectionals, as students are just busy trying to score class participation points. Violet was also extremely hostile in the way she taught the students, quoting her years of experience in teaching this module and students should not question her. This was clearly not the case when our group was marked wrong for a numerical answer, when the whole class (really, the whole class) disagreed with her answer. At least she sent our group an apology via email later, but it clear shows how badly she treats students.

Class participation under Violet is also extremely difficult as she expects students to give very detailed and well justified answers to her questions, which is very different from the other tutors teaching the same module. Hence, it is very crucial to prepare well beforehand, understand the concepts taught during the lectures, be prepared to think quickly and raise that hand up in class.

### Group project <a href="#group-project" id="group-project"></a>

For the group project, we were assigned a company to conduct an analysis on. The project itself is split into 4 sections, each with their own deliverables and deadlines, but they build upon one another for the final part that is due at the end of the semester. The group project involves doing a SWOT analysis, giving recommendations to improve the company and finally presenting it to the class.

The companies are grouped according to themes, so two groups will be working on companies within the same theme. For my group, we were assigned Huawei and our “opponent” is Apple. Hence, the analysis and especially the group presentation requires the group to talk about their “opponent” as well. Finally, the group presentation is extremely formal, which means no cue cards and a proper dress code. Sadly, we were marked based on our appearance and not the actual content of our presentation, which our group felt was extremely unfair as we put in a lot of effort in our content.

### Final test <a href="#final-test" id="final-test"></a>

The final test is in MCQ format and tests all the concepts taught in class. It is rather easy to complete, but some of the questions can be rather tricky, which may make you doubt yourself multiple times. It is also closed-book, so some memorisation is required.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are some questions to answer at the end of each lecture on the ConnectMaster platform.

**Project workload**: One project that is split into 4 parts and runs throughout the entire semester.

**Readings**: None

**Recommended if**: A compulsory module for Business students and a good introduction to the world of marketing.

**Rating**: 2.5/5. Interesting module but the tutor is extremely bad, surprised that she is not fired yet.

**Expected grade**: B- (the odds were stacked against me due to the tutor’s bias)

**Actual grade**: S (Actual: B)


# MNO1706 / MNO1001 Organisational Behavior

**Module**: MNO1706 / MNO1001 Organisational Behavior

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: A/P Lim Ghee Soon

**Textbook**: Lim, G. S., Chia, Audrey, Wu, P. C., Griffin, R. W., Phillips, J. M., & Gully, S. M. (2019). Organizational Behavior: An Asian Perspective

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches everything about people in organisations, ranging from understanding how people work in teams, to how to motivate people and also organisational cultures. The behaviour of people is studied at the individual, group and organisational levels, so that you can see how different people’s behaviour affects the organisation as a whole.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Subject Pool (Individual-Based): 10%
* Class Participation (Individual-Based): 15%
* Topical Discussion (Group-Based): 20%
* Test (End-of-Term) (Individual-Based): 30%
* Group Project (Group-Based): 25%

## Comments

This is a fluff module where there are really no right or wrong answers, although there is a “generally accepted” answer to different situations. You get to play the role of a manager and learn how to manage people effectively, understanding why people behave in a certain way and knowing how to motivate them to work hard for you.

I personally felt that this module is very interesting, as I have previously worked as a waiter and subsequently as an intern. It is also very applicable to situations that you encounter in your CCA, especially if you are holding on to a leadership role (which I was at that time). Being able to quickly apply the concepts you learn to the real world context would be very beneficial in understanding the concepts taught in class, as it can get super theoretical and abstract to understand.

The textbook is not necessary at all, as all the content is given in the lecture notes.

### Sectionals <a href="#sectionals" id="sectionals"></a>

The sectionals are 3 hours per week and depending on your lecturer, it may be split into 3 parts with the first two parts teaching new content (almost 2 hours) and the remaining time for the topical discussion, which is a presentation by a group and people will then ask questions and engage in the discussion.

My tutor was extremely lax in terms of class participation, so as long as you manage to speak up once, it’s 1% scored. You can also get to check your scores with the teaching assistant at the front anytime during the semester, so that you can pace yourself and speak up appropriately without drowning out the rest. Give short and sweet answers, and not some long story, as you would be holding up precious time for class participation.

If you dislike speaking up in class (which you really should because it is very easy in this module), you can go for forum contributions where you provide feedback for the topical discussion slides that the group would have to upload 2-3 days prior. However, I only did this once as I felt it was very difficult and time consuming to review another group’s slides and provide constructive feedback only for 1%.

### Topical discussion and Group project <a href="#topical-discussion-and-group-project" id="topical-discussion-and-group-project"></a>

Each group will be assigned a case study to present for each week, which is generally an application of the concepts that are taught for the week. If you are the presenter for the week, you likely need to read up in advance the topics that will be taught for that week, so that your presentation in class would be more fruitful.

My group had 8 team members and I was the only year 2 student with them. The team dynamics were great, and we manage to achieve a lot as a team. If your group has any drama, note that 45% of the grade depends on your group.

The final group project is to identify any topic within the module and to prepare a group report and presentation at the end of the module. The group project aims to see if you have obtained an understanding of the concepts taught in the module and apply them in any situation that you choose. Doing actual interviews would award bonus marks, so I would recommend you doing it since it is quite easy to just “fake” the information in a convincing manner.

### Test <a href="#test" id="test"></a>

The test near the end of the semester is a 3-choose-2 type of paper where you will have to choose 2 case studies and apply the concepts learnt in class. It is exactly the same format as the topical discussions, except that it is individual work and written. The test is also open book, so you can print all your lecture notes and throw all the terms into your essay and apply them correctly in the given context.

Overall, I felt that the test is very easy, provided that you are able to correctly identify the concepts that you need to apply into the paper. However, if you are not fond of writing, then it might slow you down a little bit.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments

**Project workload**: 1 topical discussion and 1 group project

**Readings**: None

**Recommended if**: A compulsory module for Business students, and a good exposure to leadership taught in a formal setting.

**Rating**: 4.5/5

**Expected grade**: A- (I felt my group project may not be that good)

**Actual grade**: A-


# MNO2705 / MNO2007 Leadership and Decision Making under Uncertainty

**Module**: MNO2705 / MNO2007 Leadership and Decision Making under Uncertainty

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: *No lecturer, module is sectional-based*

**Tutor**: Dr Irene Elisabeth De Pater

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is a follow-up to the earlier module on [MNO1706: Organisational Behaviour](/business/mno1706-organisational-behavior) and focuses more on the guiding principles in making decisions. Students will learn about the cognitive biases that can affect one’s decision making abilities and how to assess a decision made from an ethics point of view.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Professionalism and engagement in class participation: 15%
* Quiz: 35%
* Decision Challenge Team Project (5-7 people): 30%
* Decision-Point Reflections (2-people): 20%

## Comments

Contrary to the module’s title, I felt that I learn more leadership theories from MNO1706 instead. This module was more focused on learning about the theories behind decision making and knowing how to determine if a decision made is good through various rubrics.

I would like to first preface that I originally wanted to take this module under another professor, Ms Chee Mew Leng, as I felt that she had more real-life experiences that she can potentially share with the class. Nonetheless, the tutor that I got was great as well, as her lessons were very engaging and there were lots of activities that we can take part in to facilitate learning.

### Sectionals <a href="#sectionals" id="sectionals"></a>

There are 3-hour sectionals every week and there was nothing much to prepare beforehand. Most of the lesson is spent on teaching new content and the remaining time is dedicated to hands-on activities. Class participation is significantly more competitive compared to MNO1706, but is definitely still easier than other modules.

Most of the content is rather fluff, so it is important to link them to real-life examples so that it is easier to digest the information.

Somewhere in the middle of the semester, you are required to submit a reflection essay that is done in pairs. This 3-page reflection piece requires you to use one of the theories taught in class and apply it into a real situation.

### Group Project <a href="#group-project" id="group-project"></a>

The group project is an expanded version of the reflection piece but instead of identifying the theory and finding an example to explain it, you need to find an example first and apply all the theories learnt in class. The difficult part was in identifying a suitable example to use, as it often has missing information and assumptions need to be made.

### Quiz <a href="#quiz" id="quiz"></a>

The quiz was supposed to be conducted in class but because of COVID-19, it was moved online and made open book. The test gives you a scenario and requires you to role play as one of the characters in the scenario. Through this character, you are required to make a decision based on the facts in the scenario given, then justify your reasons why using the theories covered in class.

In my case, the character was the head of a new startup and a decision had to be made on whether or not to continue with launching the new product, as some money collected for the launch has gone missing. Such a scenario is definitely plausible in real-life, although I highly doubt that you have the luxury of time to think through your actions and reason them out using the theories introduced in class.

Nonetheless, I felt that the quiz was quite doable, although it can be quite tedious as there are some very small pieces of information in the excerpt that can be easily overlooked, but can drastically change your decision.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There is one reflection piece to be done in pairs.

**Project workload**: There is one project to be done in a group of 5-7 people.

**Readings**: None

**Recommended if**: A compulsory module for Business students and if you are interested in learning the theories behind decision-making.

**Rating**: 4.0/5. A rather interesting module, though sometimes the content is a little too abstract to follow.

**Expected grade**: B+

**Actual grade**: A-


# GEH1035 Phy’cal Qns from Everyday Life

**Module**: GEH1035 Phy’cal Qns from Everyday Life

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: Dr Ng Wei Khim

**Tutor**: *None*

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module introduces physics concepts in everyday life and applications. The lecturer will take a daily phenomenon and explain the various physics behind it, which allows students to get a better appreciation of the surroundings and the environment around them.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 50% - Two term tests (25% each): 1-hour open-book exam (mix of MCQs and long answer questions), laptops can be brought too
* 10% - IVLE quizzes: Regular quizzes on IVLE, all MCQs.
* 5% - Class participation: Participation in IVLE forums and IVLE surveys during lecture.
* 35% - Term paper report and presentation.

## Comments

This module was previously offered under GEM2507, but this semester saw the syllabus and lecturer change. This meant that we were the first batch to take this “new” module and there were many things that the lecturer wanted to try out.

Overall, as someone that has always been very interested in Physics, this module allowed me to better appreciate the surroundings from a physics perspective. The content taught was somewhat similar to what was taught in H2 Physics, but some of the more advanced topics were not taught and more content were covered in the topics that were actually taught.

This module is suitable for all students, although students with Physics background were at a slight advantage. However, the advantage was minimal as the tests were open book and everything that the lecturer covered can be found in the lecture notes provided. Also, there are no finals, as the second term test serves to be the final examination to be held before reading week.

### Lecture <a href="#lecture" id="lecture"></a>

The lecture notes are somewhat comprehensive and the lectures felt more like listening to a storyteller. The story behind the lectures is that a person wakes up early in the morning (time) on his bed (space). He hears the alarm go off (sound) and opens his eyes to see (sight) and feel the cool morning breeze (temperature), before getting up to brush his teeth (motion).

The lecturer goes very in-depth for each topic. However, there are certain things that the lecturer will purposely leave out in the lecture notes and cover during the lecture itself, which will then be tested during the term tests. Lectures are not webcasted and there may be surveys open during the lecture time which counts towards class participation marks.

### Tutorial <a href="#tutorial" id="tutorial"></a>

There are official tutorial time slots but there are no actual tutorial classes. The tutorials are conducted during lecture hours by the lecturer himself, but you will need to pay attention to when he will be going through the tutorial to be prepared for it.

### Term tests <a href="#term-tests" id="term-tests"></a>

The term tests consists of some MCQs and long answer questions that will test a given range of lectures. 1 hour is generally just enough time for you to finish the paper, but it is recommended that you put more effort into the MCQs as the lecturer tends to moderate everyone when marking the long answer questions (it can get quite difficult to actually score for the long answer questions as there is no concrete grading scheme). For this semester, we were allowed to bring our laptops in as part of the open book test, but this might change for the next semester.

### Term paper <a href="#term-paper" id="term-paper"></a>

The main project component of this module was to come up with a term paper. You will form groups of size 1 to 4 people to write a term paper on a chosen topic by your group (of up to 1,500 words per person in the group). There are specific topics that the lecturer prefers to talk about, so it would be recommended to do those topics, but you are still free to choose any other physics-related topics to discuss in the term paper.

There is also a presentation component where you will talk about what you will be discussing in the term paper and the presentation will be done during the lecture. It is a casual presentation and you can bring cue cards or a script up on stage.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were only 4 tutorials for the whole semester and some IVLE quizzes to do, which can be easily done in a short time frame.

**Project workload**: The term paper will require some effort to write, but there is more than enough time to finish it before the due date. I would recommend during the term paper presentation before recess week so that you can get it out of the way before it gets busier in the later part of the semester.

**Readings**: None, but there is a reference book that you can get online to read up more if you are interested.

**Recommended if**: You love Physics or if you want a relatively light module to clear for your GEH pillar or if you hate having finals. There are definitely more interesting modules in the same pillar out there though.

**Rating**: 3.5/5. I felt a little cheated by the module as it was almost like H2 Physics, which meant that I did not really learn new things from this module.

**Expected grade**: B+

**Actual grade**: A- (Seeing how the lecturer marked the first term test, I was not too optimistic for the second, but apparently my fears were unfounded)


# GEQ1000 Asking Questions

**Module**: GEQ1000 Asking Questions

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Various

**Tutor**: Ms Yvette Seow Yuwei

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module supposedly teaches you to question everything that you learn, and introduces the different modes of questioning in the 6 pillars covered by the module, namely physics, computational thinking, engineering, economics and design.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Humanities/Philosophy MCQ: 6%
* Science/Physics MCQ: 6%
* Forum 1 (first 3 posts): 7%
* Computational Thinking MCQ: 6%
* Final Reflection Draft: 4%
* Engineering MCQ: 6%
* Social Sciences/ Economics MCQ: 6%
* Forum 2 (next 3 posts): 7%
* Design MCQ: 6%
* Design Online Tutorial (Wallet): 6%
* Final Reflection Paper: 10%

## Comments

I have no idea what I am learning from this module, even after going through 13 weeks of lessons. I did not watch any of the videos as I felt that NUS video production quality is extremely bad, so I resorted to using Ctrl + F on the transcripts and readings.

The workload is extremely light, almost negligible save for the time that you need to spend searching for answers for the quizzes and tutorials every fortnight. However, they got a little creative with the way they ask questions for the quizzes, which will require you to read the context to have a better understanding. However, Telegram group chats are a great way to “outsource” that work to others.

This module is graded on a pass/fail basis, and it is extremely hard to fail unless you forget to complete one of the components. The components do not take much time, so just remember to do them before the deadline.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 2 hours every 2 weeks and there are a lot of hands-on activities that the tutor will get you to do during the lesson. They are supposedly a way for you to understand the concepts but most of us just spend the time as a break away from the usual major courses that we take.

There is also a wallet folding activity, and a origami to fold during the semester. Apparently, there is a small black market for people who wish to outsource their work to others for a small fee. This is an option to consider if you are lazy or tight for time.

### Other components <a href="#other-components" id="other-components"></a>

Aside from the quizzes that has to be completed every 2 weeks, there are also a total of 6 forum posts that has to be completed throughout the semester, usually 1 post for each of the 6 pillars. Finally, there is a final reflection paper that you will need to take one of the forum questions and write an lengthier response in the form of a reflection paper for the module.

Overall, there are a lot of components, but the time that you will spend on this module is negligible compared to the other modules that you will be taking during the semester. I strongly encourage people to overload during the semester that they are taking this module.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There are 6 quizzes and 6 forum posts to complete during the semester, plus one final reflection paper.

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for everyone except those taking the residential programmes. Definitely not worth for the tuition fees paid.

**Rating**: 3.5/5. Free 4 MCs to earn, but at what cost?

**Expected grade**: CS

**Actual grade**: CS


# GER1000 Quantitative Reasoning

**Module**: GER1000 Quantitative Reasoning

**Semester taken**: AY 2018/19 Semester 1

**Lecturer**: Various

**Tutor**: Dr Soon Wan Mei Amanda

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

Quantitative Reasoning is a module that the Singapore Government identified as a crucial skill to have in the 21st century, which thus made its way as one of the general education modules. This module teaches you to thinking critically of any statistics presented to you from news articles and in studies.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 20% - IVLE quizzes: The best 8 out of 10 quizzes throughout the semester.
* 10% - Tutorial participation
* 35% - Group project: Review of a statistical paper and to present your findings to the class and in a 2-page document.
* 35% - Final exam: 2-hour closed book test (28 MCQs)

## Comments

I personally felt that this module was difficult to understand in the beginning as I was unable to see the link between the content taught in this module and the statistics that I have learnt in H2 Mathematics previously. The way that the lecture notes were presented was not very friendly for revision as well. As a result, the weekly quizzes at the beginning of the semester were a struggle and caused quite some stress along the way. Eventually, some statistics formulas and concepts were introduced in the later stages of the module, which greatly helped in the understanding of the concepts taught in the module.

### Lecture <a href="#lecture" id="lecture"></a>

The lectures are all online and the lecture notes provided also includes the script that the lecturer will read in the video lectures. Some of the lecturers were difficult to follow and I eventually just read the lecture notes and did the quizzes without looking at the video lectures.

### Tutorial <a href="#tutorial" id="tutorial"></a>

The tutorials are 2 hours every 2 weeks. The first hour is usually used for revision of the previous lectures and the second hour is used to discuss the tutorial questions with your group and with the class. The tutor I got was amazing, as she was extremely enthusiastic in teaching us and ensuring that we managed to grasp the concepts taught before moving on. She also took the effort to set up a Discord server for all her students to consult her on, especially since the amount of contact time for the module is extremely little.

### Group project <a href="#group-project" id="group-project"></a>

The group project involved selecting a study and critically reviewing it based on the Quantitative Reasoning Framework. We then had to write a 2-page essay reviewing the study before presenting our findings to the class during tutorial.

This is the first semester that this format was adopted, as previously it was about coming up with a poster and presenting that poster to the class. I felt that the format for this semester was better as it allowed us to learn more without spending time unnecessarily on doing things not related to the module (such as designing).

### Finals <a href="#finals" id="finals"></a>

The final examination was a closed book test of 28 MCQs. The format and difficulty is similar to the IVLE quizzes that were held every week during the semester. The 2 hours available for the examination is more than enough time and I noticed that many people left the examination hall after the first hour.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: Weekly IVLE quizzes and video lectures to be done, with a short tutorial to be done every 2 weeks.

**Project workload**: Some effort needed to review the statistical paper and to do up a presentation.

**Readings**: Only the lecture notes.

**Recommended if**: A compulsory module for all students under the NUS modular system.

**Rating**: 3.5/5. The module is doable and I had great team mates, but I felt that the weekly quizzes caused me unnecessary stress.

**Expected grade**: B

**Actual grade**: S (Actual: B+. I gave up a little due to the poor performance of my IVLE quizzes, but it might have been possible that my group project helped me)


# GESS1025 / GES1035 Singapore: Imagining the Next 50 Years

**Module**: GESS1025 / GES1035 Singapore: Imagining the Next 50 Years

**Semester taken**: AY 2019/20 Semester 2

**Lecturer**: Various, including Dr Noorman Abdullah

**Tutor**: Mr Shaik Muhammad Nabil

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is a ramped up version of Social Studies taken in secondary school. Instead of writing essays, it was more of classroom debates and readings to be done, in order to critically assess Singapore’s progress as a nation.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* 20-minute group presentation and tutorial participation: 30%
* Brief response paper to online interview (500 words): 20%
* Short critical reflections on readings: 20%
* Online open-book quiz (6 short questions): 30%

## Comments

First of all, I had no idea how I managed to get this module. This is the only pass/fail module in the GES pillar and is notoriously oversubscribed. In fact on average, there are about 8 people fighting for a slot in this module, and it is because it is graded on a pass/fail basis and no essays need to be written.

If you are one of the lucky few that got this module, congratulations! You can focus on attention on other modules for this semester, as there is really nothing much for this module. The focus of this module is to bring together people of diverse backgrounds together so as to discuss issues on the 6 pillars identified:

1. Singapore in the world
2. Population
3. Economy
4. Security and threats
5. Diversity, social integration and the urban environment
6. Aspirations and identity

There are many lecture videos to be watched and readings to be done. However, the lecture videos are mainly to introduce you to the topics for the week, but if you have been paying attention to social studies lessons previously, this module would be a piece of cake. You will need to select one of the interviews conducted and provide your response as a brief essay.

### Tutorials <a href="#tutorials" id="tutorials"></a>

Tutorials are 2 hours every 2 weeks, and it involves a group coming up to present about the week’s topics followed by an in-class discussion about the group’s presentation and the topic itself. There are no points for class participation, although it would be good to take part in the discussions and provide some of your inputs on the issues being discussed.

The group presentation will require you to research about the given topic and propose possible solutions for the issues identified. Usually, these issues can be found in the readings and it is up to your group to come up with a possible solution, even if it may not necessarily make sense.

Finally, each tutorial requires you to submit a brief reflection on the readings for that topic. This is to ensure that you can critically engage the readings assigned for the week.

### Final test <a href="#final-test" id="final-test"></a>

The final test was originally supposed to be some MCQs, but COVID-19 resulted in it being changed to 6 short answer questions on the readings for each of the 6 pillars. Being an open book test, it was easy to search for the answers in the readings and then provide a brief response.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: One brief reflection every 2 weeks, followed by a longer response paper to one of the lecture videos of your choice.

**Project workload**: There is 1 group presentation to be done.

**Readings**: 1 or 2 every 2 weeks

**Recommended if**: Definitely the go-to module if you are looking for a chill module to fulfil your GES pillar, although the competition would be rather intense.

**Rating**: 4.5/5. Easiest module you can ever take, but at what cost?

**Expected grade**: CS

**Actual grade**: CS


# GET1004 / GEK1531 Cyber Security

**Module**: GET1004 / GEK1531 Cyber Security

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: Dr Leung Ka Hin, Assoc Prof Yu Chien Siang

**Tutor**: *None*

**Textbook**: *None*

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module is a very high level introduction to the world of cyber security and is taught by a part-time professor, Assoc Prof Yu Chien Siang, that works mainly in the cyber security agencies in the Government. It touches lightly about the different aspects of cyber security and the lectures are mostly story-telling. There are also some mathematics components, mainly on number theory and cryptography, which is taught by Dr Leung Ka Hin.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Homework - 5%
* Test 1 - 35%
* Test 2 - 35%
* Project (Individual PowerPoint) - 10%
* Project (Report) - 15%

## Comments

I originally thought this module will teach us with some hands-on experience on breaching systems and doing the real action stuff, but I was wrong. Every Wednesday from 6pm to 9pm was a torture for me to be in, because it is late at night and being seated on the uncomfortable seats of LT26 listening to some boring stories really killed my interest for this module.

There is also the mathematics portion which is taught by Dr Leung Ka Hin. He is really just a bad lecturer, tries to explain concepts but not clearly at all. I was lucky that I was taking CS1231 in the same semester, which has the exact same topic, and I just used the notes from CS1231 to revise for the mathematics portion of this module.

There are also some homework to be completed and submitted. The questions are rather easy and do compare your answers with your friends first before submitting.

### Project <a href="#project" id="project"></a>

We were required to research on a topic related to cyber-security and submit a 20-page report on it. There were no structure given and we are free to decide how much breadth and depth that you want the report to be. We were also required to submit an individual powerpoint presentation on your interpretation of your group’s report. You are not required to actually do the presentation.

I was rather annoyed by my group mates as they tend to be very last minute people and I am not. In the end, we only started working on the report about 3-4 weeks before the submission deadline. Nonetheless, we managed to do what I would say is a rather good report towards the end.

### Tests <a href="#tests" id="tests"></a>

The two tests were on both the cyber security and mathematics components. The first part of the test is MCQs and the answers are usually quite obvious provided you listened to the lectures. The second part of the test is on the mathematics component. There are no past year papers provided, so do find some practices to do from other modules (like CS1231). Also, remember the names of the ciphers and do not confuse one for the other, which was what I did!

I personally did not do very well for the mathematics component of the first test, which forced me to study extremely hard for the second test which I did manage to do well in.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments.

**Project workload**: One group project with a team of 5 members each with the submission in Week 12.

**Readings**: None

**Recommended if**: You want a chill module to take, and sufficiently confident with your number theory, because the bell curve can be rather steep in this module.

**Rating**: 1.0/5. Hated this module to the core. You do not learn anything useful and the way the module is organised is extremely messy. What a waste of my tuition fees.

**Expected grade**: B (because of test 1 and I was not too optimistic about the project)

**Actual grade**: S (Actual: B+)


# LAM1201 Malay 1

**Module**: LAM1201 Malay 1

**Semester taken**: AY 2020/21 Semester 1

**Lecturer**: Mr Jamal Iskandar B Ismail (Cikgu Jamal)

**Tutor**: *None*

**Textbook**: *None*

## What it is about

This is the beginner-level module for the Malay language (Bahasa Melayu) and is aimed at students that want to pick up some basic grammar and phrases. It is for students who do not have any prior knowledge of the language and is the first part of a two-module series that grants students with a basic proficiency certificate in the Malay language. At the end of this module, students would be able to speak basic conversational Malay and understand some basic words and grammar structures.

## Assessment components

* Class participation: 10%
* Written test 1: 20%
* Written test 2: 30%
* Listening test: 10%
* Oral test: 15%
* Individual voice recording: 15%

## Comments

Language modules in NUS are a great way for students to pick up a new language as part of the Unrestricted Electives component. However, the risk is high as there may be students with prior knowledge of the language and did not declare them before enrolment, which will give them an advantage. However, I feel that it is the same for other modules as well, as there may be students who have strong programming background taking CS1010 and can easily breeze through the module.

Nonetheless, the bell curve for this module would be steep, and I would recommend taking the module while having a friend who is knowledgeable in the language, so that you can consult them easily. The materials provided in the module is barely sufficient, and you will need to rely on Google Translate and Internet forums throughout your journey.

Personally, I took this module as I wanted to be able to survive by myself when travelling in Malaysia. However, most of the students in this module are nursing students who took this module with the intentions of being able to converse with their patients in the future. I was unfortunately the only CS student enrolled in the module.

### **Lectures**

There are 2x 2-hour lectures every week for a total of around 20 lessons in the semester. Each lesson can be quite intensive, as you are ultimately learning a new language which will require you to pick up words and phrases quickly. There are some content to go through, but they are usually completed rather quickly. Most of the time is spent trying to learn grammar rules and to keep practicing them. Cikgu Jamal will often mention words and their English translations very quickly, so it was a mad rush to take down notes.

The lesson is mostly conducted in English, as our grasp of the language is not strong enough yet. In the second half of the semester, Cikgu Jamal will try to hold short conversations with us, asking us how our day has been and whether we have eaten. It forces us to practice our Malay, but it was definitely very nerve-racking especially if you have not been practicing Malay outside of class (which I am definitely guilty of).

Overall, the pace is rather fast and it is important to try and keep up, as well as practice Malay outside of class with a friend who is knowledgeable about the language. Unless you are very good with languages, it is the only way to force yourself to learn those new words and phrases.

### **Written and Listening Tests**

There were multiple written and listening tests throughout the semester. The written tests can be writing of short sentences and filling of blanks with the appropriate word. Of course, the first written test (ujian 1) would be easier than the second (ujian 2), where the second test required us to write longer sentences.

The listening test is also a fill-in-the-blank format which required you to listen to the tutor read a sentence, and fill in the missing word using the correct spelling. This test focuses on you knowing the correct spelling for each word, which is rather straightforward for Malay, but can have certain tripping points (such as with the letter "c").

Overall, the bell curve is steep here. I am quite positive some people cheated here, as there were no proper proctoring involved and people could secretly use Google Translate. It is the unfortunate side effect of taking this module online.

### **Oral Test**

The oral test is paired, where each pair is given a picture and will have to come up with a suitable script that would have the scene in the picture appear during the skit. My pair got a picture of two kids playing computer games, and our script was the dialogue between the pair before, during and after they were playing the game.

This test can be quite challenging, as you are required to be very well-versed in the grammar rules when forming the dialogue sentences. You will also need to be creative in order to come up with the script, so that you have sufficient content to talk about (you need about 20 lines in total). Additionally, you only have about 15 minutes to come up with the dialogue after seeing the picture. Try to pick a partner that you know is quite decent with the language (based on the marks obtained in the previous components) for an added advantage.

### **Individual Voice Recording**

The final component of the module involves you recording your own voice and narrating a particular script that you have come up with. The topic I had was about my family, and I had to come up with two presentation slides with a voice recording for both slides. The first slide was an introduction to my family, whereas the second slide is a picture of my family doing an activity together.

The task is quite straightforward, but just be careful about your sentence structures and grammar. As you have some time to prepare for this, make sure that you do not make a mistake in your pronunciation, have good enunciation of the words and make use of proper grammar in the script.

## Other information

**Assignment workload**: There is a voice recording to be done individually.

**Project workload**: None

**Readings**: None

**Recommended if**: You are interested in learning the Malay language.

**Rating**: 3.5/5. The module was rather messy, disorganised and unstructured.

**Expected grade**: A-

**Actual grade**: B+


# LAM2201 Malay 2

**Module**: LAM2201 Malay 1

**Semester taken**: AY 2020/21 Semester 2

**Lecturer**: Mr Sew Jyh Wee (Cikgu Sew)

**Tutor**: Mr Dulkifli Atrawi (Cikgu Dul)

**Textbook**: *None*

## What it is about

This is the second part of a two-module series that grants students with a basic proficiency certificate in the Malay language (Bahasa Melayu). At the end of this module, students would be able to hold conversations in Malay, understand intermediate sentence crafting techniques as well as classifiers in the Malay language.

## Assessment components

* Class participation: 10%
* Listening test: 15%
* Blogging: 25%
* Pair work: 20%
* Online test: 30%

## Comments

I was initially quite demoralised after getting the results back for [LAM1201](/other/lam1201-malay-1), as I did not manage to do as well as I hoped due to the bell curve. However, I was mainly looking to attain the language proficiency certificate and since I am already halfway there, I might as well complete it. The class I was in had some of my old classmates, and the makeup of the class is still mostly in the favour of nursing students.

I believed that the bell curve for this module would be less steep, as most of the advantages that people had would only be useful for the first level. I spent the winter holidays revising the Malay language, trying to use it in everyday life with my friend who knows the Malay language, and to potentially learn some new words along the way.

### **Lectures**

Each week, there are 2x 2-hour lectures. However, the first 2-hour lecture is conducted by Cikgu Sew, who is a Chinese that grew up in Malaysia. He is quite well-versed with the language and his lectures focuses more on the grammar of the language. The second 2-hour lecture slot for the week is conducted by Cikgu Dul, who focuses more on vocabulary and using Malay language.

Taking Cikgu Sew's lessons tend to be rather stressful, as he can suddenly call upon students over the Zoom session and you are expected to speak in 1-2 seconds, before he would shout your name. In addition, you do not have much time to think of an answer, as he expects you to answer his questions immediately. It was quite difficult for me as I tend to have a hard time learning a new language, and sometimes do not know what he is asking. I have had a couple of embarrassing moments in front of the whole class, but hey, it is all part of the learning process. Cikgu Sew's has his own set of PowerPoint slides that he uses for the lesson, and each lesson covers some aspect of the grammar rules in the Malay language.

Cikgu Dul's lessons are less stressful, as he is a very encouraging and supportive teacher. He knows exactly when a student gets stuck and where to correct them, which I felt made the lesson rather pleasant and we would also be able to learn from the mistakes made by others. I tend to notice that people made more mistakes during Cikgu Dul's lessons compared to Cikgu Sew, I guess probably everyone had the same amount of fear as I did. Anyway, Cikgu Dul's lessons are based on the exercises book (buku latihan), and when there are long paragraphs of text, he would spend a lot of time allowing us to read the passages and correcting our pronunciations and enunciations. He tries to get us to speak in a way that sounds more like a native speaker rather than a foreigner, which can be quite funny at times.

Overall, the pace of the lesson is still as fast as in LAM1201. However, having been used to the way the lessons are conducted, plus having a better grasp of the Malay language, it is easier to follow the lessons this time round.

### **Listening and Online Tests**

There is one listening test conducted in Week 6, which involved playing a video and filling in the blanks that appear at random times during the video. Most of the class felt that this component was the most unfair, as there were many technical difficulties that surfaced during the test itself, and that the video was a song. The lectures introduced 3 Malay songs, and it was hinted that one of them would come up as part of the listening test. Even so, it was very difficult to get the answers right, as it was not possible to replay that segment of the song where the blank appears. I am certain some people have cheated in this test, as most were not able to score high, but there were a few outliers that scored almost full marks.

The online test was conducted in Week 12 and covers various types of grammar rules taught in class. It was done via LumiNUS quiz, which was relatively less problematic compared to the listening test. This was a decent test, especially if you invested time revising the content taught in both LAM1201 and in this module.

### **Blogging**

This component takes the voice recording aspect in LAM1201 to the next level, by getting us to come up with a video on the topic "Pengalaman yang sangat istimewa" (a very special experience). We were required to come up with a script in Malay to illustrate this topic and film a video. The blogging aspect is because the video is required to be placed on a blog, and the content is the script of the video.

This was quite difficult to do, as the deadline is during recess week and there are not many things you can film in such short notice. Thankfully, it was also the Chinese New Year period and it was the first Chinese New Year that occurred during the COVID-19 period. Hence, I came up with some story about how this Chinese New Year was the first time it was celebrated differently, in order to fit the topic of the video. Of course, the crucial parts of the filming were done during the Chinese New Year celebrations, and I managed to finish filming all the parts in a few days time. The editing part took some time, as the transitions and subtitles had to be added in, but overall the video project took up quite some time to be completed, from script to submission.

It is best to have a friend that is knowledgeable in the language to help you vet through the script, as it is a crucial aspect of the grading. The words used must also be appropriate for a particular context, which is probably something that an experience speaker would have more knowledge on.

### **Oral Pair Work**

The final component of the module is an oral test done in pairs. However, this was changed to groups of 3 to 4 people. In this component, members of the group must be conversing with one another about their special experiences, while incorporating a certain proverb in the dialogue. It was essentially the same thing as the blogging component, except that the script is now a dialogue among different people.

I was lucky to have someone that is rather efficient and creative in the team, and we quickly came up with the script. We all had the script vetted before we recorded our voice over. As we did not have much time, we decided to do a voice over using PowerPoint and some animations, instead of filming a full video. We were the only group that did not feature our faces during the video, as other groups either did a proper video recording, or narrated their lines over a Zoom call. I felt that it was unnecessary, as the grading focuses on the content of the dialogue rather than how well the video is done. Narrating lines over a Zoom call would bring additional issues with pronunciation and enunciation.

Overall, we did quite well for this component, but the amount of effort needed is definitely far greater than the 20% of marks that it brings.

## Other information

**Assignment workload**: Heavy, as there is a video recording to be done individually.

**Project workload**: Also heavy, as there is a video recording to be done in a pair or group.

**Readings**: None

**Recommended if**: You are still interested in learning the Malay language after taking LAM1201.

**Rating**: 4.0/5. The module is better organised compared to LAM1201, but it can be quite stressful as it forces you to learn a new language at a rather fast pace.

**Expected grade**: B+

**Actual grade**: A-


# MA2001 / MA1101R Linear Algebra I

**Module**: MA2001 / MA1101R Linear Algebra I

**Semester taken**: AY 2020/21 Semester 1

**Lecturer**: Dr Victor Tan / Dr Jonathan Teo

**Tutor**: *None*

**Textbook**: Linear Algebra: Concepts & Techniques on Euclidean Space, 2nd ed., Ma S.L. , Ng K.L. & V. Tan, 2014. McGraw Hill

## What it is about

This module introduces the world of linear algebra and Euclidean spaces to students, including topics such as system of linear equations, matrix operations, eigenvalues and eigenvectors, etc. It is one of the two mathematics modules that a CS student needs to take, the other being [MA1521 Calculus for Computing](/other/ma1521-calculus-for-computing).

## Assessment components

* Practice sessions: 15%
* Online quiz: 15%
* Homework: 20%
* Final exam: 50%

## Comments

I was a little dreading this module, as the module title seams so alien and I heard some unfavourable stories about it. However, I was pleasantly surprised to see how well structured the module is, and both Dr Tan and Dr Teo are really great tutors who are very knowledgeable about the content and able to deliver it in a way that is easy to understand by the students. The assessment components were very clear from day 1, and the full schedule was made available clearly as well.

Even with the extremely large enrolment size, it did not feel that way at all. Both professors were open to any consultation or questions directed at them, and the amount of practice questions available in the module's textbook were plentiful.

### **Lectures**

There are two types of lectures in this module, a web lecture and a live lecture. The web lecture videos are recorded lecture videos from a previous semester that covers certain sections of the textbook. The live lecture is a 2-hour lecture session each week where the same material is covered again, but with greater use of examples and the option for students to ask questions during the lecture. The web lecture component was unique, as it replaces a 2-hour lecture session every week and instead, small bite-sized videos were made available to watch at your own time.

I personally felt that this structure is much better, as the lecture is broken down into multiple videos which is easier to watch, rather than sit through a whole 2-hour lecture. However, it still requires some discipline, as the videos need to be watched in order to answer the weekly quizzes that are usually due at the end of the week. The quizzes are mostly multiple choice questions, and they test basic concepts that are covered in the video lectures. Sometimes, Dr Teo may drop some hints for the quizzes during the live lecture, and it is advisable to watch it before you submit your answers for the quiz.

### **Practice Sessions and Homework**

The practice sessions occur on selected weeks, and there were a total of 4 such sessions. The practice sessions are basically small proctored tests where you have to handwrite your answers to some questions within the 1 hour, and submit before the tutorial session is up. The sections covered during the practice sessions are also announced beforehand, and you will need to be able to make use of formulas in those sections to answer the questions.

There were also 2 sets of homework, one due after the recess week and the other due in week 12. The homework questions are tougher than the practice session questions, as you have more time to attempt them (about 2 weeks). Some of the questions can be found online, but most of them have never been seen before. I would advise joining the module's Telegram group, as there will be lots of people inside asking and answering questions related to the homework, which can be rather helpful for you when attempting the homework.

There are also tutorial questions that can be attempted, and Dr Teo provided some recorded videos available in LumiNUS that explains his workings for those questions. The questions are all taken from the textbook, and the answers are provided right at the start of the semester. There are also lab sheets available, which are mostly to guide you on using MATLAB, which is a tool that you can (and definitely should) use during the final exam.

### **Final Exam**

The final exam is an extended form of the practice sessions, with 5 long answer questions in a span of 2 hours. It is Zoom proctored, the questions are delivered using Examplify and the answers are to be handwritten. It is open book and the use of MATLAB is encouraged.

Generally, the questions are not easy, but they are not too difficult either. The standard should be approximately the same as those seen in the homework assignments. It is likely that you would barely be able to finish the final exam in the 2 hours, especially if there is a question that involves a rather large matrix. Be very sure about the commands for MATLAB, as you will need to type them quickly into the software in order to get your answers and get back to writing. There are more than sufficient practice questions in the textbook, be sure to practice the tougher ones to prepare for the final exam.

For the textbook, it is definitely recommended to get one. However, a digital copy is available for free on NUS Libraries, which you can use during the final exam and for doing practice questions. The final answers are also available for you to check.

## Other information

**Assignment workload**: There are 2 homework sets to be completed individually.

**Project workload**: None

**Readings**: None

**Recommended if**: A compulsory module for many science and engineering students, and if you are crazy enough to take this module as an unrestricted elective.

**Rating**: 4.5/5. A very well organised module with great professors, although the content can get a little tough at times.

**Expected grade**: B+

**Actual grade**: A- (probably the large class size helped)


# MA1521 Calculus for Computing

**Module**: MA1521 Calculus for Computing

**Semester taken**: AY 2018/19 Semester 2

**Lecturer**: Dr Leung Pui Fai, Fred

**Tutor**: Mr Liang Senwei

**Textbook**: Thomas’ Calculus in SI Units, 13/E

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches some basic calculus that are relevant to computing students. It is basically the calculus component that were taught in H2 Mathematics plus a little bit more extra content.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* Online test - 20%
* Finals - 80%

## Comments

I was rather confident with my calculus back in my pre-university days, but after such a long time since I last touched it, I was a little rusty but could pick up most of the content taught during the lectures rather quickly. The lecturer tends to speak rather slowly and with a slight accent, but the lecture notes are very detailed and had a lot of examples for you to see how certain concepts are being applied.

There are about 3 hours of lectures per week, which can be rather overwhelming when the content covered is something that you have not learnt before. However, the lecturer ended his lectures somewhere in Week 9, so that would free up a lot of time for you to revise your concepts.

To be fair, after going through the whole module, I do not really see how I can apply the concepts that I have learnt in this module into CS. Seems to me that this module is just a way to keep us busy.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour per week and tests mostly on the concepts taught during lectures. They are not very difficult and most of the tutorials can finish covering the content. If your tutor is good, he might do a summary of the topic at the start of the tutorial, which will be very useful for making your cheatsheet for finals.

The online test is extremely easy to score as well. Most, if not all, students get full marks for the online test.

### Finals <a href="#finals" id="finals"></a>

The finals had 5 questions with 2 parts each. You are required to present your full working and write your final answer inside the answer box. If you practiced the past year papers sufficiently, the paper should not be too difficult for you.

For me, the paper was a little bit difficult because I did not have enough time to do the past year papers (was very focused on [CS1231](/computing/cs1231-discrete-structures) instead). I left about 3 parts incomplete and because the bell curve for this module is rather steep, I was not too optimistic about my results.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There were no assignments.

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for CS students.

**Rating**: 4.0/5. A little overwhelming with the amount and pace of content taught at the start, and the high finals weightage can potentially kill you.

**Expected grade**: B (not too optimistic since finals was very difficult for me)

**Actual grade**: B+


# PC1141 Introduction to Classical Mechanics

**Module**: PC1141 Introduction to Classical Mechanics

**Semester taken**: AY 2019/20 Semester 1

**Lecturer**: Dr Wang Qinghai

**Tutor**: Mr Ho Canyang Asaph

**Textbook**: University Physics with Modern Physics, Global Edition, 14/E, Young Freedman, 2015. Pearson

## What it is about <a href="#what-it-is-about" id="what-it-is-about"></a>

This module teaches you all about mechanics and covers essentially everything about the topic in one module. You will learn to appreciate Physics in everyday life to a whole new level.

## Assessment components <a href="#assessment-components" id="assessment-components"></a>

* In-class quizzes: 10%
* Tutorials: 5%
* Labs: 15%
* Homework Assignments (MasteringPhysics): 10%
* Mid-terms: 10%
* Finals: 50%

## Comments

This module is one of the first 2 modules that Physics majors will have to take in their first year of studies in NUS, and it is one of the modules that are available for CS students to take to fulfill their Science requirement. I decided to take this module purely out of interest, as I did relatively well for [GEH1035](/other/geh1035-physical-qns-from-everyday-life) which I took in Year 1, and I did not like Biology.

This was the biggest mistake that I have ever committed.

The Physics taught in this module is not the kind of Physics that A Level students are used to. Previously, the focus was more on solving questions, using the appropriate equations and figures to derive the final answer. However, university Physics takes it to a much higher level, where the focus is more on understanding and proving the correctness of your answer. You will also be required to use calculus extensively in this module, which I was definitely not prepared for.

The Physics majors who are taking this module are likely to have a strong Physics background, which is why they are even taking this module in the first place. There is absolutely no chance for “outsiders” like me to survive in this environment, unless I have been extremely (not very, extremely) interested in university Physics.

The lecturer, Dr Wang Qinghai, often cracks jokes during lectures and tries to lighten the mood. However, I felt that he does not put in any effort to help weaker students in the class. Many times, there are students that approach him after the lecture has ended to clarify doubts, especially when he does not explain things very clearly during lecture. However, he will just brush them off and quite a few times even scolded the students for “not listening”. He is a popular tutor, but overall coming from the School of Computing where the professors are much better and more attentive to students, I would give him a pass.

There are about 4 hours of lecture each week, and 3 hours of labs and 1 hour of tutorials every alternate weeks. Most of the learning is done in the lectures and then applied on a platform called MasteringPhysics. Answers to the questions can be found online, which most students would just resort to copying just to score the 10%. There is also a LearningCatalytics component that you need to complete during the lecture slots, so you definitely need to still attend lectures.

### Tutorials <a href="#tutorials" id="tutorials"></a>

The tutorials are 1 hour every alternate weeks and the time is spent going through all the questions in the tutorial. The class size is relatively small (about 15 or so people), and there are ample opportunities for you to go up and present your answers.

The tutor I got did try his best to explain the concepts to the class, but being surrounded by people who are generally much smarter than you in Physics, it’s difficult to catch up after a while.

### Laboratory <a href="#laboratory" id="laboratory"></a>

Labs are the most fun component of the module, as you are able to see the Physics in action. I felt that the experiments are also conducted in a much more detailed fashion compared to A Levels.

There are a total of 4 lab sessions to attend, and each session covers a concept that was taught in lecture within the last 2-3 weeks. However, the lab reports that needs to be submitted at the end of the session is quite a pain, as there are lots of calculations to be done and it is quite difficult to complete before the end of the session. Hence, always prepare beforehand by drawing the results tables and prepare your Excel workbook so that you just need to fill in the numbers and get the calculations immediately.

Labs are also done in pairs, and I was paired with a year 4 statistics major student. Had countless headaches working together due to his lack of knowledge in Excel, but eventually managed to score quite well in this component (mostly A).

### Mid-terms and Finals <a href="#mid-terms-and-finals" id="mid-terms-and-finals"></a>

The mid-terms were all in MCQ whereas the finals were written questions. No “special” calculators are allowed, which refers to graphing calculators and calculators that can perform integrations and summations. No past year papers are provided, except the one from 2015 which is from a different lecturer, and the tests are all closed book.

Everything taught in the module was tested in the finals, so there are quite a few concepts to memorise. However, a list of equations are provided in the paper, so the main issue is in the level of understanding for the concepts taught in class.

The most annoying part is the lack of past year papers, but I am guessing it is due to the lecturer’s laziness in trying to come up with new questions to test. Nonetheless, I realised subsequently that the exact same questions were used in the [Advanced Placement Tests conducted by NUS Science](https://www.science.nus.edu.sg/admissions/undergraduates/advanced-placement-credits/), so you can make use of the sample paper given to have a gauge of the difficulty level.

## Other information <a href="#other-information" id="other-information"></a>

**Assignment workload**: There is 1 assignment on MasteringPhysics almost every week to complete.

**Project workload**: There were no projects.

**Readings**: None

**Recommended if**: A compulsory module for Physics majors, but definitely not recommended for anyone at all, even if you are very interested in Physics. There are better modules out there.

**Rating**: 0/5. Totally a waste of time if you are not a Physics major.

**Expected grade**: C+ (almost every component was bad)

**Actual grade**: S (Actual: B-)


