CS4246 Module Review, explore vs exploit

CS4246 Module Review – AI Planning and Decision Making

CS4246 Module Review – AI Planning and Decision Making (16/17 Sem 1)


  • One of the hardest and most theoretical module I have taken in NUS
  • The content is a mixture of classical concepts and cutting edge research topics
  • Project is also very theoretical, involving more conceptual understanding and reading of research papers rather than implementation.
  • Midterm is very early, before recess week. Final exam is even earlier, before exam week. That is why the CORS says the module has no exam, when there is in fact a final exam.

Continue reading

CS3244 Module Review Machine Learning

CS3244 Module Review 16/17 Sem 1 – Machine Learning

CS3244 Module Review – Machine Learning

With machine learning the hottest topic in the AI world as of now (2016), this module is hugely popular. In fact it is overly subscribed this year, and I believe it will continue to be like that. For 16/17 Sem 1, Prof. Min-Yen Kan is taking over the module with new syllabus and python as the main programming language (try to guess the language used before). Continue reading

CS3219 Module Review

CS3219 Module Review 16/17 Sem 1

CS3219 Module Review – Software Engineering Principles and Patterns


  • Continuation of topics in CS2103 (architecture, principles and patterns) in more depth, plus a few other topics in software engineering.
  • One medium-scaled project in groups of 4 (consisting 2 pairs), 2-3 small scaled project in pairs (of 2 people). You can choose pairing and grouping.
  • No midterm. Final exam is close book, with 1 A4-sized double-sided help sheet allowed.

Continue reading

Game Theory in Project Team Formation

Game Theory in Project Team Formation

Recently I wrote a review for CS3216. In that post, I briefly touched on the issue of team formation where sub-optimal teams can be formed due to incomplete information and lack of communication. In this post I will explore further on the topic of Game Theory in Project Team Formation, using concepts of Nash Equilibrium and Pareto Optimal. This also serves as a nice example of game theory application in real life.
Continue reading

CS3216 module review

CS3216 Module Review 16/17 Sem1

This is THE module in SoC. No other modules have caused so much hype and discussions like CS3216. So here it goes, my long-overdue CS3216 module review.


The module consists of 4 different projects. Three of them involves developing some kind of application. The other one is seminar presentation and mutual critique of an existing application on the market. Grading is 100% continuous assessment, based on projects and participation through blogging. The workload is extremely heavy so you will probably have very little time to spend on other modules. There are no formal lectures, almost all lectures are guest lectures. They cover a diverse range of topics from idea validation, growth hacking to security practices and database scaling. Continue reading

A*genda in Angular 2

Developing A*genda in Angular 2

For the final project of CS3216, our team decided to develop a web app A*genda that helps event organizers to build web-based agenda for their events.

This was an unfortunate timing (October 2016) for our team since Angular 2 just came out of beta, and Angular 1 is going to be the “legacy” framework soon. As a team that has no experience with other frameworks like React.js or vue.js, we were stuck between Angular 1 and Angular 2, and the final decision was latter. Continue reading

How to be Always Happy

Secrets on How to be Always Happy

People often comment on how I am always looking happy and never seem to be upset about anything. Truth to be told, I had my share of miserable period in life. But over the years, I have somehow magically discovered some secrets on how to be always happy. And I think it would be nice to share them during this stressful exam period. So here it goes 🙂 Continue reading