For Spring 2025, I am teaching a graduate course on optimizing compilers.

Below is a list of courses I have taught in the past.

Undergraduate Courses

CPEN 211 Introduction to Microcomputers (Fall 2015-2021, 2023-2024); Lecture video archive.
EECE 259 Introduction to Microcomputers (now CPEN 211; Fall 2014)
EECE 353 Digital Systems Design (now CPEN 311; Summer 2006, Spring 2008, 2009, 2010, Fall 2010, 2011)
EECE 476 Computer Architecture (now CPEN 411; Fall 2006, 2007, 2008, 2009, 2010, 2011, 2013)

Grad Courses

EECE 527 Advanced Computer Architecture (now CPEN 511; Spr. 2008, Fall 2008, 2009, Spr. 2011, 2012)

The following are seminar courses not listed in the UBC calendar:
EECE 571T Compute Accelerator Architectures (Spring 2019)
EECE 571M Optimizing Compilers (Spring 2007, 2012)
EECE 571B Advanced Computer Microarchitecture (Spring 2007; became EECE 527 which is now CPEN 511)