1. How to build up real software that can facilitate people’s life and work. I have been playing with computer programming since 2006 (interrupt for some time), but I should feel embarrassed to my level; especially I have never build any real stuff that can benefit me. I am totally sure I can boost after this semester, taking CS2103 Software Engineering and CS3216.
2. How to apply concepts learnt from school to the fast-changing IT world. I think computing is developing at a fast speed, creating a situation what we learn today may be out-of-date tomorrow. New computing languages come out frequently, even there are many updates within a language. However, the core concepts of computing will not change (or not change that often).
3. How to work in a team. It is important to learn to work with people from different cultures, backgrounds and languages. There are many things to do as a programmer: read and understand others’ codes, and have a standard clean coding habit.
4. How to think in advance. To make a product (software) success, it is not enough to satisfy customers’ needs, but to create a need for customers to realize. However, is quite difficult to think out of the box. As a student of SoC, fortunately I have deep interests in IT, which should help me do better in this field. However, it is also a constraint that I narrow my interests only into IT industry. Making friends with people from other faculties is a good way, which is provided by this module.
Those are worth learning not only in this module, but also during my study in NUS and entire life.