### Teaching

In recent years, I am mainly teaching upper-year undergraduate courses on Artificial Intelligence and Machine Learning. In the past, I have taught various courses including Intro to Programming and Logic and Discrete Maths at several universities. Take a look at the courses I have taught in reverse chronological order.

#####
Courses taught at the University of Toronto:

- CSC 311. Introduction to Machine Learning. Winter 2024
- CSC 384. Introduction to Artificial Intelligence. Fall 2023

- CSC 384. Introduction to Artificial Intelligence. Winter 2023
- CSC 384. Introduction to Artificial Intelligence. Fall 2022
- CSC 311. Introduction to Machine Learning. Fall 2022

#####
Courses taught at the University of Waterloo:

- CS 486/686. Introduction to Artificial Intelligence. Fall 2021

- CS 486/686. Introduction to Artificial Intelligence. Spring 2021
- CS 486/686. Introduction to Artificial Intelligence. Winter 2021
- CS 486/686. Introduction to Artificial Intelligence. Fall 2020

- CS 486/686. Introduction to Artificial Intelligence. Spring 2020
- CS 245. Logic and Computation. Fall 2019

- CS 486/686. Introduction to Artificial Intelligence. Spring 2019
- CS 136. Elementary Algorithm Design and Data Abstraction. Winter 2019
- CS 486/686. Introduction to Artificial Intelligence. Fall 2018

- CS 245. Logic and Computation. Spring 2018
- CS 136. Elementary Algorithm Design and Data Abstraction. Winter 2018
- CS 245. Logic and Computation. Fall 2017

#####
Courses at the University of British Columbia:

- CPSC 121. Models of Computation. Spring 2017
- CPSC 121. Models of Computation. Fall 2016
- CPSC 121. Models of Computation. Spring 2017