Teaching

Courses taught at the University of Waterloo and Nanyang Technological University.

My recent teaching spans digital hardware design, RTL systems, reconfigurable computing, on-chip communication, computer arithmetic, and machine learning for chip design. Waterloo course links open the official Outline repository; a University of Waterloo login may be required.

University of Waterloo

2025

2024

2023

Earlier Waterloo Offerings

Nanyang Technological University

2015

  • Semester 1 · CE4052 — Embedded Software Development
  • Semester 1 · CE3001 — Advanced Computer Architecture
  • Semester 2 · CE4054 — Programmable System-on-Chip

2014

  • Semester 1 · CE4052 — Embedded Software Development
  • Semester 1 · CE1005 — Digital Logic
  • Semester 2 · CE4054 — Programmable System-on-Chip

2013

  • Semester 1 · CE7451 — Research Methods in Computer Science & Engineering
  • Semester 1 · CE4052 — Embedded Software Development
  • Semester 1 · ES7501 — Electronic Design Automation