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
- Fall · ECE 493 / ECE 720 T9 — Computer Arithmetic Hardware
- Fall · ECE 722 — Reconfigurable Computing
- Spring · ECE 493 / ECE 720 T8 — ML Techniques for Chip Design
- Spring · ECE 493 / ECE 720 T12 — On-Chip Interconnect
- Winter · ECE 327 — Digital Hardware Systems
- Winter · ECE 627 — Register-transfer-level Digital Systems
2024
- Fall · ECE 720 T7 — On-Chip Interconnect
- Winter · ECE 327 — Digital Hardware Systems
2023
- Fall · ECE 627 — Register-transfer-level Digital Systems
- Fall · ECE 722 — Reconfigurable Computing
- Spring · ECE 327 — Digital Hardware Systems
Earlier Waterloo Offerings
- Winter 2021 · ECE 722 — Reconfigurable Computing
- Fall 2021 · ECE 627 — Register-transfer-level Digital Systems
- Spring 2021 · ECE 327 — Digital Systems Engineering
- Spring 2020 · ECE 327 — Digital Systems Engineering
- Fall 2019 · ECE 627 — Register-transfer-level Digital Systems
- Spring 2019 · ECE 327 — Digital Systems Engineering
- Winter 2019 · ECE 627 — Register-transfer-level Digital Systems
- Winter 2018 · ECE 627 — Register-transfer-level Digital Systems
- Winter 2018 · ECE 720 T6 — Trends in Reconfigurable Computing
- Spring 2018 · ECE 327 — Digital Systems Engineering
- Spring 2017 · ECE 327 — Digital Systems Engineering
- Winter 2017 · ECE 720 T6 — Trends in Reconfigurable Computing
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