Bernard Teo Zhi Yi
Email: bernardteo@u.nus.edu | GitHub: btzy | LinkedIn: bernard-teo | Stack Overflow: Bernard

CP2106 Review

Taken in May-Aug 2018. This module is taken over the summer break, but MCs are credited in semester 1 of the following year.

This module is “independent” to the fullest extent of the word. It is pair work (you can choose your partner), and you have the freedom to work on any software project that you would like to do, and with any kinds of technologies. You can choose how easy or how difficult you want your project to be — it really depends on what you are interested in and what you want to achieve. Most students choose to do web apps, but you can also do mobile or desktop applications or games, or even hardware projects that work with micro-controllers.

This module is graded on a CS/CU basis, and (barring exceptional situations) nobody is given a CU grade — you can drop the module at any time during the summer break with no penalty. This means that you can experiment and explore various technologies without the fear of getting a bad grade.

There are two compulsory face-to-face sessions in this module — “Liftoff” (the start of the journey) and “Splashdown” (the end of the journey). Some optional sessions are available during the summer break, and these sessions focus on particular technologies (e.g. iOS development, web app deployment) that might be useful. More information can be found here: https://orbital.comp.nus.edu.sg/

There are three “levels of achievement” that are awarded depending on how complex your project is, and some prizes to be won for the top projects. However, peer voting is used for the prizes, and hence it is largely dependent on your team’s popularity and the poster location that you have been assigned. I recommend that you sign up for Orbital so that you can work on something that you enjoy, rather than for the awards or prizes.

Three “milestones” are spread across the summer break; for each milestone, teams have to submit a poster, video, readme, and project log. (Typically the readme will contain instructions on how to download or access the product and use it, so that evaluators can try out the product on their own computers.) These items will be used by an assigned “advisor” and some peer evaluators to evaluate your project, and evaluations determine your level of achievement. (Advisors are students that have taken Orbital before, and they are randomly assigned to teams.) The sole deliverable for Splashdown is a project poster, but it is useful to bring your functional product for demonstration.

Prof Zhao Jin was the module coordinator in 2018, but the module coordinator has little impact on what students learn and do, due to the self-directed nature of this module.

The module experienced an extremely high demand in 2018 — if you are interested, look out for the registration email in the second half of semester 2, and sign up immediately upon receipt of the email.

Here’s my project, Circuit Sandbox: https://github.com/btzy/circuit-sandbox (The binaries definitely work on Windows 10; for other operating systems you might need to compile from source if the binaries don’t work.)