Teaching Overview

Undergraduate Teaching

I have principally taught undergraduate courses on beginning software and digital hardware and computer architecture.  At the University of Toronto, this included the courses APS105 (Computer Fundamentals), ECE 241 (Digital Systems), ECE 253 (Digital and Computer Systems).  I am currently teaching ECE 243 (Computer Organization).

While teaching APS105 - an introductory C programming course - I hosted a plenary lecture in which guests spoke about the impact of software in different fields.  A selection of those lectures can be found here.

In 2018, I created and taught a new course on Machine Learning, ECE 324, Introduction to Machine Intelligence; 

That course was used as the basis for APS 360 - Applied Fundamentals of Deep Learning

Graduate Teaching

For the past 10 years, I have created and taught an inter-disciplinary graduate-level course, ECE 1778, Creative Applications for Mobile devices.   This course was open to all graduate students at the University of Toronto, and its purpose was to have new applications prototyped across many different fields of discipline. 

My plan for the future is to create a similar course, but based on interdisciplinary applications of Natural Language Processing, coming soon in the Fall of 2022 - ECE 1786, Creative Applications of Natural Language Processing..


The Edward S. Rogers Sr. Department of Electrical and Computer  Engineering,

Faculty of Applied Science and Engineering, University of Toronto