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) and 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.
Recently, I have created and taught a new course on Machine Learning, ECE 324, Introduction to Machine Intelligence.
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.
The Edward S. Rogers Sr. Department of Electrical and Computer Engineering,
Faculty of Applied Science and Engineering, University of Toronto