Another semester, another 5 modules. I feel old as a Year 4.
This review is based on the Semester 1 variants of the module and may not apply to the Semester 2 variants, or the same module but taught with a different lecturer, where applicable. Do note that module syllabus and grading criteria may change from semester to semester. The writer assumes that the reader will put in effort in attending the lectures and tutorials.
CS4243 – Computer Vision and Pattern Recognition
Pretty interesting module, because several concepts you learn here have immediate ‘visible’ (easily real-world applicable) applications – I learned how Panorama mode on our cameraphones work, and how people remove background frames from videos to retain only a moving object, for example. Effort is required to really read through and understand the concepts, though, because the lecture notes are pretty brief.
Prof Leow knows his stuff, but the organization of the lectures might be a bit messy at times (he sometimes fails to finish his lecture on time). Also, Prof Leow may get a little bit dry at times, so make sure you pay full attention to him. Ask him questions! He has this way of making you ask the right questions, to direct you into thinking in a more correct way when tackling computer vision problems.
Labs are also manageable, although it may get tricky for people who’ve never used OpenCV (the framework for Computer Vision in Python) before – do search the online manual to read up on the proper way of calling OpenCV functions. Do discuss with your friends too.
Project is the tougher part of this module, in my opinion, as you’re required to translate whatever concepts you’ve learned from the lectures into Python code to generate proper images/videos/whatever is required. Most of these involves a bit of self-exploration (probably the hardest part), but Prof Leow is more than happy to answer any questions you have. Do make sure you aim to complete the intermediate and advanced level objectives to get a higher project grade.
No tutorials, which makes the workload of this module pretty lax, but it’s a bit scary because there’s nothing to practice for the Final Exam. The exam consists mostly of concepts and derivation of mathematical relationships, and since you would’ve already taken the required math modules (Linear Algebra) it shouldn’t be an issue. Other questions are similar to the labs.
Difficulty: Medium (+ hard project)
CS5237 – Computation Geometry and its Applications
My first Level 5 module. The concepts are definitely not easy to understand and they are pretty abstract, but it’s interesting once you understand it. (I have no idea how to summarize what I learn from this module..)
Prof Cheng has his funny moments and the geeky jokes he cracks are quite entertaining. You’ll probably be trying to pay full attention to him because if you don’t, you’ll be lost for sure. Take notes! Luckily, the homework he gives us are mostly direct applications of what you learn, so it’s not too tough. (Apparently the grading criteria changed, I heard that before my semester the students were all complaining about really tough homeworks)
Project is the main component of this module, at 50%. Prof Cheng is nice that he provided all the skeletal code to compile a working application. Be prepared to spend a LOT of time here, as there’s a lot of debugging involved – it’s hard to test due to the nature of the project (we were required to create an exact arithmetic application, meaning one that can extend to infinite number of digits without rounding off).
Mid-term and end-of-term tests are tougher variants of the homework, so do read up on your lecture notes.
MA2213 – Numerical Analysis
The syllabus of the module seems volatile, as all the past year papers have no relation to each other. This module is one of the more laxing modules I’ve taken (in contrast to my friends who took it in previous semesters), concepts are easy to understand and makes full sense. Focuses on finding good approximations to functional evaluations.
I find Prof Roger Tan to be the better lecturer of the two (might be due to a better accent). He is also helpful in tutorials as he knows how to explain the numerical methods in a pretty concise way. As for Prof Chu, he sounds a little kan-chiong at times, so you have to bear with the way he lectures.
Tutorials are not too tough, mostly direct questions based on what you learn. There are just one or two questions in each tutorial that may be a little difficult, but they will be explained by the professors if you attend the tutorials.
Labs are pretty slack, and not graded. (The only purpose of the labs is to prepare you for the lab assignment at the end of the semester.) If you already have a decent grasp of how Matlab works, they’ll be a breeze, and the lab assignment is also not too difficult.
Assignments consists of some proofs and some computations, and they’re pretty easy too.
Mid-term test was pretty easy.
Final exam was a shock to me, because it was pretty tough – it might be because I didn’t put in enough effort (due to a lack of revision time), but the questions are definitely much tougher than those in the tutorials. I left an entire question blank and ended up getting a good grade for it though, so I guess it was tough for everyone. NO CHEATSHEET 😦
Difficulty: Easy (Final exam is hard..)
MA3220 – Ordinary Differential Equations
A LOT of content. The module focuses on the methods of solving equations with no applications, and there are.. like 982734893 methods to learn. (They become pretty systematic once you know how it works, though.) The tough parts of the module lies in the theoretical concept of uniqueness of solutions (the last chapter), which is not easy to understand. Make use of your cheatsheet well (I wrote the smallest font I’ve ever wrote lol)
Prof Wong is very concise in his explanation of the systematic methods, and I feel that he’s a good lecturer. He’s probably only constrained by the syllabus of the module – as there are no applications, the content may feel dry. Do go for his lectures as he explains examples that are not in the notes.
Tutorials consists of a few easy questions and 1-2 hard questions, all of which could be understood if you listen to the tutor diligently in the tutorial lessons.
Mid-term test and Final Exam have the same difficulty curve, with a few ‘free marks’ questions and 1-2 harder questions (confirm 1 question on uniqueness of solutions). I think the ability to answer the harder questions will make a difference in your grade (if you want an A, as the other people would score on the free marks questions anyway), so try your best to understand that last chapter.
Difficulty: Medium (Medium-hard with the last chapter)
MA3236 – Non-linear Programming
I found it really helpful to have taken MA3252 (Linear and Network Optimization) before taking this, as this module is essentially the non-linear version of MA3252. (I think it might have made more sense to take this before taking MA3252 though?) While the concepts of this module are okay (think multi-variable version of calculus and finding minimum points), the questions that the professor sets are usually quite hard.
Prof Toh seems to rely on his lecture notes a lot. You do need him to understand what’s going on, though, as he loves writing summaries/drawing graphs on the white board and I found them really helpful.
Make sure you go for the tutorials – there are a lot of out-of-the-world questions that forces you to squeeze your brain juices to apply the learnt concepts. I have to say certain tutorial questions are really too difficult that you probably won’t be able to do them even after listening to the explanation from the tutor. Lol.
Do try to score full marks for the assignment, as it’s not too difficult and you can discuss with your friends.
I find myself unable to complete the tests (and final exam) on time, because of the nature of the questions. (Think finding the local minimum points of a highly volatile function – lots of computation.) The funny thing is, I thought I was adequately prepared for the exam but many questions have tricky parts that I didn’t manage to solve. Just make sure that you score well for the concepts that you can prepare (do past year papers, and Prof Toh might give hints during lectures about certain questions too).
This was a pretty good semester for me, and I’m content with the grades I got. 🙂 Merry Christmas everyone!