CS1010: A look back

nus
c

General information

  • Module: Programming Methodology
  • Taken in: AY2021-2022 Semester 1
  • Professor: Wei Tsang Ooi
  • Expected grade: A → A+
  • Actual grade: as expected

Module review

I had prior programming experience, so my perception of the module might be different from yours.

The module teaches introductory programming, based on the use of the C programming language. So, in more details, students are taught about the most basic of programming, then basic C syntaxes, C good practices, and some well-known and frequently used algorithms (binary search, sorting, backtracking, basic graph-searching algorithms, etc.).

Just looking at it, you can well understand the workload of this module is incredibly high, and the learning curve is really steep. I mean, seriously, I really went from studying for loops to implementing DFS within a month. I had known those algorithms beforehand, so it wasn't much of a problem to me, but I know a lot of students really struggled and spent hours or even days working on assignments that are just worth 3% or 4% of the total grade.

And even if you have prior knowledge, that does not necessarily mean you will pass the module with absolutely no effort. C is such a low-level programming language that it offers you the ability to directly deal with memories, and that memory and pointer stuff is really confusing, even for students with prior experience, trust me. Also, Prof Ooi's CS1010 advocates good practices, so there is a massive list of banned and discouraged syntaxes that did take me a lot of time to get used to.

However, prof and TA's are very helpful. Just like many other CS courses, this module has a StackOverflow-ish Piazza room where the teaching team was really active answering questions and providing feedbacks (even when some questions were so dumb and poorly written that I'm sure they wouldn't get more than a score of −3 on StackOverflow).

Some of my classmates also asked me questions, and while the majority of them were clear and very good, I have to admit some are so bad it literally depressed me. And prof and TA's had to deal with such questions the whole time. That's just to show their dedication to the module, which I appreciate a lot.

By the way, if you're gonna take CS1010, do read this and this very carefully, as that is the standard of asking programming questions, not only in university, but during the whole of your career.

Built with Next.js and Tailwind CSS.
Commit 93bb358 ()