Foundations of Artificial Intelligence

Academic Year 2023 - 2024
Semester 2

NUSMods Description

Artificial intelligence is increasingly integrated in our everyday lives, and becoming a core engine to power social and economic growth. This course covers the core concepts in artificial intelligence that underlie solutions to these challenging, multi-facted problems. Topics covered include knowledge representation and reasoning with uncertainty, preference, and time, constraint satisfaction, games and optimized decisions, human factors, and new advances in integrative AI and responsible AI. The goal of this class is to introduce students to a variety of approaches for solving real-life problems using the tools of AI.


This class is taught by Prof Leong Tze Yun. I think this is the 3rd iteration of the class. I could be wrong. 30% of the course comes from tutorials, assignments and participation, 20% comes from quizzes, 25% midterm followed by a 25% weightage project.

This module covers more advanced techniques in A.I, like advanced search (online search algorithms, Monte Carlo Tree Search), Constraint Satisfaction Problems, Markov Decision Processes, Bayesian Optimisation, Reinforcement Learning and Generative A.I. I don’t think the content is hard, but executing the algorithms (like Arc-3) can be very tedious.

The tutorials were nothing special. It is just to reinforce your understanding on lecture content, but we have to write out our tutorials answers and submit them. The assignments were not that useful too, because it is just re-implementing lecture algorithms like hill-climbing, monte carlo tree search, etc.

Midterm was considerably manageable, though I panicked (again - you will see this as a very recurring theme for me during exams). When the results were released, I refused to even look at them. But when they were shown on canvas, turns out I did very well.

The main highlight of this class is probably the final project where you have free rein on what you want to do related to A.I. My group and I did a competition entry and used various A.I techniques to solve the problem. We also made our own techniques or additions to the existing algorithm. My group won Best project in the end.

In the end, I guess you could take this module if you are interested in A.I but you might want to take it with friends so that you can learn from one another as some concepts can be quite tough or counter-intuitive.