COMP-551 Topics in Computer Science: Applied Machine Learning (Fall 2018)

General Information

When/Where:Mondays 08:35am-09:55am (ENGMC 304) and Wednesdays 08:35am-09:55am (ENGMC 304)

Sarath Chandar, [email protected]
Office hours: Mondays 10:00am-11:00am, In class.

Lead Teaching Assistant: Prasanna Parthasarathi, [email protected]

Teaching assistants: Ali Emami, [email protected]
Scott Fujimoto, [email protected]
Gandharv Patil, [email protected]
Edward Smith, [email protected]
Junhao Wang, [email protected]
Xin Tong Wang, [email protected]
Nadeem Ward, [email protected]

Course Schedule:Click here.
Assignments:Click here.
Course Calendar:Click here.

Please check the course calendar for details regarding TA office hours.

Course Description

This is an introductory course in Machine Learning which covers the fundamental topics in supervised learning and unsupervised learning.

Tentative Course content:

Introduction - Statistical Decision Theory - Linear Regression - K-NN - Linear Classification - Indicator Regression - PCA - LDA - QDA - GDA - Naive Bayes - Logistic Regression - Perceptron - Separating Hyperplanes - SVM - Decision Trees - ensemble learning - bagging - boosting - stacking - Neural Networks - Backpropagation - Training Deep Neural Nets - Convnets - RNNs - MLE/MAP - Bayesian Learning - Density estimation - Bayesian Linear Regression - Kernel Methods - Gaussian Process - Clustering - K-means - DBScan - GMM - EM Algorithm - Frontiers in ML.

Reference Materials

Lecture notes will be available from the course web page. The course is based on the following references.
  1. [HTF] Trevor Hastie, Robert Tibshirani and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Available free online.
  2. [Bishop] Christopher Bishop. Pattern Recognition and Machine Learning.
  3. [Mitchell] Tom Mitchell. Machine Learning.
  4. [TSKK] Pang-Ning Tan, Michael Steinbach, Anuj Karpatne, Vipin Kumar. Introduction to Data Mining.
  5. [Rojas] Raul Rojas. Neural Networks.
  6. [GBC] Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. Available free online


Basic knowledge of Probability Theory/statistics, calculus and linear algebra is required. Example courses at McGill providing sufficient background in probability are MATH-323 or ECSE-305. Some AI background is recommended, as provided, for instance by COMP-424 or ECSE-526, but not required. Note that while the course does not have strict prerequesites, it is a graduate-level course in computer science.

The course is intended for hard-working, technically skilled, highly motivated students. Participants will be expected to display initiative, creativity, scientific rigour, critical thinking, and good communication skills.

Useful Online Courses covering the Prerequisites

Programming Language

We will use Python 3 in all the assignments. There will be a tutorial on Python 3 before the first assignment and all the programming tutorials will only be in Python 3.

Evaluation Criteria

The class grade will be based on the following components: We will use gradescope for all the assignments and projects. More detailed instructions on how to use gradescope can be found here.

Evaluation Policy

Late work for programming assignments will be automatically subject to a 30% penalty, and can be submitted up to 3 days after the deadline.

No make-up quizzes or make-up endterm will be given.

Some of the course work will be individual, other components can be completed in groups. It is the responsibility of each student to understand the policy for each work, and ask questions of the instructor if this is not clear. It is also the responsibility of each student to carefully acknowledge all sources (papers, code, books, websites, individual communications) using appropriate referencing style when submitting work.

We will use automated systems to detect possible cases of text or software plagiarism. Cases that warrant further investigation will be referred to the university disciplinary officers. Students who have concerns about how to properly use and acknowledge third-party software should consult the TAs.

McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see ) for more information.

In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.

In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.