CS2109S

Course Title

Introduction to Machine Learning and Artificial Intelligence

Grade

A+

Semester

AY22/23 S2

Review

The course is all about classical concepts in both AI and ML. In AI, the focus is about problem formulation. How we analyse a given problem and how we come up with conditions that the solution has to meet. This led to the A* algorithm, which improves upon the Dijkstra Algorithm but now we know where we want to go. We can use this knowledge to narrow down our search, leading to much faster discovery of the optimal solution. The second half of the course is all about ML, which means lots and lots of math. We stared at a lot of partial differentiation, and gradient descent formulas. Some past students complained that this course had too much math, while some of them complained that there was too little math. I think in the end, the course struck a good balance between the two extremes. Sure, the ML concepts were hard, but hey, they weren't tested as there were no finals anyway.

As for workload, it's all in Python, so if you're quite comfortable with Python and its associated libraries like Numpy, you should be fine. It's quite similar to CS2040S, where you have to implement algorithms and submit them on Coursemology for XP. The second half is where you'll be exposed to PyTorch, which is a machine learning library that is quite popular in the industry. You'll start off implementing things like gradient descent, and eventually you'll come round to actually building models and pipelines, using datasets to train them. All this culminates in the final practical exam, which is a 2-day Kaggle-like competition where we all have to build models based on a dataset given to us, then they would run on their servers and scores will be given based on the accuracy of the model. I did decently well for this competition, hence leading to my A+.