Tuesday, January 19, 2010

{error} Infinite Loop

First week of school has never been as slack and scary. Why slack?



Yes, 3 hours of class only, excluding the workshops on Saturday.

Why scary? By Saturday, I realized that I am in quite a bit of trouble. Prior to the workshop, I did not know what I do not know. Ignorance is bliss, at least temporarily. After the workshop, I realized there is SOOO much that I would need to know by the end of the course deadline for the first assignment that I shudder at the thought.

I am not too sure how many people feels the same way as I do. Maybe those who are not from computing will be able to sympathize with me. As one of the “Lone Rangers” of the course, the jargon and acronyms used in the lectures were especially intimidating: API, SSH, Cloud Computing, PHP, MySQL, UNIX, PuTTy, OMG, WTH, etc. (the last 2 are not computing acronyms =p ). I made a list of these terms and made a mental note to find out the meanings of these terms in Google and how they are inter-related. However, after spending several hours, I came to the conclusion that computing jargon is explained using jargon which means that my algorithm to understand these terms will end up in an infinite loop!

Monday, January 18, 2010

10,000 hours

The slide which made my heart race: 10,000 hours.

10,000 hrs = 417 days = 1.14 years (correct to 3 s.f.)

Apparently, quite a number of people read Outliers (by Malcolm Gladwell), as I heard a number of people muttering “Outliers” as Prof Ben flashed the slide. Back in December 2008, when I was reading this specific chapter of Outliers I recalled the conversation with my salsa coach.

Jw: I can remember equations and numbers very well, but memorizing a choreography is very different.
Coach: Just do it 1000 times.

He said it in such a casual way that no one would think that he is serious.

Jw (thought to myself): You must be f***ing kidding me.
Coach: Do the choreography 5 times non-stop which will take about 20 mins, take a 5 min break, then do it 5 times again. Do that for 3 hours.


At that point in time, I didn’t really believe that his method will work. It seems ridiculous, but I did it anyway. I was rather slow in memorizing choreography but after several such 3-hour-sessions, I perfected the choreography.

I guess anyone who has achieved a certain level of proficiency in any sport, game, performing art would be able to relate with my experience. However, 10,000 hours is not just about repetition. Running 1 hour a day for 10,000 days will undoubtedly increase the level of physical fitness in a person but the regime is unlikely to be sufficiently intense for one to attain a fitness level to compete internationally.

In my opinion, if there is a shortcut to success, it is clocking the 10,000 hours in the least number of days that makes people successful. When I first started salsa, I trained 5 hours a day for 5 whole months (including weekends and public holidays). No, I am not crazy, my coach is. After 5 months, I attained a standard that the average dancer will take at least 3 years to achieve if they were to do it once a week. I have to clarify that I have yet to clock anywhere near 10,000 hours dancing salsa and I do not consider myself to be “good” but rather “above average” when compared to other local dancers. The point that I am driving at is that learning curve is ALWAYS steep – Should you take a slow walk up OR sprint to overcome the steep learning curve asap?

Thursday, January 7, 2010

What I hope to learn from CS3216

Like many of my fellow classmates-to-be, I stumbled upon this course in the NUS mail. What intrigues me about this course is that, unlike most courses, one has to prove his/her worth to be allowed to take this module by writing a personal statement. This seems extremely controversial to me. I believe that none of my physics lecturers go to such great lengths to qualify a student before allowing him to read a module; it would seem irrational to do so, considering the fact that there are only about 25 students doing the honours’ programme.

The controversial nature of this course attracted me to find out more information about the course via the blogs by previous students and subsequently to attend the information session. But what really motivated me to apply for this course was the opportunity to create something original (Facebook app, Wave extension, etc), which I would not be able to if I did not take the course. Hence, in taking this module, I hope to learn some programming languages to a level of proficiency which will allow me to create simple web applications.

However, I believe this course was intended to go beyond teaching students. Rather this course offers students a tiny bit of guidance (with the workshops and seminars) and, more importantly, offers students a platform to explore and learn on their own. So instead of simply describing what I hope to learn from this course, I shall go beyond “what I hope to learn” to describe “what I hope to get” out of this course.

The filtering process of having every student write a personal statement before they are allowed to read this module implies that everyone in this course is good one or more of the following: programming, designing, selling or writing a bloody impressive personal statement. Personally, I regard this as an extremely rare opportunity to be immersed into a pool of highly capable experts with different expertise and collaborate on projects. Therefore, even if I do not learn anything (which I highly doubt) from this course, it would be an enriching experience for me, who am neither a programmer nor designer, to create web applications together with a team of passionate experts.