CSC311 - Introduction to Machine Learning (Summer 2026)

Overview

Machine learning (ML) is a set of techniques that allow computers to learn from data and experience rather than requiring humans to specify the desired behavior by hand. ML has become increasingly central both in AI as an academic field and industry. This course provides a broad introduction to some of the most commonly used ML algorithms. It also introduces vital algorithmic principles that will serve as a foundation for more advanced courses, such as CSC412/2506 (Probabilistic Learning and Reasoning) and CSC413/2516 (Neural Networks and Deep Learning).

We start with nearest neighbors, the canonical non-parametric model. We then turn to parametric models: linear regression, logistic regression, soft-max regression, and neural networks. We then move on to unsupervised learning, focusing in particular on probabilistic models, but also principal components analysis and K-means. Finally, we cover the basics of reinforcement learning.

This course will delve deep into the mathematical foundations of machine learning and will focus on implementing, understanding and debugging software programs for building machine learning models from data. This class will make heavy use of the mathematical and statistical pre-requisites for this class. Students are expected to be comfortable with technical material from multivariate probability theory, multi-variable calculus and linear algebra enough to manipulate them towards the description, design and implementation of learning algorithms for machine learning models.

Jump to:

Assignments
Lectures

Course Sections

There is only section of this course being offered this term. As of May 2026, we plan to have in-person lectures, tutorials, office hours, midterm and final exam.

Auditing is not allowed this term without express written permission by the instructor.

Section Instructor Lecture Tutorial
5101 Amanjit Singh Kainth Thursday 18:00 - 20:00, BA1170 Thursday 20:00 - 21:00, BA1170

 

ChatGPT-GPT4 and the use of generative AI tools for learning

There are several generative AI tools such as ChatGPT, GPT4, Bard, Claude available for public use as general purpose chatbots. These machine learning models are incredibly powerful and are capable of providing responses to arbitrarily complex text (and sometimes image) queries. You may use generative artificial intelligence (AI) tools, including ChatGPT and GitHub Copilot, as learning aids.

Generative AI is not required to complete any aspect of this course, and we caution you to not rely entirely on these tools to complete your coursework. Instead, we recommend treating generative AI as a supplementary tool only for exploration or drafting content. Ultimately, you (and not any AI tool) are responsible for your own learning in this course, and for all the work you submit for credit. It is your responsibility to critically evaluate the content generated, and to regularly assess your own learning independent of generative AI tools. Over reliance on generative AI may give you a false sense of how much you’ve actually learned, which will lead to poor performance on the midterm test and final exam, in later courses, or in future work or studies after graduation. You will not be permitted to use generative AI on the midterm test or final exam. Remember that you (and not any AI tool) are responsible for your own learning in this course, and for the final work you submit for this assignment.  These assignments and homework are designed to be doable without the use of generative AI, using only concepts and skills we have covered in lecture and in the course readings.

While some generative AI tools are currently available for free in Canada, please be warned that these tools have not been vetted by the University of Toronto and might not meet University guidelines or requirements for privacy, intellectual property, security, accessibility, and records retention. Generative AI may produce content which is incorrect or misleading, or inconsistent with the expectations of this course. They may even provide citations to sources that don’t exist—and submitting work with false citations is an academic offence. These tools may be subject to service interruptions, software modifications, and pricing changes during the semester. 

The final work you submit for assignments in this course must be your own, and may not include any verbatim content from generative artificial intelligence (AI) tools. You may, however, use generative AI to support your work on this assignment in the following ways:

  If you choose to use any generative AI tools while working on this assignment, you must acknowledge which generative AI tools you used and how you used them. It is an academic offence to not credit sources—including generative AI—in work that you submit. This acknowledgement should take the form of:

Any uses of generative AI beyond the ones listed above are not allowed, and will be considered use of an unauthorized aid, which is a form of cheating.   In summary:

Prerequisites

This course has the following pre-requisites:

Note that these are the minimum pre-requisites; in practice you are expected to have an operational knowledge of the topics in the pre-requisites. CSC311 is a fast paced course. The preliminary quiz will help you self assess the degree to which your knowledge of the pre-requisites will be tested during the course of the semester. If you find yourself falling behind on the mathematical concepts, we strongly recommend investing time into self-study using the Mathematics for Machine Learning textbook.

Grading Scheme

We will use the following grading scheme for the course.

Evaluation Weight
Math Diagnostic Quiz 0%
Assignments (3) 30%
Project 10%
Midterm Exam 20%
Ethics Module 5%
Final Exam 35%

Note that you must obtain a grade of at least 40% on the final exam to pass the course. f your final exam grade is less than 40%, the maximum final grade you can obtain for the course will be 47%. For the Ethics Module, the 5% weight will be split into mini-assignments, as follows:

Mini-Evaluation Weight Marking
Pre-Module Survey: (due date: August 1 at 5pm) 1% Completion
Class Participation 0.5% Automatically Given

Reflection on Class Activity: (due date: August 2 at 11pm)

(To be submitted on MarkUs)

2% Good-Faith Effort
Post-Module Survey (on Quercus): (due date: August 3 at 11pm) 1.5% Completion

In short, we expect almost all students to get the full 5%.

Communication

There are many ways to get in touch with us.

Please follow these rules when you contact us:

TAs will hold office hours to help with assignments and project, as well as preparing for the midterm and the final exam. TA office hours will be posted in the respective sections.

Assignments

There will be 3 assignments in this course, posted below. Assignments will be due at 6pm on Mondays or Fridays and submitted through MarkUs. We also be using MarkUs to post any starter code (if any) that can be found under the "Starter Files" section on the Assignment submission page.

All in-person TA Office Hours are going to be held at the CS Help Center in BA2270. TA OHs indicated below are to be held in-person, except where indicated as such (online).

The zoom details for online OHs are:

# Handout Due
TA Office Hours
Math Diagnostic

quiz.pdf

May 15 N/A
Assignment 1 May 29

Scheduled:

Assignment 2 June 19 (before 11 pm)

Scheduled:

Assignment 3 July 17

Scheduled:

Ethics Module

August 3 (before 11pm):

Complete post-module survey on Quercus and submit reflection on Markus

N/A

Final Project

Project Proposal (Option 2): July 20

Final Report and Code: August 7

Scheduled:

Math diagnostic. The Math for ML textbook is probably helpful to skim.

Computational Resources: We will use Python 3 (>= 3.10), and libraries such as NumPy, SciPy, and scikit-learn. You have two options:

  1. The easiest option is probably to install everything yourself on your own machine.

    1. If you don't already have Python 3, install it.

      We recommend some version of Anaconda (Miniconda, a nice lightweight conda, is probably your best bet). You can also install Python directly if you know how.

    2. Optionally, create a virtual environment for this class and step into it. If you have a conda distribution run the following commands:

      conda create --name csc311
      source activate csc311
    3. Use pip to install the required packages

      pip install scipy numpy autograd matplotlib jupyter scikit-learn
      
  2. All the required packages are already installed on the Teaching Labs machines.

Late Submission Policy: Everyone will receive 3 grace days, which can be used at any point during the semester on the three assignments. No credit will be given for assignments submitted after 3 days. We will have a separate policy on the final project.

Collaboration Policy: Collaboration on assignments is not allowed. Each student is responsible for his/her own work. Discussion of assignments should be limited to clarification of the handout itself, and should not involve any sharing of pseudo-code or code or simulation results. Violation of this policy is grounds for a semester grade of F, in accordance with university regulations.

Remark Policy: If you discover a marking error on an assignment, you can submit a remark request. We will consider remark requests up to two weeks after we release the marks for an assignment or the midterm. Please submit your remark request via MarkUs (for assignments) or Crowdmark (for the Midterm).

Midterm Test

About half-way through the term, we will have a midterm examination. You will be allowed to bring one aid-sheet (two-sided 8.5" by 11", handwritten or printed).

The Midterm Test will be held on <DATE> from <TIME>! NOTE: Please see <LINK> to double-check and confirm the location/date/time for your test!

The duration of the test will be <TBD> minutes. Be sure to reach the building at least 10 minutes before the start time indicated above.

The test will cover content from Weeks 1-6 (inclusive).

To get a sense of the types of questions you might expect, you may attempt the two practice midterms below (I will be posting solutions for these later):

Here is the first page of our midterm test:

To be added

Final Examination

At the end of the term, we will have a FAS proctored final examination. You will be allowed to bring an aid-sheet (double-sided 8.5" by 11").

The duration is 3 hours. Be sure to check the A&S calendar (or ACORN) for any potential changes/updates to the exam date/time/location.

Important: For in-person exams, you are required to bring a valid photo ID to be able to write the exam. Visit the Academic Calendar to learn about the types of valid photo ID, including your TCard.

You won't be able to write the final exam if you don't have a valid photo ID (even if I can vouch for you - this is administered by the Faculty), and you will be asked to contact your registrar.

The final exam schedule will be released at the A&S Final Exam Schedule page, see there for more information on our exam (make careful note of the location and time).

Here is a sample <EXAM> and its <SOLUTIONS> (Attempt the exam first to get a sense of timing and content coverage, before looking at the solutions).

I will also be posting the cover page for our final exam sometime in the last week of lectures.

Course Project

For your final project, one option is to solve a matrix completion problem. The goal is to predict, in the context of a personalized education platform, whether a student will correctly answer a diagnostic question. In groups of 2-3, you will implement and evaluate several algorithms from the course, and then propose and evaluate an extension to one of these algorithms. The other option is open-ended and both are described in the handout. For the open-ended option, we have also uploaded a sample rubric for the proposal and the final report to give you more ideas on writing an effective proposal and report. Note that these are mere sample rubrics (adapted from last semester's iteration of CSC413), and you don't need to follow it strictly (or even fully) to receive a good grade. Think of these rubrics as guiding principles that you may incorporate (when applicable) to write a good report.

Office hours: See Table above!

Lecture and Tutorial Materials

You can find all of the relevant lecture/tutorial materials below. The suggested readings are optional. We have provided them in case you need alternate resources to understand the material. All of the textbooks listed below are freely available online.

Lecture recordings are available on Piazza.

 

Week/Date Topics Covered Mathematics Prepare Videos Materials Suggested Readings

01 May 7

Math Diagnostic out: May 7

Lecture: Introduction / Nearest Neighbours

Tutorial: Probability Review

Supervised Learning Notation
Probability Distributions  

Lecture: lec01.pdf

Tutorial: tut01.pdf

Colab: Probability

Math for ML (skim)

ESL: 1, 2.1-2.3, 2.5

02 May 14

A1 out: May 14

Math Diagnostic due: May 15

Lecture: Decision Trees, Bias-Variance Decomposition

Tutorial: Linear Algebra Review

Linear Algebra
Expected Values
Vector-Valued Functions

Lecture: lec02.pdf

Tutorial: tut02.pdf

Colab: Decision Trees

Bishop: 1.5.5, 3.2

ESL: 2.9, 9.2

More on Entropy: Bishop 1.6

03 May 21

Lecture: Linear Models 1 (Linear Regression)

Tutorial: Bias-Variance Decomposition

Set Convexity
Vectorization
Partial Derivatives
Gradients
Contour Plots

 

Lecture: lec03.pdf

Tutorial: tut03.pdf

Bishop: 3.1

ESL: 3.1 - 3.2

Math for ML Chapter 7

External: Matrix Cookbook

Course notes: Generalization and Bias-Variance decomposition, Linear Regression

04 May 28

A1 due: May 29

Lecture: Linear Models 2 (Logistic Regression)

Tutorial: Optimization

Vector Valued Functions
Multivariate Chain Rule
Set Convexity 

Lecture: lec04.pdf

Tutorial: tut04.pdf

Colab: Optimization

Bishop: 4.1, 4.3

ESL: 4.1-4.2, 4.4, 11

External: Why momentum really works

Course notes: Linear Classifiers, Training a Classifier

05 June 4

A2 out: June 1-4

Lecture: Linear Models 3 / Neural Networks 1

Tutorial: Pytorch

Representing Categorical Inputs
Multivariate Chain Rule for Gradient Computation

Lecture: lec05.pdf

Tutorial: tut05.pdf

Colab: Pytorch Linear Models & Neural Networks

Bishop: 5.1-5.3

Course notes: Multilayer Perceptrons

06 June 11

Lecture: Neural Networks 2

Tutorial: Midterm Review

Multivariate Chain Rule 1
Multivariate Chain Rule 2

Lecture: lec06.pdf

Tutorial: tut06.pdf

External: Neural Net Playground, Convolution arithmetic (good animations on the convolution operation, more details on arithmetic details around padding, stride etc.)

Course notes: Backpropagation

Exam Period: June 18-24

Midterm Test: <TBA>

A2 due: June 19

 Midterm: TBD

   

Mid-semester break!

(June 20 - July 1)

Project rubric out: June 26

     

07 July 2

A3 out: July 2

Lecture: Probabilistic Models

Tutorial: Midterm

Gaussian Maximum Likelihood
Generative Modeling Terminology

Lecture: lec07.pdf

ESL: 2.6.3, 6.6.3, 4.3.0

MacKay: 21, 23, 24

08 July 9

Lecture: Multivariate Gaussians, GDA

Tutorial: Linear Algebra Review II: Eigenvalues, SVD

GDA Inference

Lecture: lec08.pdf

Tutorial: tut08.pdf

Math for ML

Bishop: 4.2

09 July 16

A3 due: July 17

Lecture: Principal Component Analysis, Matrix Completion

Tutorial: Final Project Overview

Eigenvectors and Spectral Decomposition

Lecture: lec09.pdf

Tutorial: tut09.pdf

ESL: 14.5.1

Bishop: 12.1

PCA example computation

10 July 23

Project Proposal (Option 2 only) due: July 20

Lecture: k-Means, EM Algorithm

Tutorial: EM Algorithm

 

 

Lecture: lec10.pdf

Tutorial: tut10.pdf 
Colab: EM

MacKay: 20

Bishop: 9

Barber: 20.1-20.3

External: SLIC Superpixels (based on K-means in 5d space)

11 July 30

Lecture: Embedded Ethics Unit

Tutorial: EM Algorithm

 

 

Lecture: lec11.pdf (CS), Ethics

Tutorial: See Week 10 tutorial.

External: Beyond engagement; Understanding Recommendation Algorithms

12 August 6

Project due: August 7

Lecture: Reinforcement learning

Tutorial: Final review and midterm recap

 

Sutton and Barto: 3, 4.1, 4.4, 6.1-6.5

See slides for RL recs.

Academic Integrity

Academic integrity is essential to the pursuit of learning and scholarship in a university, and to ensuring that a degree from the University of Toronto is a strong signal of each student’s individual academic achievement. As a result, the University treats cases of cheating and plagiarism very seriously. The University of Toronto’s Code of Behavior on Academic Matters outlines the behaviors that constitute academic dishonesty and the processes for addressing academic offenses.

All suspected cases of academic dishonesty will be investigated following procedures outlined in the Code of Behavior on Academic Matters. If students have questions or concerns about what constitutes appropriate academic behavior or appropriate research and citation methods, they are expected to seek out additional information on academic integrity from their instructors or from other institutional resources.

Student Support Resources

Special Considerations Policy

If you are unable to complete a course requirement due to extraordinary circumstances beyond your control, please apply for a Special Consideration by filling out this special considerations form with your supporting documentation. A special consideration request, particularly if it is not your first request in the course, would not be granted automatically.

Legitimate reasons to apply for a special consideration request:

A heavy course load, multiple assignments/tests scheduling during the same period, and time management issues are not appropriate reasons to grant special considerations. Such accommodations are meant for exceptional circumstances only and not as a means to catch up on term work. If you are having difficulty with stress and time management, please contact your college registrars, who can in turn suggest wellness counseling, academic advising, and/or learning strategists services.

Our special considerations policies are as follows.