Programming Methodology I
A
AY21/22 S1
Please don't take the exemption from this course. It is absolutely necessary. CS1101S is the first computing course you will take as a CS student. If you're not in SoC, you would be taking some variant on CS1010 instead. The difference here is that CS1101S is taught in a JavaScript-like language, while CS1010 is mainly taught in more traditional languages like Python and C.
This course is one of the biggest time sinks in your first semester. The workload is notoriously heavy, thanks to the gamified platform that the course administrators have kindly prepared for us. Source Academy. It keeps track of all our course-related materials, and uses XP to determine how many marks we get for that component. Basically everything gives XP. Tutorial participation, homework, quizzes, and many more optional content. Don't worry, you won't need to score full marks to clear this component. As long as you maintain a decent XP score for each compulsory assignment, then you should be able to clear this component quite easily. Most people do, anyway.
Besides the practical exams, the midterms and finals heavily test you on data structures like lists, pairs and streams. But the one that drains my rice is the Environment Model, which is basically tracking how many function calls are made in a program. There's a lot of arbitrary definitions in place, with not a lot of room to practice. Build the intuition by looking at many examples. I learn best when I have lots of positive or negative feedback for my answers, which was pretty hard to get here. So I reworded many of the definitions to language that I can understand.