Machine Learning
CSCI 5770G
Winter 2023
Faisal Qureshi


Jan 1, 2023
Website is now online.

Course Info




Office hours

Canvas (requires login)

Student work will be submitted via the course canvas site.


This is an introductory graduate course in machine learning. This course will focus on both supervised and un-supervised learning methods, covering both theory and practice. The course is geared towards students who wish to develop a working knowledge of the recent advances in machine learning, and how these are applied in various domains.

Machine learning deals with how to design computer programs that learn from “experience.” Residing at the intersection of computer science and statistics, machine learning aims to extract useful information from data (often referred to as the training data) and leverages this information to create computer models capable of carrying out useful, non-trivial tasks, such as designing cars that can drive on their own, filters for blocking junk email, diagnostics tools for disease discovery, etc. By many accounts machine learning is the “greatest export” of computer science (and statistics) to other disciplines.

The course will cover the following topics:


The course assumes that students are comfortable with statistics, basic linear algebra, and programming.

I recommend reading Part 1 of “Deep Learning” by I. Goodfellow, Y. Bengio and A. Courville to brush up on linear algebra and statistics. The book is available at here

We will be using Python for the programming part of this course. For Python, I recommend the Anaconda distribution, which comes pre-loaded for nearly all the packages that we will be using in this course. Of course you are welcome to use any variant/distribution of Python that suits you.

Here you’ll find a number of tutorials showcasing Python use in machine learning. I strongly recommend that you become comfortable with the following four Python packages/environment:


A student needs to get 60% marks in the project to successfully complete the course.

Important dates

Ontario Tech University’s academic calendar that lists important dates (and deadlines) is available at here.

Course Calendar

Week 1


Week 2


Week 3


Week 4


Week 5

Week 6

Week 7

Week 8

Week 9

Week 10

Week 11

Week 12


The course project is an independent exploration of a specific problem within the context of this course. It is worth 50% of the marks. A project can be implementation oriented—where a student implements a machine learning algorithm—or application oriented—where a student attempts to solve a problem (of suitable difficulty) by applying machine learning techniques. Project topic will be decided in consultation with the instructor. Project grade will depend on the ideas, how well you present them in the report, how well you position your work in the related literature, how thorough are your experiments and how thoughtful are your conclusions.

Project proposal

One page project proposals are due by Feb. 16. The project report, in the form of a paper, is due by Apr. 11. Time permitting there will be an opportunity to give a short presentation about your project.

Final Report

For your final project write-up you must use ACM SIG Proceedings Template (available at the ACM website). Project report is at most 12 pages long, plus extra pages for references.