The scandals get increasingly scandalous
NUS CS y2s1
It’s already the end of the year and another semester is over, wow. It’s feeling better and better being here and learning, and this semester for me is hands-down the best. I’m learning things I enjoy learning, and the added practicality of this sem (due to CS2013T) is something I’ve been aching for since the last year.
This year I also declared a minor in Data Science so I did the introductory course (DSA1101) too.
CP2106 - Orbital
Ok, this technically wasn’t in the last semester. Orbital is a software engineering project that you do over the holidays (which already feels so long ago..) in groups. I formed a group with a good friend and we created a website.
The idea behind the website is to provide a platform for users to figure out their affiliations based on a questionnaire (that can be updated via a dashboard) with different parties. It allows them, at the end, to view a question-by-question breakdown on the party’s stances to see how well the user agrees or disagrees with a given stance.
It was a good project that allowed me to re-familiarise myself with some software engineering tools that I’ve not used in some time, like SwaggerHub for API documentation, Github actions for non-trivial CI/CD tasks, and more. I also learnt React for this project. I’ve mostly been using Vue as the frontend framework, so this is somewhat new to me!
CS2100 - Computer Organisation
CS2100 is… a lot. It’s a module that crams many many things into one - the profs themselves said it used to be 3 modules. CS2100 is also, IMO, pretty poorly managed. The lecture videos are old recorded lectures. The slides (which I hope were not re-used from old semesters, cos if so, OOF) have terrible formatting issues sometimes. The most egregious of which was in the MIPS datapath slides. It was literally unreadable.
The content is learnable, but the assessments are extremely tedious. At times it feels like they’re throwing everything at you and hoping you make a mistake. And due to the nature of the content, one tiny mistake can cascade and absolutely derail everything later on.
However, with all that said, I really enjoyed this course. Despite of all of these issues, the content and learning outcome of CS2100 is really just cool and illuminating. Peeking under the hood of a basic processor is new and absolutely rewarding. The click moment in this course is really something beautiful, and I’m glad I took this. I’m also glad this semester didn’t feel too hectic for me (in terms of the other modules), because the contents needed to sit with me before I could fully digest them.
For the exam, I spent by far the most prep time on this module. Due to the nature of it being open book, it rewards raw time spent and good preparation - prepare alternate datapaths, prepare extensions of answers given in tutorials, prepare critical paths of instructions, prepare anything remotely preparable if you have the time and will. Explore the lines of questioning that the tutorials lay out. I was able to skip thinking about entire questions in the exam by doing this - I just copied over my answers in my notes. Got an A in the end!
CS2103T - Software Engineering
Whew, CS2103T. This is the most well-handled module I’ve taken so far. There are certain pain points in the module (cough cough the PE), but every single time I encounter a situation where I’m thinking “That’s so weird why would they do it like this” Prof. Damith will have wrote out why (or talked about it) somewhere and I’d be like “okay that makes sense”. Prof. Damith seems to be acutely aware the trade-offs of conducting assessments in a certain way, and he seems to take the best way forward most if not all of the time.
Both the TP and IP set out baseline expectations that should be met, but students are welcome to do more than that anyway. However, doing more than expected does not net you any extra points, and most likely opens you up to extra bugs that will be a problem in the Practical Exam (PE). I was in a group with other enthusiastic students as well, so we tried our best to create strong features that were coded and maintained well, perhaps doing more than we ought to have done.
The PE is what I suspect most people will find annoyances or have problems with. The incentive structure is a little odd - you must find bugs in other people’s TP projects and report them using the issue tracker.
The PE has kind of a back-and-forth going on between the dev team and the testers, and the dev team that I was assigned to DID NOT like me reporting bugs:
People looooove to hide behind their keyboards huh. You get situations like the ABOVE, where dev teams completely eschew professionality and result to personal attacks. At their own detriment. Well if only I could earn the schadenfreude and see their faces when the teaching team favored my report over their response. If only. I’ll take my overall result as a consolation prize though.
I did REALLY well for this module. A+. On top of that, Prof. Damith emailed me telling me I was in the top 10 for this cohort. No brain damage here.
DSA1101 - Introduction to Data Science
Uhh this module felt really easy to me. I feel like I barely put in effort, but my overall grade was an A+. It’s a bit odd but this A+ felt quite unrewarding. Not a flex or anything.
I DID NOT watch the lectures, as I found the videos enough for my understanding. The lectures just felt like a rehash. The assigment was alright - you needed to write a statistical report using a dataset. I’ve done similar things in poly, so it wasn’t really new to me. Perhaps the only new thing was using R.
The exams are really quite easy since it’s open book. Prepare a easily searchable R file that contains all the code you need. The exams really only have tutorial-standard questions and nothing significantly harder than that. So it’s a matter of reading the question, finding what you need, copy-pasting it over and changing the variables or values. That’s it. I think if you’re comfortable in coding you can excel at this module without even really understanding the techinical concepts.
EG1311 - Design & Make
People looked at me funny when I told them I took this module as a CS student. I thought it looked fun, and I thought it’d be useful for me to learn some elementary CADding skills since my brother has a 3D printer.
The project was fun, and the final lab was pretty awesome. Seeing everyone’s robot either crush the course or crash and burn was pretty funny. My team was able to do the whole course, albeit our robot was the heaviest in the lab.
As a course that I took for fun, it definitely delivered.
GESS1025 - Singapore: Imagining the Next 50 Years
I took this course because it fulfilled one requirement and it’s a pass/fail module. Not much thoughts on it. Some topics quite interesting, others quite boring.
Talkin’ bout time again
A recurring theme in these posts is me talking about time management and how I’m doing it. I’ve burned through a couple of ideas and I think I’ve finally settled on one that works for me pretty well: not managing my time.
Watching time like it’s some kind of commodity to be spent is depressing and gets old quick. My idea from the last semester was bad. Lives are not inflexible and things happen and schedules change. Amazing that I’m learning this now.
I’ve fallen back to using simple to-do lists with set deadlines, only my deadlines are a little stricter. I’ve also set buffers so that nothing overruns badly. I’m probably going to be sticking with this all the way. If I set my deadlines right like for this past semester, I get into a kind of flow state. It pushes me to finish things that I’d normally put for later, and at the end of the week I feel my time was well-spent.
On a personal level, this semester was good for me as well. Met some old poly friends for CS2103 and it was good. I’ve been exercising much more regularly too, I’ve got about 180km on Strava. As an old couch potato, that’s a good number. The start of the year was pretty slack, so I’m aiming for 360KM for the next year, a goal I think is achievable. Really happy with this semester, and hoping this upward momentum keeps on for the next year.
Cheers.