Tuesday, January 11, 2011

Anticipation for Year 3 Semester 2 (AY 2010/11)

CS5341 - Computational Photography
Prediction: Although this module has no exams (That is ONLY reason why I'm taking a level 5000 module), its still level 5000, with the prerequisite being CS4243 which I can barely hold my own. It will be a heavy module with half of my time trying to decipher the algorithms.

CS3245 - Information Retrieval
Prediction: I hope there will be some familiar parts from CS4248, allowing me to connect well. Given from the planned schedule that there is programming assignments every two weeks and a tutorial every other week, this module will probably be crazy.

CS2106 - Operating Systems
Prediction: One main reason I am taking this is because the only other viable technical alternative is CS5241 - Speech Processing. CS2106 can be useful background knowledge for my future work as a Software Engineer. I pray that C programming won't kill me.

GEK1531 - Introduction to Cybercrime
Prediction: My Breadth module. Never really expect anything from the module. Planning to S/U it.

SSB1204 - Labour Law In Singapore
Prediction: My Singapore Studies module. Never really expect anything from the module. Planning to S/U it.

Advice for any new School of Computing students if they bother to read:
  • Bachelor of Computing (Honours) in Communications and Media really sucks, only consider this if you genuinely want to specialize in any one of the following: Art and Design, Game Development, Computer Graphics, Computer Animation, Image processing, Computer Vision
  • Don't make the mistake of "looks interesting, therefore I decide to major in that". The word "interested" implies that you really know what you are getting into (By going through internships) and you have the knowledge outside of what school teaches you (Shows that you are really interested to explore this option further).
Whatever.

Monday, January 3, 2011

Year 3 Semester 1 (AY 2010/11)

Now, for the onslaught of the level 4000 modules (Graduate modules for the Beginners) in my penultimate semester in NUS School of Computing.

CS4348 - Interactive Systems Project
Credits: 8 (2 standard modules' workload)
Grade: A
Comment: It seems Professor Zhao Shengdong has toned down the workload - Apparently enough students have complained about the workload in CS3248 and CS4249. Therefore this module was very manageable compared to other majors' 8 MCs variants like CS3215. For CS4348 the theme set by the lecturer was robotics (Sigh). I was the de-facto leader in the team. Our idea was dodgy from the beginning and our final prototype was a robot which picks up DVDs when requested (The DVDs are located at a fixed height with a specific handle attached for the robot to grip), with the only other sellable feature being sorting the DVDs back to their correct positions (Awful precision: Robot did not keep track of its own position as it moves about). Oh wow, I am so "impressed" with my own project management. Somehow I got an A.

CS4243 - Computer Vision and Pattern Recognition
Credits: 4
Grade: A-
Comment: For almost every lecture the professor introduced around 2-3 long maths formulae/algorithms with many algebraic notations. For the project topic my team chooses 3D Reconstruction. My team did relatively fine - We reconstructed a 3D box, by manually selecting 2D points on photographs of a tissue-box. Ah well, you can see that even a level 4000 module's work quality isn't exactly amazing. The final exam was surprisingly manageable, perhaps thanks to the study guidelines he gave us in the final lecture.

CS4248 - Natural Language Processing
Credits: 4
Grade: B-
Comment: Professor Ng Hwee Tou explains concepts well, considering the fact that this module is a difficult area of Computer Science. There are no tutorials, but the professor gave us problem sets and written assignments for us to attempt, and then discuss/release the answers, which is helpful. Sadly, this module requires you to think on your feet and do it fast, and if you can't, you simply can't finish the tests/exams. This module is only recommended for those good at algorithmic thinking, and as you can see, I am not.

CS4211 - Formal Methods for Software Engineering
Credits: 4
Grade: B+
Comment: The title is a misnomer of sorts. This module is actually an introduction to Automated Theorem proving/Model checking. Check out the concept on Wikipedia. The module isn't difficult but you need to have passion for this area of Computer Science to appreciate it. The project was to create a model of a sufficiently complicated system of your choice using PAT (Process Analysis Toolkit) and then document how the model can be checked for errors, deadlocks, or inconsistencies, etc. As you can see, I'm not that interested.

Overall Results:
MCs taken: 121 + 20 = 141
CAP: 4.2
Stayed at COM4... Waiting to graduate soon...

Notes/Trivia:
  • CAP surprisingly rose by 0.02 this semester (A semester GPA of 4.3)
  • Not too impressed about my own project management for CS4348
    • Unaware of team members' expectations: How do they expect the robot/project to be like - Precision/Robustness, Design, Features? How many hours they are preparing to put in for the different work processes?
    • Unaware of team members' actions: How are they going to start working on their assigned tasks? What are the details of the state of progress on the robot navigation algorithm and the output from the server of the Computer Vision System? What are the different parts that each member working on right now?
    • Poor planning: What is the backup plan? Are the assumptions we made complete and safe? When will the design specifications be ready? When will a particular work process begin and end and who is responsible for it? What are the details of the robot arm design and the parts required to glue the final prototype together?
    • Poor coordination and control: Nobody takes my timings seriously, so please explicitly suggest alternative plans and commit to it? Since nobody is familiar with robotics, please start R&D as soon as possible, with detailed designs where possible (whether or not resources arrived)?
    • Weak pool of ideas and lack of experience: Still salvageable if it had not been for my really awful "I have no idea what I am doing" management
    • I am adding a shitty teammate to be blacklisted from now on
  • I failed a mid-term exam (CS4248) for the fourth time in NUS!
  • First B- (CS4248) after the first semester results!
  • My first semester in NUS where the trend of getting A grade for exactly two modules for each semester stopped. I only get one straight A grade for CS4348
  • CS4348 is worth 8 MCs though, the equivalent of 2 standard modules...
  • First and only semester where I do not travel to different schools for lessons via Shuttle Bus, because all my modules take place in School of Computing
Whatever. Now for the final semester...