AY1415: Sem 2

MA1521: Calculus for Computing

Summary: A compulsory Math module for all computing students. Dr Wang Fei was my lecturer and also the tutor for ALL tutorial groups; he single-handedly teaches the module “whether you like it or not” (in his own words). I think he’s really a nice and passionate teacher, demonstrates mastery on the topics he teaches, and has good lecture notes. I wasn’t able to catch up with him for the first one or two lectures, but quickly became used to his style. Lectures are two-hour each and webcast-ed, twice a week. I don’t know if there’s a textbook for this module, but you won’t need it if there’s one. Topics covered include pre-calculus, limits, sequences/series, differentiation/integration, and ODE.

Workload was light. Tutorial attendance is 5%, though my lecturer said he had students who skipped his tutorials entirely and still managed an A. He also claimed that it doesn’t care whether you attend his lectures/tutorials as long as you can understand the concepts. Midterms was 20%, and I got like 70+/100 which was slightly above average. The three homework assignments (15%) consisted of merely harder tutorial-like questions. Do them with friends. Finals is 60%. The easy questions were tedious, whereas the difficult questions were, well, difficult. His papers usually follow a standard format; rejoice, spotters! As usual for Math modules, two A4-sized double-sided papers as cheat sheets, but to be honest they’re useless; didn’t get to use them again. My friend who’s majoring in Math concurs; she prepares cheat sheets but almost never uses them (the preparation of the cheat sheets itself does reinforce what you’ve learnt though).

TLDR: PRACTICE! Understand the core concepts, and spam past year papers

Grade: B+


CS2100: Computer Organisation

Summary: I’ve heard rumours about how difficult this module was in Sem 1, and methinks it is true; the difficulty of the past year papers between Sem 2 and Sem 1 were heaven and hell. Most of my friends whined about the module in Sem 1 and got like C+, yeah. I took this in Sem 2 and was taught by Aaron Tan and Dr Soo Yuen Jien in the first half and second half respectively. I think they’re both trying to make the content as easy to digest as possible. Don’t buy the textbook though. I personally clarified with Aaron Tan and he said it wasn’t necessary for the course, but my friend did and regretted. The concepts are actually relatively easy to comprehend, and the slides alone are sufficient for this module. Topics covered provided me with knowledge of the literal physical limitations of computing, and how people managed to work around these limitations through clever little ways. In my opinion, this is among the numerous CS modules which require students to understand the content, rather than simply memorizing via rote, and work out questions based on your understanding of the topics.

Workload was light. Tutorial attendance is 10%, so do attend them. We had 4 assignments (10%) and weekly labs (10%), but they were really straightforward and a marks-giveaway. There were two term tests however (15% each); a midterm and towards the end of the term. I made multiple careless mistakes and got 26/30 in total, while the median and mean were both around 20/30. Finals is 50%, and the questions were clearly crafted to test your understanding. We’re allowed two A4 double-sided pages of cheat sheet, but my cheat sheet was a quarter A4-size of stuff that I wasn’t confident of committing to memory, and I didn’t really use it other than for a calculation question which required one of the formulas.

TLDR: Understand the concepts, know the definitions, and do your tutorials

Grade: A


CS2105: Introduction to Computer Networking

Summary: A core module with relatively little content. My lecturer was Dr Zhou Lifeng, and it was his first time teaching this module. He’s quite a funny guy though; he often uses memes in his slides and examples, and most of the girls from China seem to like him. In one of the earlier lectures, he literally coded a simple Java UDP server and client from scratch live, which was quite cool. Again, the slides alone are sufficient, no need to buy book. Topics covered include delays, UDP, TCP, security, OSI layers, some easy math formulas and very basic networking concepts.

Workload was moderate. NO midterms yay! Tutorials were just plain straightforward, but tutorial attendance is 10%. I attended the lectures because my friends were there, but the slides are sufficient. The assignments contribute up to 30%. All of them were Java coding assignments which require you to implement basic networking/encryption between two programs. Most people obtained perfect scores, but I got 27/30 due to laziness on my part (which I regretted). They were admittedly time-consuming, and it’s always advisable to complete tedious coding assignments early. Finals (60%) was a mix of straightforward MCQs and concept-testing questions.

TLDR: Don’t be complacent just because the content is easy

Grade: A


CS2107: Introduction to Information Security

Summary: Similar to CS2105, the lecturer for this introductory module, Chang Ee-Chien, happens to be teaching this module for the first time. This module is a pre-requisite for CS students who want to specialize in information security. It aims to provide students with a broad overview on information security, and scratches the surface of concepts like encryption, hash, attacks/vulnerabilities, network security, and software security, never truly going in-depth for each of them. Easily a self-read module. No webcasts, but honestly the lectures weren’t very useful. Lecture slides are sufficient, although they’re somewhat minimalistic.

Workload was light. Midterms (15%) was conducted rather sloppily in the lecture hall; people were seated next to each other and copying from one another, resulting in most people getting full marks (I was below the 25th percentile). The hands-on assignments (20%) include analyzing network packets using WireShark, SQL injection and email-spoofing, which were interesting albeit simple. There’s also a 5% group presentation on selected topics, and most groups get 4% at least. Finals (60%) consists of leveled-up tutorial questions. Similar to CS2105, the lecture content was super easy, but finals were comparatively difficult. Don’t be fooled by the lecturers when they say “easy one la”!

TLDR: Understand the concepts and try them out!

Grade: B+


LSM1301: General Biology

Summary: A fulfillment to the science modules requirement for CS students, and a bridging module for students majoring in Life Sciences without ‘A’-levels Biology. This is basically a watered-down version ‘O’-levels Biology (I took ‘O’-levels Biology). I was taught by plant biologist Prof Loh Chiang Shiong in the first half, and Dr Wu Jinlu in the second. Both are truly passionate in teaching, but Dr Wu’s accent was often difficult to comprehend. Prof Loh’s a cute old guy who would bring interesting plant samples into his lectures. A couple of times I noticed him loitering around the plants outside the lecture theater a few minutes before lecture, looking for potential plant victims. Topics covered include ecology, biodiversity, plant and animal form and function, evolution, cell structure and function, DNA, heredity, chemistry of life, gene expression etc.

Workload, other than a group project work, was light. The group project’s deliverable include a video (4%), a report (4%) and a real-life 3D model of a cell (4%); a fun-filled chore. The rest of the assignments made up 28% of the remaining CA, and mostly consisted of simple questions. Finals (60%) was a set of 60 MCQs and open-book, covering everything taught in the semester. I printed out the entire set of notes and found that lecture notes were sufficient, no need for textbook. The questions were mostly really easy and straightforward, so bell-curve is expected to be steep. In Sem 2, the class was filled with students who were anything but Biology majors.

TLDR: Quite content-heavy; try to understand as much as possible

Grade: A-


GEK1901: Critical Thinking in the Information Age

Summary: (RANT) This is such a bullshitting module. GEK1901 is a newly introduced communications module from my batch onwards as a University Level Requirement GEM, because apparently computing students can’t think. I should have taken this in grade-less Sem 1, but I wonder why I didn’t. I felt as if I had learnt nothing at all from this module, and almost everything was common sense. The workbin in IVLE was horrendously messy, with duplicated files and poor organization.

Workload was non-existent in the first half of the semester, but in the latter half we were bombarded by graded assignments weekly, from panel discussion (5%) to essay writing (40%!) and multimedia presentation (40%!) etc. Your presentations will be videotaped “for grading and future references”, ughhh.

TLDR: Take this in Sem 1 and S/U

Grade: B (S/U-ed)


Total MCs: 40 (16+24)
SAP: 4.5 (4.33)
CAP: 4.67 (4.55)

AY1415: Sem 1

MA1301: Introductory Mathematics

Summary: A bridging module for those without A-levels H2 Math; somewhat a revision of O-levels A-Math. This is probably one of the easiest modules in NUS. I was taught by Dr Ji Feng, who explained the concepts rather clearly. His 2-hour morning lectures were really dry though.

Workload was super light; just need to do a few questions from the textbook for weekly tutorial sessions, with attendance (10%) and ONE presentation of the solution to ONE question for ONE tutorial (5%). I remember the lecturer saying “no you don’t need the textbook”, then releases tutorials with only question numbers to the questions from the textbook. There’s no lecture notes or slides so you’ll have to attend lectures or watch the webcasts. Midterms contributed to a whooping 25%, I kinda screwed up and got like an average 18/25. Finals is 60%. We are allowed to bring up to two A4-sized double-sided papers as cheat sheets, but it turned out to be useless; didn’t need to use it for both midterms and finals.

TLDR: 
Spam textbook questions and past year papers.

Grade: A


CS1020: Data Structures and Algorithms I

Summary: Another easy module. The first half of the semester was allocated to neither data structures nor algorithms, but merely Java programming. The later part was more interesting, when data structures (linked list, stack, queue), algorithms (sorting, binary search), and time complexity (big O) were introduced.

Workload was light, and I didn’t do most of the tutorial questions unless I had to present tutorial solutions for that week. The lecture slides were sufficient to understand the concepts. The 5 take-home labs (5%) were a giveaway; I mean, “take-home” labs. Then there’s 4 sit-in labs (15%) and one practical exam (15%), 2-hour each, which were all really easy (the final practical exam’s solution was just five lines of code, yes FIVE). My midterms (20%) was a disaster; either average or worse. For finals (40%), they assess your ability come up with algorithms to solve simple problems.

Alternative: CS1010S/CS1101S > CS2020

TLDR: Do well for labs (35%). Practice using codingbat (recursion), project euler etc.

Grade: A


CS1231: Discrete Structures

Summary: Basically discrete math. Computing offers this in semester 1, while the math department covers this in semester 2. I was taught by Dr Bressan for the first half of the semester, and Dr Bryan for the second half. I preferred Dr Bressan for the formality of his proofs. Ever heard before the phrase “standing on the shoulders of giants”? Bressan subtly embeds his expression of hero worship of legendary characters in his notes and tutorials, eg. Euclid, Gauss, Hardy (by extension, Ramanujan), most of whom I am familiar with. Be prepared to do LOTS of proving (1+1=2, infinitude of primes etc). Topics covered include natural deduction, number theory, combinatorics and graph theory.

Workload was moderate. Tutorials and attendance are not graded, but I highly recommend you attend unless you can do every question in the tutorial. There is also project work (20%) where groups of 4 have to make a short video on a certain topic, eg. logic puzzles, mathemagic etc. Although it encourages self-learning to a very small extent, I found it a massive waste of time. Midterms (20%) was easy; in the prof’s own words, part of the test merely “constituted a test of minimum general knowledge”. Finals (60%) was quite different in flavor. The MCQ section consisted of relatively straightforward questions, whereas the short structured questions, despite their short solutions, require algorithmic thinking and proving.

TLDR: Understand the concepts taught in lectures. Spam past year papers.

Grade: A+


PC1221: Fundamentals of Physics I

Summary: A bridging and core(!) module for CS students without H2 Physics. My professor was Dr Tay Seng Chuan; an excellent teacher and a funny guy. Despite repeatedly emphasizing the fact that he is a computer scientist and hence may not be the best candidate to teach Physics, I personally felt that he taught this module better than anyone else could. No webcasts for this module though.

Workload was moderate, as both lab sessions and tutorials are once every two weeks. The fortnightly lab sessions entail a lab report (total 20%) to be submitted latest one week after the lab session, which was a chore to do. There are two midterms (10% each), which I placed 90th percentile in the first but average in the second. Finals (60%) was a killer, I couldn’t do most of the questions.

TLDR: Understand the concepts. Don’t rely on memorization.

Grade: B+ (S/U-ed)


PH1102E/GEK1067: Introduction to Philosophy

Summary: I took this as an elective solely because of interest. My professor, Dr Pelczar, delivered interesting lectures week after week. The content was rather well-structured, exposing students to some of the major topics of discussion in philosophy, and occasionally bringing to life the legendary characters who conceived of these ideas (you’ll see what I mean if you attend his lectures!)

Workload was somewhat light. Tutorial attendance is 10%. The weekly 200-word summaries were 5% each, culminating to 50%. I vividly recall spending up to 6 hours on the very first summary, then gradually took lesser and lesser time on subsequent summaries. My tutor admitted that the summaries were marked on the bell curve. I totally flunked the summaries and obtained around 36/50, while most of my tutorial mates hit >45/50. Finals (40%) was super easy, 20 MCQs including a couple of true/false questions. Most finished the paper and left the exam hall in less than an hour, yeah.

TLDR: Do well in summaries. Spam past-year papers for finals.

Grade: A-


MCs: 20
SAP: 4.88 (4.7)
CAP: 4.88 (4.7)

Qualifying English Test (QET)

16 July 2014
0930 – 1115 hrs

Incoming undergraduates who do not possess relevant English qualifications are required to take the Qualifying English Test (QET) in NUS. All polytechnic graduates, including myself, had to take the test. I was rather worried from the start; it had been three years since I last wrote an essay. After browsing various forums for last-minute tips, I felt ready for the test.

The requirement for the test is to write a 500-word essay based on a one-liner question in 1 hour 45 minutes. The question, if I remember correctly, was among the lines of “Do you think robots can be useful for elderly care in Singapore?”. We were also provided two short articles from online sources to reference from, which comes together with the test paper itself. It was kinda hard for me; I literally used up the entire 1 hour 45 minute duration.

When the results were released two weeks later, I heaved a sigh of relief as I achieved a Band 3, which means I am exempted from the English modules. Students who obtain Band 1 or 2 would have to take 1-2 additional modules.

Some tips from myself:

  • Plan your essay structure. I hastily sketched a rough structure on a blank page. What I did: introduction -> 2 supporting points -> 3 argumentative points -> conclusion
  • Remember to answer the question given. In my example, the answer “Yes” or “No” should be clearly stated somewhere in the essay, either the start or towards the end.
  • Use in-text citations whenever you reference the text provided. I used APA’s in-text citation.
  • Bombastic words aren’t necessary. I made do with really basic vocabulary.

Origins

Hello, I created this wordpress to document my thoughts and some information regarding modules which I would tackle as a computer science student in NUS. I do admit this was inspired by several other personalities who had done the same. On a personal note, I intend to use this space for self review.