I survived CS3216 and it wasn't an easy feat in my opinion, given that I spent almost half my time on CS1010S this semester, the other half went to CS3216. Would like to give a quick run-down of my experience in CS3216, something like a review.
The trouble with group projects:
- Grouping with mediocre teammates makes you want to do everything by yourself. You probably end up having to do so anyways and die in the process.
- Grouping with godlike teammates encourages you to decide on a scope beyond the project and you guys die meeting the overly demanding specifications you have designed for yourself.
Group work is hard.
I love attending last lectures for some weird reason. It is usually during the last lectures when the profs share their life experiences and wisdom; stuff that cannot be obtained from lecture notes or the internet.
- Work with the smart
- Work with the creative
- Work with the hardworking
- Assign work according to each other's strengths
- If possible, modify your role to make up for an aspect your team is lacking in
- Pick a topic that everyone is interested in
- Have fun doing the work!
This assignment made me worry a lot because of the little time we spent coding and testing it. I still stand by my previous rants that mobile web development is a PITA, there are simply too many nitty gritty things to consider and pitfalls to avoid when developing for mobile.
We are nearing the halfway mark of our final project but to be honest we haven't finalized on the game idea. We went on an excursion to the arcade and spent roughly 8 bucks each, trying out the games the arcade had to offer.
Team dynamics has always been a sticky issue to deal with. One of my key goals of joining CS3216 was to learn how to work with talented people from different disciplines.
This is a rage post because of all the frustration I faced while doing Assignment 3 and mobile web in general.
Last assignment for CS3216! The past 4 weeks have been hell for me. My senior, Jonathan Low, ex-CVWO president and guest speaker for the past few batches of CS3216 and CS3217, after hearing that I'll be head tutoring CS1010S and CS3216 on top of the standard academic workload in this sem, gave me a really encouraging word of advice: "You will die man."
Ahh the Apple Maps app. What an uproar it caused when it was first released. Like many iPhone users, I don't use the Apple Maps app; I use the Google Maps app instead, simply because it syncs with the location queries that I make in my MacBook's Chrome browser. The Google Maps app has amazing user experience compared to Apple's version. Makes me wonder if Apple even tested their app with real users before putting it in every iPhone that runs iOS 6 and above.
The topic of growth hacking has always intrigued me. Coming from an engineering background, I was never exposed to the non-technical aspects of a product. Although my NOC stints allowed me to work with the marketing and business development team, I wasn't involved in the decision-making process and marketing strategies.
My team has decided to use Sails.js for the first assignment. It is an MVC framework for Node.js that is pretty much like rails. It's time to learn a new framework/library again! And sadly, because it's a new framework, there isn't much documentation and tutorials for me to refer to. I learn best through doing and experimenting. As the saying goes: I see and I understand, I do and I remember. Getting my hands dirty and trying things out for myself is an important phase of learning something new.
"What exactly do I want to build in CS3216?". This question has been bugging me for the entire summer and I still do not have an answer to this question. Initially, I wanted to build a multiplayer game that uses WebRTC because it has been really hot after Google demonstrated prototypes of their WebRTC games during Google I/O, such as Chrome Maze, Cube Slam and Racer.
Having taken CS3217 before, I understand that CS3216 is unlike most CS modules, the learning curve is extremely steep and students are expected to turn from zero to hero in a span of few weeks. CS3217 caught me off guard; I literally spent every single day coding and learning Objective-C, severely losing sleep, hair and my sanity.