Teaching

Approach

I teach computer architecture and digital systems at the University of British Columbia. My courses combine theory with hands-on work using industry-relevant tools, so students can reason about caching, branch prediction, and performance optimization and apply those ideas to real systems.

Courses at UBC

  1. CPEN 511

    Advanced Computer Architecture Graduate

    Jan–Apr 2019, 2020, 2024, 2025

    Term details
    • Winter 2024 T2: 21 Lectures and 5 Project Presentations, Class size: 10
    • Winter 2023 T2: 21 Lectures and 5 Project Presentations, Class size: 16
    • Winter 2019 T2: 21 Lectures and 5 Project Presentations, Class size: 16
    • Winter 2018 T2: 18 Lectures and 3 Project Presentations, Class size: 5
  2. CPEN 411

    Computer Architecture

    Sep–Dec 2019, 2020, 2021, 2022, 2023, 2024

    Term details
    • Winter 2024 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 80
    • Winter 2023 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 89
    • Winter 2022 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 65
    • Winter 2021 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 68
    • Winter 2020 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 38
    • Winter 2019 T1: 24 Lectures and 12 Tutorial Sessions, Class size: 38
  3. CPEN 311

    Digital Systems Design

    Jan–Apr 2022, Sep–Dec 2023

    Term details
    • Winter 2023 T1: 24 Lectures and 24 Lab Sessions, Class size: 113
    • Winter 2021 T2: 24 Lectures and 24 Lab Sessions, Class size: 36
  4. CPEN 211

    Introduction to Microcomputers

    Sep–Dec 2022

    Term details
    • Winter 2022 T1: 12 Lectures, 7 Lab Sessions, and 3 Lab Proficiency Tests, Class size: 317

Tutorials

  1. 2023–24

More Details

See the CV for term-by-term details, including lecture counts and class sizes.