/ NUS , EDUCATION , CS2010 , CG2023 , CG2271 , EE2024 , ST2334

NUS Second Year | Second Semester in Review

CS2010: Data Structures & Algorithms II

This module is one of my favourite modules in this semester. Usually CS2010 is taught by Prof Steven Halim, but it was Dr Brown this semester who is teaching this module for the first time in NUS. Dr Brown was really great and funny as well. He tried to bring across the concepts taught very well and in my opinion one of the coolest professors I have seen. Once I required an extension to one of the important lab assignments and he was so chill about it and totally understands students’ positions. Also, this is a must-take module for any computer science person as it introduces the key algorithms that has made the tech world around us possible.

The course weight he is divided into assignments, labs, lecture quizzes, mid term and final exams. Yes, the weightage is pretty diversified across the various components. It’s important to be consistent in this module as the further weightage for each lab or assignment would also vary depending on the difficulty. The rough breakdown of the course weightage is:

  • In-lecture exercises (8%) – Mini-assignments done during lecture
  • Lab exercises (12%) – Similar to assignments but shorter and easier
  • Four Assignments (40%) – Weighted differently depending on difficulty
  • Exams (40%) – Midterm + Final

The course structure is basically an introduction to trees, heaps, hash tables in the first half followed by a heavy focus on graphs in the second half.

Overall a great and crucial module to take for any computer science or engineering student.

Difficulty (out of 5): ☆☆☆

Grade Obtained: A


EE2024: Programming for Computer Interfaces

This module was one of the heaviest, if not, the heaviest module I have ever taken. The course mainly focuses on Assembly language in the first half and low-level C programming for computer interfaces in the second half. Both halves consist of a related project done in pairs. While the first project is largely manageable, the second project is huge and is extremely time intensive. In fact, I don’t remember doing anything other than this module in the last 3-4 weeks of the semester. My partner and myself came to NUS at 10am and left at 10pm daily for these weeks. It was an extremely challenging period.

Tip for projects is to 1) Start early & 2) Use the resources around you to learn fully (both online & offline).

While this module is definitely useful as it gives great in depth understanding of how devices around us were programmed and interfaced, the content was so heavy that I couldn’t get enough time to appreciate everything I learnt. Nevertheless, the module helped me understand the importance of several technologies such as UART, master-slave protocols etc and their applications.

Final exams were slightly hard as expected. Nevertheless, Prof Rajesh went through all the past year papers one by one during the last few weeks as solutions to the papers are not released. That really helped to clarify a lot of the learning gaps and also on the expectations for the final paper.

Difficulty (out of 5): ☆☆☆☆☆

Grade Obtained: A-


CG2271: Real-Time Operating Systems

Overall a great module. Took this under Prof Tulika. This is actually the CEG counterpart module of the CS version of Operating Systems. Hence most of the focus was on the lower level areas.

The module is structured into labs, midterms and finals. Also, there is a small component for tutorial attendance. Most of the earlier labs are manageable. However, as we moved along into the later parts, I found the labs to be harder not because of the concepts but mostly the debugging of programs and identifying where we went wrong. Hence, it became a little time-intensive too. Labs are done in pairs using a Spark fun (Arduino) kit.

Attending lectures (or watching webcasts) is important to help in the understanding. I actually enjoyed this module quite a bit. And after the module was completed, I began appreciating the use of many of the concepts I have learnt. Concepts such as semaphores, mutexes are so crucial and they are being used everywhere around us.

Final exams were pretty hard as compared to the midterms, but manageable.

Difficulty (out of 5): ☆☆☆

Grade Obtained: A


ST2334: Statistics

Statistics is a useful and slightly easier than the other modules I took this semester. However, easier means others will also find it easy. I guess the competition for the module was a little high.

The notes were pretty self explanatory out of the times and there are plenty of problems to practice. Both midterms and final exams were pretty okay.

Module structure is mostly based on IVLE quizzes, tutorial attendance, tutorial participation, midterms and finals. Important tip for this module is to be consistent. And the lecturer did make sure we are consistent by giving online quizzes each week and tutorials on alternate weeks.

Cheatsheets I used for the mid-terms are here.

Cheatsheets I used for the final exams are here.

Difficulty (out of 5): ☆☆☆

Grade Obtained: B+


CG2023: Signals & Systems

Signals and Systems was an intimidating module for me at first. Looking at so much math and complex terms didn’t help in motivating myself to study. However as time went by, I realised it wasn’t that hard after all. The only requirement to do well in this module is the investment of time. Understanding of the concepts comes over time and dedication to read the notes again and again. Do this till you understand. Whenever I felt unsure, I used the recommended textbook to write down a few problems and solve then to check my understanding.

For midterms and finals, it is very crucial to practice a lot of the past year papers to clarify on the difficulty level and on what is expected.

The professors were also kind and helpful whenever we approach them with questions. For this module, we just need the discipline to sit down and invest some time in the understanding of the concepts taught.

Cheatsheets I used for the mid-terms are here.

Cheatsheets I used for the final exams are here.

Difficulty (out of 5): ☆☆☆☆

Grade Obtained: A

As usual, it was the most hectic semester I’ve had. Till next time, cheers.

Harish V