So let me begin in the typical way. Its been a hell of a ride. This may sound cliche but, well, it sure was a hell of a ride. There are not many such modules on NUS (I think I can safely say none). All impetus is given on the practicality and the real world implications of anything and everything you do or develop. I got to talk to real users. I got to pitch to REAL people who actually were there to see what we had done. I got to do real user testing and it wasn't some cooked up survey or surveymonkey. When all of this began, I had no idea how important user feedback was, well, now I know. I don't know how to say this in any other way but CS3216 is one of the most awesome modules in NUS and it made me realize how much I really love building stuff that people use (funny when its put that way but yeah). CS3216 gave me such an opportunity. Professor Ben gave me this opportunity and I am happy to say I didn't waste it. Before I go on to summarize what I learnt in these few short months, I would really like to thank Professor Ben for CS3216. I can't believe 3216 will be offered no more. The students of NUS are really missing something here, but I guess everyone needs to take a break every once in a while even Professor Ben :)
Now, on to summarize what I've learned. Lets do a comparison with my first blogpost
Level-up my Porgramming skillsLots of improvement in that department. My coding quality has improved significantly and this has become an indispensable tool when different members of my team used to just dive right into each others' code, picking up where the other person left off. Though we didn't need to implement any complex algorithms and the code was basically quite simple, I learnt the benefits of knowing the tricks of the language or framework you're working on. Don't do take 5 steps when all that is required is one.
Upto speed on Mobile/Web DevelopmentReally got what I wanted here. I had only worked on small parts of projects and mostly only on the back-end with Java. But on MoneySlate I worked on the front-end and got to design as well as implement most of the UI interactions and I must say it was an enlightening experience. I got to work at the Bleeding edge with Jquery Mobile and HTML5, literally tracing how JQuery Mobile got better and better with each release (I was there for it from Beta2 to RC2 and am still active reporting bugs on its forums). I am quite upto speed on Web and Mobile Development here. All those memory considerations and speed optimizations you thought weren't necessary are back as requirements when you develop for the mobile. I had to redesign an entire User interaction for MoneySlate when what we saw on the desktop wasn't what we got. We got some laggy browser-crasher on the mobile.
So, I more than exceeded my expectations in this area, but of course there is a lot more to learn. Only the tip of the iceberg here
A little from everyoneThere was something to learn from everyone in 3216. There were so many brilliant people and not to mention the plethora of talks given. I have never learnt so much varied stuff from one single module. My writing skills were brushed up. I learnt the art of a good presentation while working for the FB app seminar presentation (and also found how not to do presentations). My teammate Aaron showed me how powerful the words 'I can do it' can be. My FB assignment teammates showed how preparing in advance and planning ahead make life easier close to the deadlines (though this was only SHOWN to me and not LEARNT by me as yet :P ). The animated discussions in class were also fun to follow and this was one module where I loved the lectures.
Communication SkillsA definite level-up over here. Though I still have quite a long way to go before I can say I am a bit of a communicator, it sure is quite a few steps in the right direction. I never had any problem with communication in small groups, infact I am pretty good at it. Its just the large gatherings that knock me over. However, I managed to present in front of the class for the final progress report. However, the real deal was at the poster session when I really faced lots of people and pitched about my app. Doing that for quite sometime gave me more confidence and having that amount of confidence actually shows on the other person.
Collaboration and TeamworkGot to work with different 'kinds' of people ranging from silent and efficient to even a loud-mouth. Conclusion is I can get along with anyone. I just can't get some of the local Singaporean or the Chinese jokes but no harm. I would like to take this opportunity to thank each and everyone of my teammates. I would definitely like to work with them again. Of course my MoneySlate team is still 'working' together :P
Absolutely no luck here :P Some day I might get the hang of this but until then, the last minute camping technique seems to work well enough.