View on GitHub



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

Syllabus for CMPUT 466 / 566

Time and Location

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

HC L 1


Martha White

Office: ATH 3-05




(in alphabetical order)

The TAs are fantastic, and knowledgeable in machine learning; you should definitely ask them questions if you are stuck or to further your knowledge. At the same time, please respect all TAs time. There is a large class, and you should restrict meetings with TAs to about 15 minutes at a time (no more than 30 minutes).

Office hours

Lab times and locations

Labs are not mandatory, and will basically be run as office hours with the TAs. Each week the TAs might present some background material, and any clarifications on material or assignments. The TAs will also supplement with office hours outside this time, if needed.

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


Graduate students (in 566) will have additional questions on the midterm, final and assignments. These questions will be bonus questions for undergraduate students (in 466).


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