Machine Learning

NUS SoC, 2022/2023, Semester I, Hybrid: Physically Mondays, 16:00-18:00 (i3 Auditorium) and Thursdays, 11:00-12:00 (i3 Auditorium); Virtually on Zoom via LumiNUS Conferencing.

This module introduces basic concepts and algorithms in machine learning and neural networks. The main reason for studying computational learning is to make better use of powerful computers to learn knowledge (or regularities) from the raw data. The ultimate objective is to build self-learning systems to relieve human from some of already-too-many programming tasks. At the end of the course, students are expected to be familiar with the theories and paradigms of computational learning, and capable of implementing basic learning systems.

N.B. We will be teaching and using the Python programming language throughout this class and Jupyter Notebook via Google Colab. We will using Python 3.x, and largely the SciKitLearn and PyTorch libraries.

Class Structure

While we will not require any proof of your inability to attend physically to attend class online, as with current NUS policy, you are strongly encouraged to come to class physically on the days of lecture and tutorial.

This class is a synchronous hybrid class, a variant of a blended class. You’ll need to be synchronously present in the lecture (either in the lecture theatre or online in Zoom) to participate for class participation marks. It is highly encouraged that you come to class physically, as also encouraged by the current university policy. Attendance in person and online will be recorded.

Important: Do ensure that you have the lecture times free in your schedule, as the class is synchronous. There will no be alternate exam arrangements.

For most of the Thursdays sessions, we will have a synchronous help session where Min and Brian will field questions from students on questions, concerns and doubts you have on the lecture materials or other components of the course.

Tutorial Sessions

There will be tutorials for this class starting in Week 03. As with the lecture, you are encouraged to come physically for these sessions at Computing. These will be the complementary means by which we touch base with you and get to know you personally. Please do attend these sessions physically, as many of these sessions will not be webcasted (although tutorial solutions will be distributed, you should come to the sessions to get the complete picture, and to be a part of the class).

These tutorial session timings still subject to change. Please see NUSMods for the most up-to-date details. As an enrolled student, you are entitled to one tutorial placement, and need to attend that slot even if not optimal for you. Nicely, all of the tutorials slots come before (Monday-Wednesday), the second class lecture slot on Thursdays.

If you have difficulties with registering for a valid tutorial slot in your schedule, please contact the teaching assistant tutorial registration coordinators Enzio Kam and Mariya Tsyganova: / Do not direct your email to the facilitators of the course.

  1. T01. Mondays, 12:00-13:00
  2. T02. Mondays, 13:00-14:00
  3. T03. Mondays, 14:00-15:00
  4. T04. Tuesdays, 12:00-13:00
  5. T05. Tuesdays, 13:00-14:00
  6. T06. Tuesdays, 14:00-15:00
  7. T07. Tuesdays, 16:00-17:00
  8. T08. Tuesdays, 17:00-18:00
  9. T09. Wednesdays, 10:00-11:00
  10. T10. Wednesdays, 11:00-12:00
  11. T11. Wednesdays, 16:00-17:00
  12. T12. Wednesdays, 17:00-18:00

Course Characteristics

Modular Credits: 4.

Prerequisites: (CS2040 or its equivalent) and (EE2012A or ST2131 or ST2334) and (MA1101R or MA1311 or MA1508E or MA1512) and (MA1102R or MA1505 or MA1521)

Translation: Data Structures and Algorithms, Probability and Statistics, Linear Algebra and Calculus.

Questions about prerequisities and waivers are handled centrally by the department. Please contact Seth GILBERT) to describe your case and seek any waivers regarding prerequisities.


Min-Yen KAN
AS6 05-12

Brian LIM
COM2 03-49

Teaching Assistants

Graduate Teaching Assistants

Ibrahim Taha AKSU

GU Xiangming


Undergraduate Teaching Assistants


LEE Penn Han


TAN Yong-Jia, Naaman

Juliet TEOH Qian Ying




2 lecture hours per week
1 hour of tutorials
3 hours for projects, assignments, fieldwork, etc. per week
4 hours for preparatory work by a student per week