Teaching

My teaching philosophy centers on bridging the gap between theoretical computer architecture concepts and practical system implementation. I believe in hands-on learning experiences that prepare students for both industry challenges and advanced research opportunities.

Current Courses

EECS 470 Computer Architecture

Fall 2024 • University of Michigan
Advanced undergraduate course covering modern processor design, memory hierarchies, and parallel architectures. Emphasizes both theoretical foundations and practical implementation through RTL design projects, culminating in a group project in which students design an out-of-order microprocessor in SystemVerilog.

EECS 573 Microarchitecture

Winter 2025 • University of Michigan
A graduate-level introduction to the foundations of efficient microprocessor design. We will be studying research from the computer architecture literature. The course focuses on discussing paper readings, with presentations and discussions lead by students. Students also conduct a group research project, culminating with the writing of an architecture paper and delivery of a conference-style presentation.