CS4231 Parallel and Distributed Algorithms

1 minute read


Academic Year 2023 - 2024
Semester 2

NUSMods Description

This course will examine some fundamental issues in parallel programming and distributed computing, and the relationships between the two. Parallel programming: mutual exclusion, semaphores, consistency, wait-free synchronization. Distributed computing: time, global state, snapshots, message ordering. Relationships: consensus, fault-tolerance, transactions, self-stabilization.


This is entirely a theory class and it is taught by Prof Yu Haifeng. He has been teaching this class for very long. I feel like this module is just testing your IQ. 40% of the course comes from the midterm and the remaining 60% comes from the final.

The first 3 weeks are just parallel algorithms like Lamport Bakery Algorithm and Peterson’s Mutual Exclusion algoithm, followed by sequential consistency, linearisation, clocks, global snapshots. After midterms, it was all distributed algorithms: Distributed Consensus, Leader Election, Self-Stabilisation.

One thing that is consistently emphasised is how our proofs must be very rigorous. I think if you have done enough math classes, you would know what to expect.

Midterms was ok, but weirdly it consists of alot of questions which just requires you to say Yes or No without further explanation (hence zero working marks). You must be very confident in your intuition. The last question was on something very weird, but it requires us to write Yes (and nothing else has to be done), or No with a proof. Having used up my brain power for the night, I just put yes (and I got it correct). Studying for finals was challenging because there were no answers to past year papers. So, one has to rely on friends to discuss, and if no one knows, then well good luck to you.

I think very random people will get A for this class, because after the finals, no one can be sure if their answer is correct or not. I am not really bothered if I got A or B+. I am just content I learnt alot from this class.