Wednesday 22 August 2012

CS3216 - My first step in the "painful" journey


First lecture and Team formation

The first week has passed by so fast. Without doubt, CS3216 began with an awesome lecture. I had chance to know all the classmates, lectures, tutors and to get feedback as well as advice from seniors. First week was also the starting point of the "painful" journey. The 34-pages assignment 1 gave me a mixed feelings as expected. Soon after that, my team is formed with Dennis, Murali, Inian and me. We finally decided our project to be the Facebook standalone application that is able to control all household appliances including turning on/off and dimming lights, fans, and other electrical devices.

Project started as it should be

Our project is started and the main focus is not software though. Despite that, I will be the one who is taking care of the Facebook API and its documentation. I also have to admit that 34 pages of  'Assignment 1' are very helpful although it makes me feel a little bit scared at the beginning. Now, I can create a Facebook application  using Facebook PHP SDK, get user information via Graph API and FQL. However, there are still a lot of things need to understand and explore (exploit also : p). Moreover, this is my first time using AWS, Git, PHP and so many other tools. It is so helpful and amazing to learn so much stuffs in the workshop right at the end of the first week. I'm sure this is the module that will take lots of my time throughout the entire semester and I am definitely happy about that.

CS3216 - My expectations


I have heard about the famous CS3216 very long time ago since I was freshman. It is one of the coolest renovation modules in School of Computing together with CS3217. Therefore, my expectations to this extraordinary module are quite high.

 Goal 1. Improve programming skills

To be honest, I'm very passionate in computer network as well as system security. Therefore, programming and software engineering is not my strengths and my focuses after all (although I survived CS1101S by Prof Ben 2 years ago) . Having a chance to polish up my programming skill is very appreciated to me. This is also my first time study such a heavy modules that comprise all continuous assessment components during semester (without final exam).

As a matter of facts, since this module involves so many projects in such a short period of times, it will certainly help me improve my web-based programming skill. Moreover, through two assignments, I will have opportunities to learn and work with different platforms. As a bottom line, I believe that the knowledge gained from this module will certainly help me learn other future platforms easily as  learning how to learn is much more useful after all.

Goal 2. Making something better and cooler

I hope to write better quality software by the end of the semester as the module focuses on “production-quality software”. Moreover, the importance of writing clean, scale-able and “production-quality” code has always been stressed upon since when I studied CS2103 module last year.

I will also have a chance to to do what I want, not just fixed assignments with specified requirements and functions in other usual modules at NUS. It sounds very exciting when I can get my hands dirty with Facebook, mobile, cloud platforms and spend times to develop "crazy" ideas.

Last but not least, as the "evil" Prof. Ben is also taking part in the teaching together with Dr. Colin, I can expect the module to be very tough :D but very satisfied though.

Goal 3. Collaboration and multidisciplinary skill

As we are not allowed to form a team with particular partner twice throughout the assignments,this promises to be an exciting experience, but also a big challenge as  I have never worked on programming projects with entirely new people. I will have to adapt to different teammates and diverse team dynamics. However, it is a good lesson because sooner or later we will absolutely have to work with different teammates in different projects. Therefore, I better to gain this experience in school before going out.

Moreover, working with teammates coming from a different background  is also the wonderful aspect of CS3216. I believe that the team composed of diversified members can make the amazing applications and each team member will definitely use his/her own experiences and skills to enhance others skills and knowledge at the end of the day.