Post

NUS: Year 2, Semester 2

Charting the Course: Y2S2

Embarking on my second year at NUS, I once again embraced the challenge of an overloaded semester. However, this time around, I faced a steeper climb. Despite my initial enthusiasm, I made the tough decision to drop ST2334 during the recess week. The combined pressure of five assignments and five midterms proved to be a formidable tide, and I found myself submerged in academic demands.

To complicate matters, personal family issues demanded my attention, further stretching my capacity. In the spirit of teamwork and commitment, I chose to continue with CS2102, as my withdrawal could disrupt the ongoing group project. If not for my friends, I would have opted to drop CS2102 instead, which I will explain below.

CS2102: Database Systems

Course Review

Embarking on CS2102 with the intent to master SQL? My advice: steer clear if that is your sole purpose. The online world offers a plethora of resources that might serve you better. The course structure, in my experience, leaves much to be desired. If your grasp on CS1231S is shaky, CS2102 will be unforgiving.

No amount of practice seems to elevate you to that coveted ‘A’ grade if your thought process does not naturally align with its demands. The assignments and projects also dwell in a realm of ambiguity, lacking clear-cut answers and well-defined questions. This uncertainty leads to frustration because seeking help is unpredictable—each person has their own approach, and it was impossible to predict which one will be successful. The workload often feels overwhelming, arriving in intense bursts. Although the project is assigned well in advance, it was impractical to start on it early because the necessary lectures have not been conducted yet. Consequently, you might find yourself struggling to keep up with the deluge of assignments from this and other courses.

Grades

  • Expected: B
  • Actual: B

CS2106: Introduction to Operating Systems

Course Review

CS2106 stood out as one of the most engaging courses during my time at NUS. However, it’s worth noting that students’ experiences with this course can vary significantly. Personally, I found its teaching style and the manner in which it fosters critical thinking to be highly captivating.

The course is extensive, delving into a broad array of topics with both breadth and depth. It necessitates a strong grasp of binary manipulation, a topic typically covered in CS2100, a prerequisite for this course. Therefore, it’s crucial not to overlook the fundamentals and to feel confident in binary manipulation and interpreting C code. Similar to CS2100, I recommend utilizing the Casio calculator for efficient conversion between bases.

Tips

  • Textbook: Download the textbook and read through the parts you’re not familiar with. The textbook can provide a different perspective and more detailed explanations than the lecture notes.
  • External Resources: Don’t limit yourself to the course materials. Read lecture notes from other top universities, especially when it comes to complex topics like mutexes and semaphores. Seeing the same concept presented in different ways can significantly enhance your understanding.

Performance

I believe I performed above average in my finals, although I ranked slightly below the median for midterms. Lab grades tend to be consistent among students. It’s crucial to find a reliable lab partner, so I recommend taking the lab with a friend if possible.

Grades

  • Expected: A
  • Actual: A-

CS2107: Introduction to Information Security

Course Review

I found the course enjoyable, yet it’s undeniably tough for those without prior CTF experience. Highly suggest to tackle this course with friends.

CTF Challenges

Each CTF accounted for 10% of the final grade, with eight questions in total. This breaks down to each question impacting approximately 1.25% of the final grade. In contrast, a single MCQ question in the finals could weigh as much as 2%. So, while the CTFs are daunting, they’re not the be-all and end-all of your grade—focus, so do not be too demoralised or spend too much time on it and neglect your other courses. I was fortunate to have competent friends that are skilled in CTF to guide me along.

Tips

  • Past Year Papers: Solidify your theoretical understanding and diligently work through PYPs. The questions are often recycled or slightly altered from PYPs. However, starting from my batch, the midterms and finals shifted to an all-MCQ format, ramping up the difficulty significantly.
  • Strategic Course Planning: For a more efficient semester, consider taking CS2107 after or alongside CS2105. The overlap in content can lighten your workload by about 20%.

Grades

  • Expected: A
  • Actual: A

IT1244: Artificial Intelligence: Technology and Impact

Preclusion

Please note that CS2109S is a preclusion for this course, meaning you cannot take IT1244 once you have taken CS2109S.

Course Review

IT1244 is an introductory course to Artificial Intelligence (AI) designed primarily for non-computing students. However, it’s also a valuable course for computing students and I highly recommend taking IT1244 before CS2109S as it provides a smoother introduction and transition into the world of AI and Machine Learning. The content is pretty much the same as CS2109S.

After the rigor of CS1101S and CS2040S, this course should feel like a breeze. It covers the very basics of CS2040S in the first half, with the addition of best-first and A* search. I would expect most CS majors to score within the top 10% of the cohort at least.

In the second half of the course, you’ll be introduced to more ML algorithms. The instructor, Prabhu, will go through the theory behind these algorithms in class. While the math might seem intimidating, don’t worry as it is not tested in the exam. Only simple linear models and calculations might be tested.

One thing to note is that the phrasing in assignments and exams might throw people off, so always clarify when you are not sure.

Project

The project component of IT1244 can be challenging, particularly for those who have no prior experience in AI projects. It’s also the most time-consuming part of the course. Kaggle is a valuable resource for this project, so spend time exploring and searching through Kaggle to find relevant datasets and kernels. This can give you a better idea of how to structure your project and what kind of results to aim for.

The application and training of the algorithms are not the most difficult parts. Often, the challenge lies in the data preprocessing stage. This involves cleaning the data, dealing with missing values, and transforming the data into a format that can be used by the machine learning algorithms. These steps are crucial in achieving high accuracy in your models.

Performance

In terms of individual performance, I was among the top 1% for both the midterm and final exams. However, for the group project component, my score was around the median. The remaining components of the course grade were assignments and tutorial attendance where most students should get full credits.

Grades

  • Expected: A
  • Actual: A+

GEC1010: Clean Energy and Storage

Course Review

GEC1010 serves as an introductory course to physics, particularly focusing on clean energy and storage. The course heavily leverages concepts from A-Level physics, making it a popular choice among engineering students. As such, non-engineering students who are not adept at applying physics formulas or are rusty in their physics knowledge might find themselves at a disadvantage.

Despite having a relatively low workload, the course does require a significant time commitment due to the frequency of lectures. There are two lectures per week, resulting in approximately 4 hours of lecture time each week. This course is notably more demanding compared to other GEC courses, which usually span six hours over two weeks.

Performance

In terms of performance, I consistently scored full marks on the quizzes. However, there were two tests, each accounting for 30% of the final grade, where I only scored around the median.

Grades

  • Expected: B+
  • Actual: B+

CFG1003: Career Catalyst

Course Review

This is a 0 MC course that can be swiftly completed in just one day. It is a pre-requisite to CFG1004, which is 2 MC course. However, it is possible to take both CFG1003 and CFG1004 concurrently.

Grades

  • Expected: CS
  • Actual: CS

Academic Summary

Grade Distribution

GradeNumber of Subjects
A+1
A1
A-1
B+1
B1
CS1

GPA Analysis

  • Semester GPA: 4.5
  • Cumulative GPA: 4.7

I’ve chosen to S/U my GEC1010, particularly because I anticipate taking at most one Level 1000 course in the future, for which I would could possibly exercise my last S/U option.

This post is licensed under CC BY 4.0 by the author.