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 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%


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.


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.


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+

Last updated