In a blaze of adrenaline, fatigue, and sheer doggedness, another semester in NUS flew by, without my taking the time to even appreciate and reflect on what I was doing. Well this is my appreciation and reflection part, seeking closure while telling the world what happened.
To provide some context, in y1s1 I had taken 5 modules all of which I had scored A and above, thus setting personal expectations, while in y1s2 I also took 5 modules, of which I got B+ for my 2 math modules, thus failing to meet said personal expecations. Added to that was the school’s expectations for ddp students which I barely met, so I was very sad then, especially due to the fact that in reality, I was overwhelmed by the final exams of the math modules, something which a (still somewhat decent) B+ score did not reflect. The second special semester restored abit of confidence in me with an A and A- in biology modules, but I ended up thinking that if I could not do very well in math, I might as well cover more modules; ie, if not depth, perhaps breadth. Also encouraging me to adopt this idea was the fact that a friend I admire very much, fang, is also doing this: taking 6 to 7 modules every semester while doing well enough for them. In short, I decided to try taking 6 modules this semester. Without further ado, here are the reviews for them.
CS2102S Database Systems
Lecturer: Stephane Bressan
My Grade: A+
1/4 of what I call the “dream combi”: CS2102S, CS2103, CS2105, CS2106, something which Zi Han and Zi and who knows who else have taken this semester. Well, if I wasn’t doing a ddp, but just a pure cs degree, it would have been more probable for me to choose such a combi. But as it stands, I have to balance with my math modules and settle with 3/4 dream combi.
As the module summary provided by NUS probably details, CS2102S teaches the basic concepts in database systems: SQL, ER-diagrams, TRC, DRC, Relational Algebra, Functional Dependencies, and Normalization. I might have missed out some other minor topics, but this list is probably for those who already know something about database systems and want to find out what they are getting into. It somewhat surprised me that a good working knowledge of logic is very important for this module (in fact, for everything from TRC to Normalization), so if you floundered in CS1231, you might like to review it before taking this module. That said, if you’re one of the people like me who found CS1231 a “free-frag module”, congratulations, you’ll probably love CS2102S.
The lecturer is Stephane Bressan, who is much more decent than the average NUS professor I have come to expect. To me, he comes off as a little stubborn, but also kindly and very approachable. Speaking clearly is not a problem for him (and it saddens me to say that in that little imaginary list of judging criteria in my head, “speaking clearly” is now a very important and crucial component in rating NUS lecturers). He is also very experienced and relaxed when lecturing, his lectures are decent, and he allows webcast. In short, he gives me the confidence that I am in safe hands, and that he is really out to help as many of us learn as much as possible.
Workload consists of SQL labs for the first three weeks, followed by tutorials for the rest of the weeks. Also, –IMPORTANT– there will be a major group project, so be sure to take that into account when planning your modules! For my batch, it was any 5 people from any tutorial group, S or non-S option is fine. So you may want to take this module with your friends, if you prefer to do group projects with friends. However, I do not guarantee that this format won’t suddenly be changed!
Anyway, the SQL labs are for you to get used to writing SQL, which will be the bread and butter of this module, while the tutorials cover the rest of the topics. The group project actually, in my opinion, does not require too much fanciful database knowledge. Rather, it provides an “opportunity” for the students to learn PHP on their own and to gain experience in managing larger projects and working with others.
Oh ya, and I nearly forgot there are Gradiance assignments, which are just online assignments you do yourself and which will be graded. They don’t take up much time though, so I often forget about their existence and then end up having to suddenly remember periodically and then frantically rush to check if another one is out. For me, more practice is always welcome, so it’s good. Also to be said is that independent learning is definitely a must; there will be no one monitoring your SQL labs, chasing you for tutorials, or even teaching you how to use PHP (although there is a brief guide I think). Although this (knowing how to learn independently) should be the case for a university student anyway.
Personally I already have 2 years of experience in databases and basic SQL, so this was a module I originally expected to do well. But after the first few weeks, I realised that what I was going to learn went far beyond what I had already known. Well, it is no matter! With diligence I easily made up the remainder, and also with my strong grasp of logic and SQL basics, this module really was the least of my worries. The midterm test went fine, and the finals, seriously, compared to the previous years’ finals, was such a piece of cake that I finished it in an hour at a relaxed pace. The previous years’ finals all had a sprinkling of really nasty, evil questions here and there, so I was really surprised/shocked during the final exam when I completed the paper, did not see anything hard, looked up and realised I still had an hour left. I checked through the paper thoroughly many times and in the end, left the exam hall feeling that I should get an A+ and it would be a big disappointment if I didn’t. Well, thankfully I did!
CS2103 Software Engineering
Lecturers: Bimlesh Wadhwa & Damith Chatura Rajapakse
My Grade: A+
It is a worrying sign when I have to use the NUS website to check the full names of my lecturers. At least I haven’t descended to the level where I have to use the website to check the name of the module.
Well, CS2103 is another 1/4 of the dream combi. There are two parts: the first half, lectured by Bimlesh, covers UML, which, simplistically speaking, are a set of diagrams for you to reason about and communicate ideas related to software engineering. The main diagrams covered are use case diagrams, domain models, sequence and collaboration diagrams, and state charts. The second half, lectured by Damith, covers things like implementation, testing, patterns, and processes.
As the cliche goes, software engineering is not (just) about coding, it is about processes. Well, and as should be expected, there will be a –IMPORTANT– major group project for students to apply what they have learnt. (Again please bear this in mind when planning modules.) Unfortunately, to me, this “major” group project, while major enough to take off a significant amount of my time, was not major enough to benefit from UML diagrams, and they came off to me as more of a pain in the ass than helpful. Still, I don’t think it is feasible to make the project any more complicated than it currently is, as it is already very time-consuming. So I guess we just have to strike a balance and hope for a tougher and more relevant experience in the 8mc CS3215 Software Engineering Project, or whatever the equivalent is for the other people in various streams.
Now for the sad part: I skipped most of the lectures.
At first I went regularly, but as the projects started pouring in, I sometimes went for days without sleep. I didn’t think that going to a lecture after 30 hours of not sleeping would do me any good, so oftentimes, based on that logic, I just decided to skip lectures. But from the few times I went, my impression is that Bimlesh has a really, really soothing voice that can put people into a good sleep.
Also added to that is the fact that if you’re not enlightened enough to see the purpose of UML diagrams, you might think that they are just a big waste of time. Damith, on the other hand, is more lively and interesting, lectures on more seemingly-important topics, and spends alot of time on the “big picture”, ensuring that you understand why you are learning what you are learning. He might be up there with some of the best NUS lecturers I have ever seen, but due to the fact that I only went for, like, two of his lectures, I don’t think I should be qualified to boldly make such a statement. Yet.
There are tutorials for students to practise the UML diagram drawing, and later the implementation and testing stuff, which were sort of helpful but always a pain (for me) to do while still grappling with understanding the purpose of these strange UML diagrams. Well, I guess this is due to the fact that unlike CS2102S, I had totally no experience with the UML diagrams of CS2103. If I were to do CS2103 all over again, it might be a much easier experience for me.
If you haven’t already seen the –IMPORTANT– tag, here it is again: there will be a major group project! For my batch, 4 students per group, must be from the same tutorial group, so if planning to take this module with a group of friends, ensure you have a common tutorial slot and make that your first choice when tutorial balloting. Again, this may or may not change suddenly, I give no guarantees.
Project may be done in Java, C++ or C#. For my batch, the project was a specific case of an inventory management system (but managing just books and videos in this case). As I have said, it is too small (for me) for UML to be of much use, (although since it is compulsory, we still gain some practice) but big enough that I can’t just spend an afternoon to finish the coding. I think probably the more useful things learnt are how to manage larger projects and work with people, and experience in inventory management systems. Domain knowledge is always useful if you’re gonna be a software engineer next time.
In the end, of my three teammates, YY and Dom did the GUI, while I did the application logic and data layer coding. Zi Han did an interface for the db, but seemed to be caught up in alot of other projects as well, though whenever he appeared, it was to zhng the project in o.Oly ways that none of us could achieve. So with each of us covering a specific area and Zi Han providing the “Midas touches”, we finally rushed out a decent-looking project (which sad to say, we were so nua that we started it quite late).
The project presentation was rather worrying, cos our tutor Lu Zheng, usually very friendly, suddenly grilled us so bad that it felt like we had done everything wrong, although later corroboration with other teams revealed that he had done the same to them as well. But we did not get to see the score, so I went into the finals not knowing if I just needed to do decently to get an A, or if my highest possible grade was already a B+.
Oh ya, I forgot to mention that the midterm was really “unorthodox”. We had MCQ with negative marking, and for each question there may be multiple answers. Added to the fact that software engineering is by nature a topic with subjective aspects and we had a really tough time. I did decently well for the midterms, and by sheer chance me, Zi Han and YY all got the same marks, though in different “ways” (due to negative marking). Eg, I was the “risk-taker”, with the most number of correct and wrong options, which cancelled out to give the same score as Zi Han, with slightly less number of correct and wrong options.
In the end the finals was much easier than I had expected, though it wasn’t really “standard”. I walked out the exam hall not knowing what sort of grade I was going to get at all, and it was a really huge surprise that I actually managed to get not just A-, nor A, but A+! Given that my midterm grade, while decent, was not really of A+ standard, it was probably a good showing in the finals and project that helped.
CS2105 Introduction to Computer Networks
Lecturers: Anand Bhojan & Akkihebbal Ananda
My Grade: A
The third 1/4 of the dream combi, and once again I had to check the NUS website for the full lecturer names. This module covers the layers in this order: application, physical, data link, network, transport, and it also covers some security topics. As in the title, the module is meant as an introduction to computer networks, so if you’re like my friend Dom who expects an in-depth treatment of certain network topics, like maybe syn poisoning, or maybe you want to know in great detail about p2p architecture, or something like that, be forewarned: this is not that sort of module.
Application is covered first because there will be two projects, either done individually or in pairs, which require the knowledge. The projects are not too difficult (depending though on whether you know the material well and whether you are a good programmer), for my batch the first one was a parallel web crawler and the second was an instant messenger. Well, for both I paired with Jia Hao, and we did the first in three days, while the second was done in a day and a half. And one-third of the time spent was just for documenting. But if you’re really stuck, as long as you can produce something that sort of works you can get plenty of the marks, and the total weightage (for my batch at least) is 10% anyway, so it won’t be the component that differentiates an A student from a B student.
Lectures were really a shock to me, it was like back to the old JC Computing days where there was alot alot of breadth and very little depth. For me, that’s bad, cos I know next to nothing about networks, and if you tell me, say, there are LANs, WANs and MANs, I don’t even have an appreciation of what those are apart from them being some sort of network. So they are nothing more than terms to me, and I can’t remember stuff like that.
Also, the lectures don’t cover everything, you are supposed to read this (one-inch thick?) textbook, which will provide greater detail for the various topics, details that may be tested. However, that said, it will be very, very time-consuming to actually read through the book as we are supposed to, and I suspect not many students actually do. (I only read some parts.) So although there isn’t a major, time-consuming project like CS2102S and CS2103, CS2105 might actually be the more time-consuming and challenging module, although I haven’t taken CS2106 yet to judge. Well, that’s why I call them the dream combi!
The only rest you’ll get if you take it will be in your dreams.
Prof. Anand is an ok lecturer, while Prof. Ananda is more “harsh” in my opinion. That is, he doesn’t give breaks, and he lectures for the full 2 hours. (And there I thought LSM1302 was tough.) He has explained to us the reason why (too many things to cover, we need to be disciplined enough to pay attention for 2 hours, etc.), and I can understand, but sadly for me, I can’t sit still for 2 hours, especially when the lecturer is talking about all these things that I don’t really understand. Personally, I think I would have benefited more from hearing less, hearing more detail about each part, getting more of the big picture, and also getting a break. But then that’s just my preference, I can’t argue with an experienced lecturer.
Near the end of the semester, I also started skipping lectures due to being overwhelmed with too many projects. The profs are quite strict about having no webcasts and being there for lectures or “paying the price”, and I really did pay the price T.T with a big gaping hole in my knowledge of the network and transport layer. Thankfully, I have abit of cryptography and mathematical background to tide me through some parts of the security part. I tried to read the textbook but it really went into too much detail and was so long that I couldn’t finish reading it.
Btw, I am aware that of “Anand” and “Ananda”, one is a given name while the other is a family name, but due to the similarities of those names, I always think of the profs as “Anand and Ananda”. (oops!)
Tutorial answers are also not given out, another aspect of the “be there or pay the price” philosophy. (In short, you really should not skip any lectures or tutorials!) But due to the tutorials being very long (and still, barely scratching the surface of what we are expected to learn anyway), there was not enough time to go through all the questions, so those that weren’t gone through will have answers uploaded. Due to the overwhelming time spent on (CS2102S and CS2103) projects, this module was the first time that I went to a tutorial without having first done the tutorial questions.
In the end, I was very, very underprepared for my exam. I had skipped many lectures, not done a few tutorials, didn’t have good background knowledge, not enough time to read the textbook, and not enough time in general to get myself up to scratch. In the words of my friend James: “zetsuboushita!” Despair and depression levels were high, and I even went to calculate what my CAP would be if I got a C. Thankfully, it wouldn’t drop below 4.5, so that was some sort of a morale boost. Also, since I did very well for midterms (nearly the highest mark in the cohort), which btw covered app and physical layer, I had some cushion to fall back on.
Knowing that doing badly wouldn’t be the end of the world yet, and having no artificially-high expectations to meet, I buckled up, reviewed the lectures and tutorials carefully, and made sure that for the topics that I knew, (app, physical, data link, security), and the stuff covered in tutorials, I will definitely do well in.
In the end, my strategy worked. I quickly flipped through the exam paper to see which questions I could do and how much time to spend on them, and then made sure that I will score well on those questions I could do. There were a few parts which I had no choice but to leave totally blank, hoping that my midterm will cushion those, but majority of the questions were things I could do. When I left the exam hall, I did not know what grade I would get, but damage-control-wise I certainly succeeded, so it shouldn’t be something as bad as a C, though I certainly wasn’t expecting an A either. So when I saw my A grade, that was (half of) the best Christmas present I could get!
(See below for a second module I also thought I’d buang.)
MA2213 Numerical Analysis I
Lecturer: Chu Delin
My Grade: A
Previously, this module had been a math elective, but during my batch, it became a core module for applied math majors. However, the powers-that-be did not have the foresight to see that making such a change would result in a huge demand spike, and added to the fact that it was only offered one sem a year, I think I ended up spending around 400-500 points to get this module. (Not sure the exact value, but you can dig it up in the CORS archives I think.) Well, at least they’ve since changed it, and now are offering it both sems a year, which probably would be good news to those who didn’t manage to get it this sem.
For my batch, the topics covered were computational error, linear systems, interpolation and least squares approximation, integration, and solution of nonlinear equations. Of course, all from a numerical analysis point of view. On paper, this may seem like a lot of topics to cover, but actually, it feels like a much lesser workload than the usual module. Tutorials also come once every two weeks, with every other week being spent messing around with matlab. Of course, that doesn’t mean aimless messing, but rather using matlab to explore concepts such as computational error and whatnot, and culminating in an individual project on writing matlab code for gaussian elimination and LU decomposition, this being a numerical analysis module after all.
Lectures are alright, the lecturer Chu Delin has some PRC accent, but it’s mild compared to other Chinese lecturers, and nothing that greatly impedes understanding what he is saying. His lecturing style reminds me of Tay Tiong Seng: he will go through each line slowly and carefully, and repeating it several times for good measure. Then at the end of each subtopic, he will go through it again to make sure you get the whole idea, the big picture so to speak. 8am lectures are usually a haze of confusion, but for MA2213, I found that even if I had some lack of sleep the night before, the slow pace and clear lecturing meant that I will understand everything. And since MA2213 is not extremely easy like CS1231, I am indeed grateful to the prof for such lecturing. He is to be commended and recommended!
The midterm test was extremely “unorthodox”, though not in the same way as CS2103. Many of the questions look weird, but once you understand what it is asking, and if you know the concepts well enough, they can be solved in one or two steps. I remember one question asking for which values of a certain variable will there be no row exchange using partial pivoting. I checked the first step, and there will always be a row exchange. At that point I felt very o.O and wondered if there was an error with the question. I raised my hand and asked him; no there was no error. In the end he confirmed after the test that there was indeed row exchange for any value and even said in a firm voice “Do not complicate matters!” that made me burst out laughing – he looked so comical saying that!
For the final exam, the prof even took out the first and last topic and a few subtopics in between. Given that there was no cheat sheet, I guess it was good or there would be way too many formulae to memorise. But this made the breadth even narrower. This, it must be stressed, in no way implies an easy time or a free A, because with less topics to cover, it means that for those that -are- tested, we really, really, need to know them very, very, VERY well. Plus, the presence of Mr. Bell Curve must not be forgotten.
The sad thing was that I fell sick on the first day of the exam, which was MA3218 finals, and was still sick the next day, which was this MA2213 finals. To my credit, I did not panic or stress myself out, but tried to get as much rest as possible and hoped to rely on my usual hard work and experience to pull me through. I met Guo Qing on the bus, and somehow sitting beside a beautiful girl does lift one’s spirits abit, though not enough to dispel sickness.
I entered the exam hall and looked at the paper, and omg, apart from the first and last question, the rest seemed very alien to me! (Indeed, neither an easy time nor a free A.) But slowly, I plodded through the paper, read the questions carefully, thought as much as I can about the concepts and how to apply them, and finally saw enough light bulbs to answer every single question. In the end, after checking with Joseph, I made a super careless mistake on one part, and I thought maybe that cost me an A. But as it turns out, Mr. Bell was kind enough to me this time.
MA3205 Set Theory
Lecturer: Johanna Franklin
My Grade: A-
Set Theory is a branch of mathematics I studied independently during my NS days, and that I grew to love and fear at the same time. The module starts with each of the axioms of ZF, exploring the applications and implications, then goes on to the well-known ordinals and cardinals, before finishing with AC, set of reals, Continuum Hypothesis, and then rounding off the whole thing with discussions on ZFC in general.
In my opinion, I would have liked it to stop at cardinals. This was a module with both breadth AND depth, and by depth, I really mean depth. Some of my weaker friends seemed to start struggling a few chapters into the module, and by Chapter 5 (Recursive Definitions), I was myself lost. But I was supposed to like and have a good background in Set Theory, I told myself, so I really gritted my teeth and put in huge amounts of effort. By the first midterm test, which was up till Chapter 6 (Cardinality of Sets), I knew the first six chapters perfectly well.
Then, I started getting a little lost here and there again, and at Chapter 10 (Linear Orderings), I again fell flat on my face. The concept of linear orderings itself wasn’t so hard, but some of the “related topics”, eg dyadic numbers, and the theorems, were totally foreign and difficult to me. By Chapter 14 (Rank of Sets), which was where the second midterm test was up to if I recall correctly, I was again well and truly lost. This time, there were somewhat too many chapters for me to study into as much detail as I did before, and I only managed to understand the many theorems (but not the proofs) by the time the test came around. It turned out that I had forgotten a very crucial and innocuous looking theorem which would have enabled me to easily solve the last question, but even by making a mess of that, I still did somewhat well enough for the test.
And then CS2102S and CS2103 projects came pouring in, and I ended up skipping some of the last few lectures, which was totally a BAD thing to do. From Chapter 16 (Cardinals) onwards, I did not understand anything much, and I couldn’t just by reading the lecture notes themselves. The math was so difficult that oftentimes it took me an hour or two just to figure out the proof of one theorem, and I just couldn’t afford that kind of time. Even without studying the proofs at all, but just learning the results themselves, was a great challenge for me.
The lectures themselves cannot be faulted, and the lecturer is very good. JF (that’s what we call her among ourselves, and I never figured out how to address her directly. Dr. Franklin?) is very friendly and approachable, and her lectures are quite fun and clear. (Though sometimes she makes really bad jokes.) She is the first lecturer I’ve visited for consultation, which says heaps about both the difficulty of Set Theory, and her approachability. As a side note, she also has a very melodic voice, reminding me much of zzzz.
Definitely a recommended lecturer, though I’m not sure how long she’ll be staying here.
Tutorials are also by JF, though she never manages to finish doing through all the questions (or maybe she did once, I’m not sure). She keeps spending alot of time waiting for us to participate, but sad to say, with the tutorial culture in NUS, that’s quite hard to achieve. Sometimes I participate, other times I think, hmm, I don’t want to be the guy saying the answers to every single question, so in general I just try the ones that are really challenging. Wait, you might say, isn’t Set Theory supposed to be really hard? Why are you sounding like the questions are very easy now? The answer to that is that the theorems and proofs are very hard, but some of the questions (which may just require direct application) in the tutorial ARE easy. Some are harder, but with enough time, can be done. Unfortunately there often isn’t enough time in math exams.
But no, in MA3205, it turned out that we DO have enough time during the final exam.
MA3205 finals was after my CS2102S finals, which in turn was two days after MA2213 finals. It might sound like I would have enough time to recover from my illness, but one in general does not recover from illnesses by studying hard for major exams. I felt somewhat alright by CS2102S finals, but despite the very easy exam, I was feeling abit woozy after that, and I did not have time to do a final revision for MA3205. And then, Something Happened, sending my morale dropping to 0. Great, did not do a final revision, feeling physically weak and having no morale. I walked into the exam hall with a brave face, but the questions, as befitting a Set Theory Final Exam, were not really a piece of cake. At least some of them weren’t. Most were standard questions I can do even in the most chui of times, but there were just the few I didn’t study for, and the few difficult proving ones in which my tired mind couldn’t even comprehend entirely, let alone mix it up with the many theorems I was struggling to remember.
I definitely had more than enough time looking at the questions I couldn’t do, because there were so many of them.
Although I hadn’t done the CS2105 finals at the time, I can tell you now that MA3205 finals was the one which I had the worst feeling about right after the exam. It was only my previous experience with MA1104, where I discovered the concept that one only needs an A to negate a B- for CAP 4.0, that saved me from despair. Thankfully I had enough time to recover from depression after that to brace myself for CS2103 and CS2105 finals.
So my love-fear relationship with Set Theory remains at status quo. It was one of the modules in which I had the most number of friends taking with me ever though, and I made some new friends along the way. In the end, I was wildly surprised that I had actually gotten as good as an A- for this module, which makes up the other half of my best (and only) Christmas present this year, along with the CS2105 A. (see above)
MA3218 Coding Theory
Lecturer: Ma Siu Lun
My Grade: A
This is the first time that I’m taking a module with a lecturer that I’ve previously taken another module under. I did MA2101 Linear Algebra II under Ma Siu Lun the previous semester, and due to illness (oi! Why do I always fall sick during prof Ma’s exams!) I had gotten a B+ for that. Well, this time Coding Theory, despite being a level 3000 module, isn’t as difficult as MA2101 was, and I was hoping to banish the ghost of my past fears.
Coding Theory is often misunderstood as cryptography, because of the word “code”. In fact, it is about channel coding, which is “the process of encoding [a] message again after source coding by introducing some form of redundancy so that errors [that occur when transmitting the digital message across a noisy channel] can be detected/corrected”. This is by far the most important statement in the lecture, and I always make sure to read it when I’m doing revision.
The more astute ones may probably already be thinking of repetition codes, as I did on the first day of lecture. But it is inefficient, and so we embark upon a course on codes in general, linear codes, and special types of linear codes that attain certain bounds. The course ends with a preliminary discussion on cyclic codes, which are also a special type of linear code, and which are the most widely-used types of codes today. MA4261 Advanced Coding Theory is supposed to pick up from there, but apparently it seems now that it may not come to pass.
Well, I think I’ve described Ma Siu Lun’s style of lecture under the MA2101 section, so in short I’ll just say that I feel he is a very, very good lecturer except with an accent that needs some getting used to. MA3218 was a blast, and I was generally able to follow everything except for a few tough proofs about the bounds. It turns out prof Ma is also a very good tutor, and despite the very long tutorials he sets, he is generally able to pace the lesson so well that he can finish on time. The midterms, in true Ma Siu Lun style, contained “seen” and “unseen” questions, as do the finals, and I am pleased to say that I did quite well for the midterms, though I made some very stupid careless mistakes and even misread the final question.
One thing I found hilarous was prof Ma’s propensity to set hints in tutorials and even exams. During the midterm exam, apparently after pacing around the class and reading the student’s attempted answers, he found that so many students could not do one of the questions that he just announced a hint on the fly!
Unfortunately I fell sick the night before the finals. Feeling that terrible sense of deja vu, I somehow managed to stop panicking, revised what I could, and went into the finals with the aim of salvaging as much as possible. With the experience of MA2101, I was already somewhat skilled in the art of Solving Exam Questions While Sick, and once again, I breezed through the “seen” questions quite easily, having followed the lectures, done the tutorials, and in general kept up with the classes.
Apparently my friend Stuck had managed to spot all the “unseen” questions, and so he had already prepared the solutions beforehand. (I bow to his utter proness!) As for me, I did not even realise that one of the questions was talking about a ternary Golay code, and so I proved everything from scratch. In a way, I should be (and am) proud of myself for having the maturity to do such things, but on the other hand, it goes to show how chui I was. I flopped on the other “unseen” questions, and just did what subquestions I could to get as many marks as possible. In the end, I corroborated with Stuck that the exam paper was in fact very easy, and so I thought I’d lost my A there too. Once again, Lady Luck/Mr. Bell must’ve smiled on me.
——
So those were my 6 modules for year 2 sem 1. The coming sem I think I’m going to take these 5 modules: CS2106 Operating Systems, CS2301 Business and Technical Communication, CS3230 Design and Analysis of Algorithms, MA3252 Linear and Network Optimization, and ST2131 Probability. Yes, “only” 5 modules. I nearly died while doing those 6 modules the past semester, despite what my good grades (which took generous helpings of luck) seem to imply. Anyway, I had been considering doing 6 modules again (though Jia Hao will conk me to no end for that) but in the end, timetable clashes and last minute changes ruled it out. (Whee CORS power. >.<) Well, I also have abit of CVWO to do, and hopefully this coming semester, I will actually go into exams 1) without falling sick and 2) having prepared sufficiently.
Lastly, I just want to say to anyone reading this blog that working hard isn’t a guarantee for success, but not working hard certainly isn’t going to help. I am proud of everyone who has been putting in lots of effort for what they want, and I hope that whether you guys succeed or fail, you will continue to work hard towards your dreams and desires.