Teaching

I was a Teaching Assistant of:

CSC2547H1S: Seminar in Machine Learning for Machine Vision as Inverse Graphics

This is an advanced graduate course in machine learning. It is primarily a seminar course in which students will read and present papers from the literature. The goal is to bring students to the state of the art in this exciting field. Tentative topics include generative and discriminative models for vision, convolutional and deconvolutional neural nets, variational inference and autoencoders, capsule networks, group symmetries and equivariance, visual attention mechanisms, differentiable renderers, and applications.

CSC321H5S: Intro to Neural Networks and Machine Learning

This course gives an overview of both the foundational ideas and the recent advances in neural net algorithms. Roughly the first 2/3 of the course focuses on supervised learning – training the network to produce a specified behaviour when one has lots of labelled examples of that behaviour. The last 1/3 focuses on unsupervised learning.

CSC411H5F: Machine Learning and Data Mining

This course is a broad introduction to machine learning. It will start with basic methods of regression and classification and problems of over fitting and the evaluation of learning algorithms, and then move on to more sophisticated methods such as neural networks. As part of the course, you will expand your Python skills to include numerical and scientific programming. As a fringe benefit, the students will also find out what all that math they learned is actually used for.

CSC108H1F: Introduction to Computer Programming

Introduction to Computer Programming. By the end of this course, the students should be comfortable with procedural programming in Python and will have been exposed to software development topics like testing, design, and documentation. The students will also be exposed to some core computer science ideas, such as complexity, abstraction, and the use of algorithms.