Teaching

Courses

Courses at University of Waterloo (UW)

ME 262 - Introduction to Digital Logic and Microprocessors

Offered in Spring terms. Number systems, logic gates, Boolean algebra. Karnaugh maps and combinational logic design. Sequential logic and state machines. Programmable Logic Controllers (PLCs) and PLC programming using ladder logic and statement list. Microcomputer structure and operation, I/O and interfacing. Assembly language programming. Laboratory work includes microcomputer and PLC programming.

MTE 544 - Autonomous Mobile Robots

Offered in Fall terms. Fundamentals of autonomous mobile robotics, including both perception and planning for autonomous operation, sensor modelling, vehicle state estimation using Bayes Filters, Kalman Filters, and Particle Filters as well as onboard localization and mapping. Topics in planning include vehicle motion modelling and control, as well as graph based and probabilistic motion planning.

ME 640 - Autonomous Mobile Robots (graduate version of MTE544)

Offered in Spring terms. Fundamentals of autonomous mobile robotics, including both perception and planning for autonomous operation, sensor modelling, vehicle state estimation using Bayes Filters, Kalman Filters, and Particle Filters, onboard localization and mapping, including SLAM. Topics in planning include vehicle motion modelling and control, as well as graph-based and probabilistic motion planning. Course delivery includes a term-long project and written assignments.

ME 780 - Collaborative Robotics (under Special Topics)

Offered for the first time in Winter 2026. Preliminary Outline here.

This graduate course explores the design, control, and evaluation of collaborative robots (cobots) that safely and intelligently work alongside humans in industrial, healthcare, and service environments. It integrates principles of human-robot interaction (HRI), human-robot collaboration (HRC), and human-centered design with control, perception, and learning methods for safe physical and social interaction. The course comprises of three modules: safety, control, and ethics and security, covering topics such as safety standards, control and machine learning for collaborative robots, human-centered design, human-factors, and ethical considerations in robotics including privacy and cybersecurity. Course assessments include assignments and a major project focused on collaborative robotics applications.