View on GitHub



For the current schedule and to see the current set of notes.

Syllabus for CMPUT 466 / 551

Time and Location

Tuesday and Thursday, 12:30 - 1:50 p.m. SAB 336


Martha White

Office: ATH 3-05




(in alphabetical order)

Roberto and Kris are helping out, and so are not full-time TAs. Please respect all TAs time, but also know that Touqir and Peng will be available for more labs because they are full-time TAs. All four TAs are fantastic, and knowledgeable in machine learning; you should definitely ask them questions if you are stuck or to further your knowledge.

Office hours

Lab times and locations

Labs are not mandatory, and will basically be run as office hours with the TAs. If some weeks there is no demand for labs, they will be cancelled. Each lab location has space for 22 students, that have been enrolled specifically for that lab; if the lab is full, you will need to give priority to the enrolled students (though it is unlikely the lab will be full).

Course Objective

The course objective is to study the theory and practice of constructing algorithms that learn (functions) from data. Machine learning is a field with goals overlapping with other disciplines, in particular, statistics, algorithms, engineering, or optimization theory. It also has wide applications to a number of scientific areas such as finance, life sciences, social sciences, or medicine.


You are expected to be comfortable with programming, and to have background in probability and linear algebra. The programming assignments will be in Python.


Main notes will be provided in class.

Recommended supplements


For 466:

For 551:


Late Policy and Academic Honesty

All assignments and exams are individual, except when collaboration is explicitly allowed. All the sources used for problem solution must be acknowledged, e.g. web sites, books, research papers, personal communication with people, etc. Academic honesty is taken seriously; for detailed information see