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)