Graduate students in any academic program can study data science. Below is a list of recommended courses. For courses that allow you to experience more basic training in Data Science, also see our  Undergraduate Course offerings.

Data Science 9000: Introduction to machine learning

This is the recommended introductory course to Machine Learning for graduate students who have not taken a machine learning course in their undergraduate degree. The course is cross-listed with Data Science 3000 and is offered in the fall (A) and winter semester (B) (check the undergraduate calendar for lecture times and instructor information).

The course covers basic principles of machine learning (estimation, optimization, prediction, generalization, bias-variance trade-off, regularization) in the context of supervised (linear models, decision trees, deep neuronal networks) and unsupervised (clustering and dimensionality reduction) statistical learning techniques.


To make the course accessible to graduate students from all possible backgrounds, we do not have a list of fixed prerequisites. However, to take the class, we strongly suggest intermediate knowledge in:

  • Linear algebra (matrix operations and eigenvalues)
  • Calculus
  • Statistics (probability and density functions)
  • Programming in Python (loops, conditionals, functions, classes) 

Self-assessment test: To help you judge whether you have the required knowledge, we provide an optional self-assessment test. We highly recommend you taking the test before enrolling in the course.

ECE 9309: Machine Learning: From Theory to Applications

The objective of this course is to introduce students to Machine Learning techniques based on a unified, probabilistic approach. Regression, classification, clustering, neural networks, mixture models, ensemble methods, and structure prediction will be covered in this course. Students will get hands-on experience with machine learning from a series of practical engineering case-studies. Similar topics, but slightly more technical than Data Science 9000.

  • Prerequisites: Knowledge of statistics, calculus, and linear algebra is required as well as strong programming skills.
  • Offered in: Fall (A) and Winter (B)

Computer Science 9542: Artificial Intelligence II

A broad range of areas falls into the field of Artificial Intelligence. In this course we cover two very active areas of Artificial Intelligence: machine learning and deep learning with applications in computer vision. Students should have prior knowledge in Linear Algebra, Statistics, and Programing (Python or MATLAB). Cross-listed with CS4442.

  • Offered in: Winter (B)

Computer Science 9873: Brain-inspired Artificial Intelligence

This is an advanced course in artificial intelligence covering recent advances in deep learning inspired by human brain intelligence:neural networks, computations, and learning algorithm, Representation learning, Transfer Learning, Autoencoders, Unsupervised and self-supervised learning, Recurrent neural networks, Attention neural networks, Memory augmented neural networks, Multi-modal neural networks, and Lifelong learning. Students should have prior knowledge in introductory machine learning and AI courses.

  • Offered in: Fall (A)

Computer Science 9864B: Software Engineering for Big Data Applications and Analytics

Concepts and technologies involved in the engineering of data-intensive software systems and services are explored. Class projects include: (a) creating a hybrid system on a Cloud showing both system quality (e.g., performance and usability) and data attributes (e.g. volume and velocity), and (b) an in-depth analysis of a specific topic. Exposure to undergraduate level software development and data-oriented courses is expected.

  • Prerequisites: Software development skills and some exposure to Machine learning.
  • Course Outline: Owl Page
  • Offered in: Winter (B)

Computer Science/ Statistical Science 9878B: Analysis of High Dimensional Noisy data

This is a graduate topic course cross-listed by the Department of Statistical and Actuarial Sciences (DSAS) and the Department of Computer Science (DCS). It is open to graduate students in DSAS, DCS, and Data Analytic Master program, as well as those interested in this course. This course focuses the discussion on the theory and methods. Hands-on experience on implementations of various methods is not the target, though some implementation software packages are to be discussed.

  • Prerequisites: Having basic statistics knowledge such as likelihood, conditional expectations, and regression would be important to well appreciate this course.
  • Offered in: Winter (B)

Financial Modelling 9528: Banking Analytics

This course will give students a mix of knowledge and practice in the use of business analytics tools, from using Excel for pricing a bond and calculating credit risk, to advanced deep learning models which will provide tools to tackle sophisticated problems using the latest computational tools. These models will be applied to several business problems within modern financial institutions, covering topics such as credit scoring, LGD and EAD modelling, and advanced models to extract complex non-linear patterns from large amounts of diverse data in topics such as collections, consumer fraud and other applications. The focus will be on the underlying principles, modelling methodologies, and implementation using appropriate software packages.

  • Prerequisites: Basic financial and statistical knowledge is required to understand the concepts and underlying mathematical processes. Previous programming experience required in any language.

ECE 9603/9063: Data Analytics Foundations

Various forecasting approaches (such as moving averages, support vector regression, neural networks) and recommender systems are covered. The emphasis is on solving real world problems using those techniques. Deep learning is explored because it can learn complex non-linear relationships commonly present in Big Data, capture various levels of abstraction, and learn good features from data. Suitable for graduate students with software engineering or computer science background.

  • Prerequisites: At least one undergraduate programming course and at least one statistics course
  • Course Outline: Owl Page
  • Offered in: Fall (A)