Here are my reviews for all the ISTD electives I’ve taken. I’ve actually Anki-fied all of these courses (i.e. I still maintain a good memory of these courses). So for juniors that have specific questions… do PM me or drop me an email (or drop the respective instructors an email, they are very friendly!).
Last update: 07/09/19
Moderate workload. The course is “balanced” in the sense that it teaches basic stuffs (to save your grades but may be boring) with advanced topics (to keep the course interesting but may be challenging). Networks would be appreciated by any budding software developer.
2x1.5hr instructor time and 2hr lab time every week. Dr.Jit (I think he left school) is fine (although my friend commented he would be well suited to teach a HASS mod on Computer History. I didn’t disagree). First half of the term we learnt a new layer every week (Application, Transport, Network, Link). Second half of the term we learnt various standalone topics (SDN Software Defined Networks, QoS, cloud computing…). Several theoretical concepts may seem useless (e.g. header format of each packet of each layer) but it makes up for this with several hands-on projects (wireshark, mininet, basic command line usage…).
Do yourself a favour and read Kurose & Ross. I used the 6th edition more often and 7th edition for SDN topics. The textbook is written very clearly and it is quite standard in many universities. Mid-terms and finals occasionally use questions from the textbook.
I read this HackerNews comment and can empathize a little. Fortunately, I think Networks at ISTD was taught well because we get to use mininet and wireshark. I think any budding developer will appreciate this course (eventually?).
Expected grade: “High” C. Actual grade: B

Workload is close to networks but some labs are considerably harder. Before the revamp, it was the only module that teaches computer security therefore, the module covers topics in breadth. Take note that there may be timetable clashes depending on your subject combination!
2x1.5hrs instructor time and 2hrs lab every week. Dr.Tang is fairly new to SUTD so she may seem flustered at times (e.g. lecture pace was slow at the start and rushed at the end). That said, she cares about us students. No homework. Workload is overall manageable. Topics covered largely include cryptography alongside web attacks, OS attacks, blockchain.
There’s no textbook. However, as modular arithmetic was taught, I encouraged my friends to watch parts of this video series or read the complement Understanding Cryptography textbook.
The course has revamped/expanded into 3 courses so I won’t comment much. I think it’s noteworthy that the previous Prof whom crafted this course seems enthusiastic of a dedicated undergraduate program on cybersecurity.
Expected grade: “Mid” B. Actual grade: B
This course is basically TowardsDataScience blog packed into 14 weeks. It covers the applied side of data science as a whole. Although the workload and math is light, the grading (under the old system) is very strict.
2x1.5hrs instructor time and 2hrs lab time every week. A typical lesson would be a lecture mixed with short questions. Prof Dorien and Prof Lim are fine and explains the concepts clearly. No homework. Topics covered include data processing (scraping, preprocessing, visualisations…) and prediction (Neural Networks, CNN, NLP…).
Textbooks are not needed. The content is self-contained. I did read the textbook a little and it wasn’t helpful.
I think this course is underrated in 2 ways; that CDS is “less practical” or “less prestigious” than 01.112 Machine Learning (ML).
This course is very practical and complements with other data science skills. There’s a so-called rule that 80% of a data scientist’s time is spent data processing and 20% spent on analysis. It helps to be a full-fledged data science engineer.
This course is kind of less presitgious but I think prestige and buzzwords often obfuscate reality… I came up with an analogy:
CDS and ML have overlaps. CDS is like a first aid course that is versatile in day-to-day work. ML is like an Introduction to Human Physiology course in a medicine degree. Learning a semester of ML is not a sufficient condition to call oneself a data scientist just as taking a human physiology course is not a sufficient condition to call oneself a medical doctor.
The corollary of this statement is that ML can become all-academic-no-practical… especially if one doesn’t pursue the full career package.
Prof Dorien also commented that:
“We try to offer concrete tools and methodologies for solving data science problems without necessarily going into the math on how they work.”
Expected grade: “Mid” B. Actual grade: B
It is noteworthy that my team mates scored C despite feeling confident about the paper. Long story short; I used Anki and they didn’t :sweat_smile:.
I learnt to be paranoid in this course.
2hr+3hr instructor time. Prof Pawel is friendly and clear albeit certain topics can be complicated. The 3hr block is usually in-class exercise-cum-project. For example, we had to implement a Merkle Tree in Week 2 exercise. This Merkle Tree is used as part of the SUTD-coin.
Project 2: Decentralised App (30%) —