How to plan your modules in NUS Computer Science

Chow Jia Ying
4 min readMar 7, 2020

--

Motivation

For freshmen first joining NUS, one of the things they are most overwhelmed with is how to plan their modules. It’s understandable that they will be overwhelmed since this is the first time they are in charge of when they should take essential modules and how they should take it. Not to mention various implications that occur when you choose the wrong modules at the wrong time.

I believe that even seniors have regretted their module choices at some point in time.

Which is why it’s not a surprise that people turn to a module plan.

The module plan

Introduced by several helpful seniors in Academic Day 2018, this module plan is a timetable of which modules to take at every semester. I must say that this is a very helpful module plan for students who are overwhelmed by the multitude of modules and requirements they are required to satisfy. I did not follow this plan mainly because I couldn’t make it for Academic Day and I forgot that this module plan existed. But I don’t think that everyone should follow this module plan.

Why you shouldn’t follow the module plan

  1. It might not be best suited for your needs

It lumps CS2040, CS2030, CS2100 in Y1S2. To me, CS2040 and CS2030 are fundamental modules, both with high workload and which requires you to get adjusted for new concepts.

Moreover, people like Prof Ben have mentioned how important these modules are when they choose who to hire.

CS2100, in my opinion, is not a module with an extremely high workload. However, it focuses on low-level topics such as MIPs, logic gates, caching, etc. Students who are not used to this need to get used to learning from a new paradigm.

With that in mind, people with little programming experience prior to entering university might find it difficult to do all three modules together in the same semester, especially when it is right after the first semester.

Besides, why just do something just because it’s ‘in the module plan’? It’s a good module plan, but most importantly, it’s your own education. Take charge of your own education and learn what you want to learn. You might want to take harder modules earlier to clear the modules, or you might want to take them in Year 3 or 4 if you don’t find it important/necessary for your specialisation.

2. Most people will follow that plan

When there are many people following that plan, this means you will be competing with many people for a spot in that module. This means that teaching quality may suffer as the professors try to cater to a much larger cohort or other logistical issues.

“So how should I plan then?” You don’t have to follow all of them, but I will offer some tips.

Tips on how to plan

  1. Based on specialisation modules

Why based on your specialisation? Because it allows you to focus on the important modules to take before you can apply for modules required to fulfill your specialisation.

Most importantly, some modules are only available in certain semesters. This is a pitfall I did not notice until Y2S1. I wanted to specialise in Programming Languages, but I did not take CS2104 in Y2S1. This meant that in order to graduate on time, I needed to take CS4215 in Y2S2, despite having no experience in Programming Languages beforehand, before I could take CS2104 in Y3S1 when it’s offered again.

2. When you want to graduate early

Say you want to graduate early. There’s a way to graduate a semester/two semesters early if you don’t mind your CAP taking major hits. Overload every semester, and clear internship requirements during the summer instead of taking a school term to do your internships.

Plan carefully by making sure the modules you want to take are offered in the semester you want to take (some modules are Sem 1/Sem 2 only). Make sure your plan works, and make some alternative plans in case you can’t get the ones you want.

3. Based on interest

University is a time for you to explore what you like as well. How do you choose which modules you want to take/might be interested in? Sometimes I go for lectures for modules that I was thinking of taking, then decide if I like what was taught/how it was taught.

4. Based on special programs you want to go

If you want to go for NOC, you need to clear CS2103T and 70MCs at the point of departure. When do you want to go for NOC? Think of when you want to depart for NOC, then plan your modules based on that. My senior offered me a way to go for NOC in Y2S2: overload from Y1S2 onwards, take Orbital in Y1 summer, and you can easily clear 70MCs by the time you’re in Y2S2. Then apply during Y2S1 and assuming you succeed in your application, go for NOC in Y2S2.

5. Use tools to help you in your planning

Use NUSMods to get module information. Make your own module plan using an Excel spreadsheet. If you are planning to go for NOC, they have a study plan template available. You can use that to plan.

6. Ask seniors for advice

Ask them what modules they took and why. Ask them why they enjoy certain modules. Decide for yourself if you want to pursue those.

Conclusion

Don’t just blindly follow a plan that is given to you. Think of whether module plan suits you. Have backup plans and replan whenever necessary.

--

--