About the course

From the second they are born, humans begin a long journey of learning. In this journey, they will learn to understand the shape of objects, to associate smells with taste, to walk, to communicate with others, to make ethical decisions and much more. Learning is at the core of what defines us. Without this cognitive capacity, we would cease to exist. It is however not unique to us, but also essential to the survival of all other species. Understanding learning is a big part of understanding life itself.

The course is also about more immediate practical skills. It is about the analysis of "Big Data". It is about learning the tools that will allow you to succeed in the face of the data deluge. No course could be more practical at this point in time.


Time: Tue Th 12:30-2:00pm

Location: Dempster 110

Instructor: Nando de Freitas (nando@cs)

Tutorial/office hours: Tuesday 2:00-3:30 (ICICS X836)

TAs: tba (tba@cs)

Online discussion: cpsc540 google group

Lecture videos

Textbook and software

The official textbook will be the one of Kevin Murphy. Please buy a pre-print copy from Copiesmart.

The programming language of the course is Matlab. I strongly recommend you follow this link and become familiar with Matlab prior to the start of the course. Kevin Murphy has also developed a matlab toolbox for his book. It is called PMTK.


  • Assignments: 30%
  • Exam: 30% (Early March)
  • Project: 40%
  • The instructor has the right to change the marking scheme under reasonable circumstances.


  • Assignments will involve both written and Matlab programming problems.
  • All assignments are due on the specified time. 20% off for each day late. Assignments will not be accepted after 5 days late.
  • LATEST :

    • Classes begin on January 11th.
    • The machine learning book of Hastie, Tibshirani and Friedman is a good online alternative: The elements of statistical learning.
    • The following handout should help you with linear algebra revision: PDF