The semester has come to a close, and I had the absolute dishonour of taking part in two of the most infuriating learning experiences of my life. These two mods, CS2100 and CS2030, are widely heralded as part of the computer science “Trinity” presumably because they lay essential foundation. It is ironic then that these modules contain a myriad of anti-patterns that actively discourage learning through either bad content design or poor exam setting. I’m incredulous that, even after these modules being around for so long, taking them this semester has made me want to bash my head against the wall over and over again.

That said, what did I learn? Essential life skills, actually.

How to deal with being ghosted

Dating apps are completely foreign to me, so listening to friends talk about their experiences wasn’t very relatable. Until I took CS2030. This module has incredibly poor exam design, probably the worst I’ve seen. It’s a crying shame, as the lecturer for this module is quite competent at teaching.

Practical assessments are graded based on how many changes you need to make after the exam ends for your code to pass all test cases. The grades are implied to be generated by some algorithm with no explainability, no accountability, and no documentation. Is it just a Levenschtein distance checker? I don’t know. Is it comparing class files? Beats me. Is it parsing an AST or looking at some sort of IR? Not even the TAs know, apparently.

Seriously, this assessment is a travesty of education. I cannot for the life of me understand why they chose to go with this crapshoot black box of a system instead of splitting the task into multiple parts and grading based on the number of test cases passed. Just like how they did it in CS1010! You know, the prerequisite to this module? Some comments on NUSMods seem to think it’s an act of mercy, leniency. This is cruelty.

This crystal ball of a grading algorithm is incredibly hard to reconcile with as a student. I cannot explain the scores I receive, despite thinking I deserve otherwise. I cannot argue concretely for anything, because I don’t know anything concrete. I cannot learn from the feedback I am given, because there is no feedback. A number. That is all your code is worth. A number that came from an unknown, dubious source no one has seen for a decade.

Can you game this system? Well, kind of. With knowledge of it being some sort of string similarity algorithm, you could write a bunch of empty classes and hope the system is naive enough to increase your score. Or you could write code for later tasks without implementing any prerequisites and pray that the answer is similar. What is this teaching me exactly? If you’re going to encourage this behaviour, again, why not split the task and grade on passed test cases? How has this exam gone through so many cycles of criticism without evolution?

Does anyone even care?

Practice makes perfect, even if you’re practicing something you’ll never use

Everything I’d like to say here has already been put into words by a friend of mine. Refer to n00bcak’s NUSMods review.

The futility of chasing grades, i.e. what matters to me

I used to place quite a lot of emphasis on exam results (I wasn’t a mugger or anything, but I’ve always studied until I felt confident), but this semester made me think differently. Recently I’ve found myself letting go, succumbing to the vicissitudes of external influences. I’ve realised that I do not have a lot of control over my life. Perhaps I have known this for a long time from my love of staring at the stars, but it is still hard to confront.

This, along with events that are happening within my environment and around the world, has made me depressed. I have not found joy in anything for a long time, not even learning, which used to be my go-to source of excitement. This profound emptiness has bled everywhere, staining my hobbies, my relationships, my ego. I find it incredibly hard to go outside. I have hidden this well (I think) but I think hiding it has just made the feeling worse.

It is strange how this came to be. I am not sure why such drastic change has come from a seemingly minute irritant. Perhaps this is my inability to handle rejection and failure. I know I cannot live like this any longer. I would like to change, and make change.

Writing about this on a public blog seems insane. I just want to write all of this down. Someday I’m hoping I can look back at this and laugh or something. This is not a cry for help or anything of that sort.