Teaching

A summary of my work as an educator at McMaster and the University of Toronto.


Scientific Computation (MECHTRON 3X03 and COMPSCI/SFWRENG 4X03)

An introduction to numerical methods aimed at undergraduating engineering and computer science students in their third or fourth year of study at McMaster University. A rigorous treatment of floating point errors forms the basis of students' analysis and implementation of various methods for solving linear systems, optimization problems, eigenvalue problems, interpolation, numerical integration, and the solution of ordinary differential equations. The Julia programming language is used for assignments, tutorial quizzes, and illustrative examples. Emphasis is placed on the Taylor series as a bridge between difficult nonlinear problems and linear systems which we can actually solve with computers. No textbook required.

Introduction to Artificial Intelligence (ROB311)

I helped design and eventually taught a semester-long 3rd year engineering science course based on Russel and Norvig's classic textbook and Sutton and Barto's Reinforcement Learning: An Introduction at the University of Toronto. Lectures, assignments and exams covered: the history of AI, search, logic, constraint programming, game playing AI, ethics of AI, planning, decision tree learning, (partially observable) Markov decision processes, and reinforcement learning.

Python programming assignments included:

  • Basic search algorithms over graphs and trees

  • Robot motion planning

  • A game-playing AI competition

  • Solving MDPs and \(k\)-armed bandit problems

  • An essay on ethical issues surrounding advances in AI systems

2021 · Instructor · University of Toronto

Remotely delivered lectures to a class of 77 students during the COVID-19 pandemic. With the help of two TAs, the course's assessments were modified to a format appropriate for remote learning.

2019-2020 · Teaching Assistant · University of Toronto

Duties included creating Matlab and Python assignments with Autolab, running tutorials, answering students' questions, and creating and grading midterm questions.