Thursday, December 19, 2013

Module Review: 2013/2014 Semester I

Note: Please note that there might be differences between modules in semester 1 and semester 2

======================================================
======================================================

CS2101 - Effective Communication for Computing Professionals (4 MC) [Twinning module with CS2103T] (No Exam; 1 Final Writing assignment in class and 1 Final Group Discussion)
Usual communication module. I must say some materials were very interesting and really help me to realize how to be a better speaker. It could have more relevance to Software Engineering module by having more real life experience, though, like how to present your software, because most of the presentations we did were standard presentation with guidelines on what to present, which were quite different than pitching videos you see around. You will be assigned to a group (assignment depends on the teacher - in general, you will be mixed to other nationalities and genders, some teachers mix students according to programming expertise as well in addition to nationalities) which would last for one semester and the same group applies to CS2103T. This is one part of module twinning. The other part is that your group's presentation will be on your group's software developed in CS2103T.
Workload: 2 major presentations, some graded blog writing and commenting on others' blog writing, report writing, making the developer guide of the software you make in CS2103T, many graded impromptu short presentations after most lessons, one final writing assignment (closed book) and one final graded private group discussion.

CS2103T - Software Engineering (4 MC) [Twinning module with CS2101] (Open Book Exam)
A very good module to introduce you to software engineering, and awesome prof. It opens your mind to what software engineers have to go through in making a software. The tutorials are quite tiresome since you need to reflect each week's lesson to your team's software. The module needs consistent programming effort to ensure you could finish the software without sleepless night nearing the deadline. Experienced team members are good to have in this module (much depends on luck in your CS2101 group assignment). The module also have participation points which come from in-lecture questions and SMS questions.
Workload: One software (on some variation of to-do application) by end of semester with many interim deadlines during the semester, graded weekly tutorials and in-lecture questions (you will get full mark for your final score from these as long as your total score is above 80% than maximum points) and one final exam (kind of a recreation of how you design your software and how you do some things in making your software, e.g. unit tests and patterns).

CS2105 - Introduction to Computer Networks (4 MC) (Closed Book Exam - Cheat-sheet allowed)
Interesting introduction to how the Internet and network system works, though very basic and won't get your very far unless you take the next modules in Networking. There were 3 programming assignments. The first one was quite easy, but the other 2 were very abstract since you are asked to simulate some real Internet system. On top of that, they are kind of built on top of last year's (semester I) assignments, so they could only get harder. Most of the materials taught could be read from the book and there were not much participation points from tutorials.
Workload: 3 programming assignments, one mid term test and one final exam.

CS2106 - Introduction to Operating Systems (4 MC) (Closed Book Exam)
Bear in mind I took this module when it was taught by a guest lecturer (Bic Lubomir), so the module might change greatly in the next semester I. To start off, I must say the lecturer is very slack. He said in his first lecture that he doesn't really like live lecture and all his lectures are already in the webcast and he does not mind if you don't come for lectures. So yeah, fun module. The materials taught were from his book. Tutorials were also from his book. He made his e-book available for us, so it was nice of him. I must say the things that I learnt, though, was interesting since it helped me to understand how OS like Windows and Linux works. The programming assignments were kind of hard but at the same time interesting since I learnt that those stuffs on Windows are not that simple to be error-free (thanks, Microsoft). There were 2 programming assignments. Tutorials were required to be submitted online by every Friday to be marked, although correctness of the answers were not marked.
Workload: graded weekly tutorials (13 of them), 2 quizzes (one near mid semester and the other near the end of semester), 2 programming assignments and one final exam.

CS3230 - Design and Analysis of Algorithms (4 MC) (Open Book Exam)
A hardcore algorithm module. CS2020 helped me to understand many stuffs (not sure about CS2010, although I believe the materials taught are more or less the same). One of the profs who was the module coordinator just started teaching the module again, so the workload and materials were dynamically changed along the semester. Hardcore stuffs, though I think it sparked my interest in understanding algorithms more. There were programming assignments on algorithms and graded homework on the materials taught. Tutorials have participation points which require you to answer the tutorial questions on the board. The bell curve is quite tough since most people get full mark or near it for all assignments and homework. The final exam was very difficult for me since the questions are of you-know-or-you-don't kind of questions, and I belong to you-don't.
Workload: 3 programming assignments, 3 graded homework, tutorial participation points and one final exam.

Total MC - Sem 3     : 20
Total MC - Sem 2     : 26
Total MC - Sem 1     : 20
Total MC - Overall    : 66