Hi! Welcome to my first blog post reviewing NUS modules. I am currently a Year 1 Computer Science student (with a Double Major in Mathematics).
In my first semester, I took 5 modules (20 MCs):
| Module Code | Module Title |
|---|---|
| CS1101S | Programming Methodology |
| CS1231S | Discrete Structures |
| MA1521 | Calculus for Computing |
| MA1522 | Linear Algebra for Computing |
| IS1108 | Digital and AI Ethics |
This is probably the easiest semester in my four years at NUS. However, I still feel that the content and workload of these courses are quite heavy compared to similar courses at other universities (for example, HCMUS - VNU-HCM).
I will review modules in term of workload, enjoyability and difficulty.
CS1101S - Programming Methodology
Lecturer: Boyd Anderson, Martin Henz, Sanka Rasnakaya. T/A: Goh Ee Chern
Overall
- Workload: 9/10
- Enjoyability: 7/10
- Difficulty: 2/10
- Grade: A+
Note
To be fair, I’m already a fairly experienced coder. Because of that, my perspective on this course is naturally a bit different from that of most students.
Grading Scheme
| Component | Weight |
|---|---|
| Reading Assessment 1 | 5% |
| Midterm Assessment | 15% |
| Reading Assessment 2 | 8% |
| Practical Assessment | 12% |
| Final Assessment | 30% |
| Mastery Check 1 | 3% |
| Mastery Check 2 | 3% |
| Source Academy XP | 14% |
| Reflection Attendance | 5% |
| Studio Attendance | 3% |
| Studio Effort | 2% |
Introduction
This is basically the “how to code” course for every CS student at NUS. I really love how well-prepared the course is by the professors and the Avenger team. We use the Source language, which is essentially a simplified (nerfed) version of JavaScript.
Source Academy
First, let’s talk about Source Academy. This platform is designed as an online IDE for students to write code and complete assignments. It uses an XP (experience points) system to track how much assessment work a student has completed. However, students do not need to complete every assessment on Source Academy to reach the full 24,000 XP (14%). The platform also provides tools that help students better understand how their code works.
Lecture, Tutorial & Reflection
The lecture is quite good (based on the lecture slides). However, I didn’t attend any lectures (because I’m lazy lol).
About the tutorial, my tutor is a funny and active person. He tried to spell my name (and failed), so I told him to call me Demen instead. Mastery Check 1 and 2 are free grades.
I don’t have any idea about the reflection sessions. I just go for the attendance points.
Content
About the content, I think it is very extreme for those who have not learned programming before. The content is very heavy, and the Profs are teaching everything very fast.
In my case, I just need to learn a little bit about JavaScript and some new concepts (e.g., CSE machine, T-diagram).
Exam
| Component | DeMen | Max | Median |
|---|---|---|---|
| Reading Assessment 1 | 16.1 | 17 | 15 |
| Midterm Assessment | 82 | 100 | 63 |
| Reading Assessment 2 | 62 | 95 | 43 |
| Practical Assessment | 80 | 80 | 46 |
| Final Assessment | 94 | 100 | not public |
Reading Assessment 1 and 2 were fully MCQ. Especially RA2 this year was very tricky, with a median of 43/95.
The Midterm Assessment was MCQ and code implementation (on paper). The exam was fairly hard, and you needed to understand the concepts deeply to do everything quickly. I lost 9 points due to the T-diagram (which I hadn’t understood at that point), and 3 more points on other MCQ questions.
The Practical Assessment was a fully code-implementation exam. The test was hosted entirely on Source Academy, with 7 problems and 100 minutes to complete them. Each problem had some public test cases for students to test their code, and was graded using private test cases afterward. The last three problems were challenging; however, I was still able to finish all the problems in 70 minutes.
The Final Assessment was also MCQ and code implementation. However, this year’s final exam was easier compared to previous years.
Conclude
If you are completely new to programming, you need to learn this course VERY carefully. The course content is very excellent in terms of teaching how to think and how to design code.
CS1231S - Discrete Structures
Lecturer: Aaron Tan, Ashish Deepak Dandekar T/A: Arnav Jhajharia
Overall
- Workload: 2/10
- Enjoyability: 5/10
- Difficulty: 2/10
- Grade: A+
Grading Scheme
| Component | Weight |
|---|---|
| Tutorials | 5% |
| Assignments | 20% |
| Midterm | 25% |
| Final exam | 50% |
Content
Course information: Link
Tutorial
To be honest, our T/A has a very strong accent, which made his speech quite hard to understand. That said, he genuinely tried to connect with students and still gave good advice for the exam.
You need to attend at least 10 out of 11 tutorials to obtain the 5% tutorial mark.
Grading
| Component | Max | DeMen | Low/LQ/Median/UQ/High | Mean |
|---|---|---|---|---|
| Assignment 1 | 40 | 33.5 | 0/33.5/36.5/39/40 | 35.24 |
| Assignment 2 | 40 | 39 | 32.5/36.5/38.25/39.5/40 | 37.83 |
| Midterm | 50 | 41 | 0/28/32/37/50 | 32.34 |
| Final exam | 100 | 84 | 0/43/56/70/100 | 56.74 |
There are two assignments, each worth 10%. The assignments are graded very strictly, and even small mistakes are penalized.
The exam is fairly hard and tricky. However, if you understand the material properly, you can still get through the exam smoothly (though it’s easy to get tricked if you’re careless, like I was).
Comment
As description in the link above:
This course introduces mathematical tools required in the study of computer science.
However, I feel like this course only train us to solve problems very quickly and not get tricked in exams.
I still got A+ somehow, I thought I will got an A.
CS1231R
This is a optional 1-MC module associated with CS1231S.
I attended some lectures of CS1231R, and the content was sooooo good for a 1-credit module. They taught many new concepts that were not covered in CS1231S.
However, I did not receive a grade because I missed about half of the lectures.
I highly recommend trying it if you can handle CS1231S easily.
MA1521 - Calculus for Computing
Lecturer: To Wing Keung T/A: Not remember
Overall
- Workload: 4/10
- Enjoyability: 1/10
- Difficulty: 9/10
- Grade: B (S/U)
Grading Scheme
| Component | Weight |
|---|---|
| Homework | 10% |
| Quiz | 32% |
| Final exam | 58% |
There are 10 homeworks, once per week, each corresponding to 1%, grading base on completion. We also have 4 quizzes, once per 2-3 weeks, each corresponding to 8%, contains 8 questions, grading base on the answer (in numerical value).
Comment
I am not good at Calculus, so expected B for this. But I think I did good in Final, maybe some stupid mistake cause penalty :<. Hope I will have better score in MA2104.
MA1522 - Linear Algebra for Computing
Lecturer: Jonathon Teo, Lo Chi-Heng
Overall
- Workload: 4.5/10
- Enjoyability: 10/10
- Difficulty: 5/10
- Grade: A
Grading Scheme
| Component | Weight |
|---|---|
| Problem Solving Sessions | 10% |
| Lecture Quizzes | 15% |
| Homework Assignments | 15% |
| Midterm Exam | 20% |
| Final Exam | 40% |
Content
Content: Link
Midterm
Look at this curve. So perfect.
Lecture
There is no tutorial in MA1522. Instead, one lecture functions as a “tutorial” lecture, with homework to be submitted right after the lecture, while the other lecture focuses on solving additional homework problems.
I was assigned to Lecture Group L2, which is taught by A/P Lo Chi-Heng. In my opinion, I didn’t feel much energy in his lectures, so I mainly learned through blended learning. I heard from my friend in Lecture Group L1 that Prof Jonathan Teo teaches very well.
Blended Learning
A brilliant system. For each topic, there are slides and short videos to learn from, followed by a quiz to test understanding. There is also a bot designed by the UTOPs (TA teams) to help students understand the concepts more clearly.
In addition, there is a Telegram group with professors and UTOPs to support students learning this course.
Comment
This was my first blended-learning course at NUS. The course is very well organized, with great professors and excellent UTOPs. I really enjoyed learning this course in Semester 1.
I feel that the course emphasizes problem-solving over manual calculation. As a result, we are allowed to use MATLAB for exercises and exams, with many built-in functions to support computation. Instead, the exams are more challenging in terms of testing students’ conceptual understanding of the course material.
IS1108 - Digital and AI Ethics
Lecturer: Lee Boon Kee T/A: Nayana Mahesh
Overall
- Workload: 0.5/10
- Enjoyability: 0/10
- Difficulty: 1/10
- Grade: B+ (Soon S/U)
Grading Scheme
| Component | Weight |
|---|---|
| Class Participation | 10% |
| Group Debate | 20% |
| Midterm Test | 30% |
| Group Product Pitch | 20% |
| Individual Report | 20% |
The Group Debate and Group Product Pitch were group presentations. The Midterm Test was an offline exam with a cheatsheet allowed.
Comment
I did not learn anything. I did not attend any lectures (except the special lecture, which was mandatory).
Our T/A was nice and active, but it didn’t help with my zero motivation for learning this module.
Somehow, I got a B+.
