So, finally, it ended last week. I mean, CS3216. The last lecture was, as usual, quite inspiring, though I have to admit that I was quite tired and could not catch all what prof Ben mentioned then. But somehow, most of the points he mentioned, I feel quite true (and actually some of them are what I always tell my friends, such as: the world is broken, the world’ economy is going to take another terrible depression, and what’s important is to do something that could create some values, rather than to make some money. On this point, I really agree. And that’s why after a while, I don’t care much about money anymore, but what I’m going for is kind of mastery in some field in CS… Not really sure what field yet, though… Anyway, at the moment, I’m aiming for master my coding skills first, and that’s what CS3216 really helped me a lot.

After a whole semester, looking back to what I expected at the beginning of the sem, I could be quite satisfied with what I have gained. Let’s see what was the things I wanted to learn then?

– Web programming (server, clients and mobile). PHP? Javascript? Ruby on Rails? Integrating with Facebook? Silver light?  I have never really spent time on web programming. So now, as a hardcore coder, I hope to get them all :)). Isn’t it a bit too greedy T_T. – Ok, seems like this’s the part that I learned the most. In fact, I did not learn all what I mentioned: PHP – yeah, JS- jQuery – sure, RoR … may be later, Integrating with FB? – of course, after lots of pain =.=, Silver light – Oh – wow seems like I expected too much :). However, I also learned a lot of other things: Setting up web server on the Cloud, using AWS; using Apache mod to rewrite URL; designing and writing REST API; HTML 5 on mobile device… It’s quite fruitful, after all :). And quite surprisingly, I even have chance to revise and sharpen my iOS coding. It’s much better now :).

– Knowing something abt design is not harmful at all :)). I have always stayed away from design stuffs: (such as) Photoshop for the most of my life so far. This should be a chance to (at least) have a feeling of what they can bring.: For this part, actually the progress is not that impressive. I had some chances to practice designing (especially for the first assignment and the final project – the second one we just got a kick-ass designer … ). But somehow, it’s not really improved by a whole lot. Anyway, knowing some new techniques like drawing UI diagram to facilitate in coding is really useful. I also did practice a tiny bit of PTS (if resizing, cropping and exporting count =) ). Anyway, this’s something I need to work on more in the future.

– How to come up with new idea? And how to know that it’s THE killer idea?
– And how to really implement that killer idea, of course.
Unfortunately, after the course, I haven’t been able to get any KILLER idea, after all. However, for the first and the second assignments, I did come up with some unique and interesting thoughts, that really attracted my group mates (which unfortunately, were mostly a bit too complex, and were not chosen after all). Seeing lots of ideas are thrown a way shows me that ideas are quite cheap, but polished idea, the ones that is invented a lot of time and thought in, are not cheap at all. So the important thing is not only trying to brainstorm of new ideas, but you also need to know which one to kill, and which one to invest more time and thought in to polish.

– Other than that, I think I also did learn quite a lot of things on team dynamics. I really sucked for one assignment, and tanked the bulks for some others. After all, I have identified a big trouble in my working style:”communicating too little”, either when I’m not satisfied with others, or when my ideas are not cared enough”. I often thought of it as just “talk less, do more”, and tanking all the works for other if needed. Sometimes, that would not work out quite well. After all, working in a team requires a lot of efforts from all members, so communicating more is really important.

– And there were a lot of other miscellaneous things and advice I did learned from the speakers who came. For example, from Dr. Milton, I learned that we should always try to break the normal pattern to come up with new ideas. Or from Mr. Lai Zit Seng: The guys working on different layers often just don’t understand each others, so someone with a throughout understand of the whole stack is quite important. I’m kinda seeing me fit into such a position :). But anyway, that’s still the future :).

So, finally, the CS3216 journey is ended. I think it’s quite painful, but not as much as CS3217 :). The good thing is: I learned quite a lot of new things, and the environment where you are forced to work with lots of different people is quite fun :).
As a final thing, I think for me, the most important thing learned from the course is what prof.Ben mentioned: After you take a lot of shit, you know you can just take more :)). So, yeah, after 3217-3216, my level of confidence is raised quite a lot. Even though I know there are a lot of things I haven’t learned, now I know I can just learn anything, and deal with whatever thrown at me.

Welcome, any challenge :).

… Hm, actually I should blog a bit more about the final project :). Maybe later :).