Julius Putra Tanu Setiaji

A Different Semester

Date: 11 Nov 2019 18:28

My 5th semester in NUS is different from my previous semesters. For one, I no longer stay in Tembusu College, but instead in this godforsaken place called PGP. I can rant on and on about how PGP is so much worse compared to the Tembusu College or any other Residential College at UTown (University Town), but that's not really the focus of this post. Instead, this semester also marks my first time of taking purely Computer Science (CS) mods.

Some of you might be aware that I am taking CS3216 this semester, with a long title that basically boils down to “Product Development/Engineering”. It is worth 5 MC, which like any other 5MC modules in the NUS School of Computing (SoC), actually is a lie. A 5 MC module tends to have higher workload than 8MC modules even. Luckily, I had been overloading in my earlier semesters, so this semester I can afford to underload below the normal workload of 20 MC (or technically 18 MC according to University regulations). Although I ended up just taking 4 modules for 17 MCs, originally I took 7 modules. I will go through each of them below, you can take this as a kind of module review too I guess?

Another thing that I note for this semester is that I wrote so many lines of code in so many languages. All in all, I wrote about 11 languages for both school and non-school related projects. I'll go into more details after this listing:

Erlang/OTP – Fix file:allocate/3 “broken” behaviour

You can find more context at the following links:

Hacker Tools

Modelled after https://missing.csail.mit.edu/

You can find my slides at https://github.com/indocomsoft/hackertools-slides

CS3216: https://pinda.fun

NUS School of Computing's Product Development course, where my team managed to win the Category Winner.

It's written in TypeScript using the React Framework, and Elixir using the Phoenix Framework.

Read the source code at https://github.com/pinda-fun/pinda-fun/

CS4223: Tracing Simulator for MESI, MOESI, Dragon Cache Coherency Protocols

Written in Scala, using the bazel build system.

Read the source code at https://github.com/indocomsoft/cs4223-assignment-2

CS3243 Introduction to AI Assignments

Written in Python, where I optimised the code using cProfile to get the bonus marks for performance.

It's their fault to choose such a language as Python where using the wrong constructs can lead to slowdowns in your programme.

Read the source code at the following links:

CS2104: Prolog Parser and Interpreter

It was really annoying because we are given a useless lexer, but I guess I managed to implement a Prolog interpreter that supports the cut operator in Haskell.

Read the source code at https://github.com/indocomsoft/cs2104-lab4

Back to blog