Posted on

NUS Computing Review: CS2108 Introduction to Media Computing

Took this module in AY19/20 Sem2 under Prof Ng Teck Khim. This semester was the troubling COVID19 period with Singapore’s CB measures, so much was done online/from home after the initial weeks.

This fun and unique module is also only offered in Sem2, which I had to take with CS3245 Information Retrieval. Nonetheless, Prof Ng was approachable and very dedicated towards making sure we understood the content, organising individual/group zoom sessions, monitoring the forum, and constantly reminding and pushing us to watch the videos, in which he stresses the most important points and provides a really step-by-step basis to learning (Yay!). Thanks Prof!

Also, for some reason half the cohort was made up of exchange students from top universities from all over the world. It’s a good place to interact and learn from the best, at least for the semester I did it in. Also, no worries about bellcurve since most of us don’t even have experience in this field.

1. Personal note:

Expected Grade: A

Actual Grade: A

You do not need to memorise things, and you are seriously encouraged to UNDERSTAND, and then THINK and apply. This really helps in learning the content. So, this module is conceptual, and the content is good for understanding certain real-world/industry concepts which I hope you will appreciate better after taking the module.

2. Some things you will learn:

With more and more information in the world being media, this course provides some basic understanding of how these media are represented and received. It also gives a good excuse to learn MATLAB, a programming language widely used for research and machine learning, etc. While sometimes I did feel like this had some crossover with electrical engineering, the large part on programming assessments nonetheless proves this is a CS module. You will also learn about industry-used compression algorithms. Also, Fourier transform was given 2 whole weeks now, not 0.5 weeks 🙂

Students who have no background in signal processing and compression algorithms, this module is a good start! This helps us in appreciating how maths and (some, really elementary) physics concepts are related [but actually the proofs are just there for those of you who want to appreciate the beauty and for better understanding which helps in Assignments, otherwise you can just simply apply the formulae]. Moreover, you will inherently learn that things in a computer are discrete, so you have to convert continuous signals into discrete ones, which then some magic happens 🙂

3. Timeline (for the semester I took)

In the first half of the semester, we built up our foundations in MATLAB, eventually progressing to make music! (Think David Guetta, but slightly worse music taste HAHAHA) Who would’ve known music could be mismashed together to form nice harmonies, which are none other than represented by various sine and cosine signals? (Don’t worry, the Maths is really NOT intensive!). This was followed by Assignment 1, to which we were given plenty of time (roughly a month) to do.

Assignment 1 gives us a set of signals which are ‘thrown’ off their original frequencies, and let’s us play investigator to exactly what went wrong and then recover the music. Initially, I kept getting music with much noise in the background, but after much forum discussion (participation is not graded but highly encouraged, and tbh you probably need it), you would not imagine the joy I had when I finally obtained the folk music the Prof played in the very first lecture! Just a warning though, don’t blast your earpieces at maximum volume, my friends and I are still laughing about how our ears got raped HAHAHA

In the second half of the semester, we spent a couple of weeks learning compression algorithms like LZW and Huffman coding, and then proceeded to use the rest of the time to do Assignment 2 on implementing and researching these algorithms and their uses. These concepts were interesting as we learned how not only music but photos and videos were able to be high in quality, and how we could transmit them to retain as much quality as possible. This was much easier to understand than concepts for the first half, but ‘tedious’ in the fact we had to now do ‘OOP’ in MATLAB. Nonetheless, despite reading the questions early, I had little choice but to leave it till the last 3 days before the deadline to rush it due to my other project modules with earlier deadlines :’). It was the maddest 3 day clutch and I definitely advise you to do this early. :’)

4. Assessment was as such:

– 5 Tutorials (20%) – relatively easy, TAs give personal feedback (A+ for effort)

– Assignment 1 (40%) – Music Recovery, Open-ended qns

– Assignment 2 (40%) – Compression, Open-ended qns

Note: More than sufficient time given for Assignments, no worry. Scored full marks for tutorials, 85% for Assignment 1, Assignment 2 results unreleased. Got an A.

Head over to our Shop for more module content!