Teaching

Computer Architecture

Undergraduate course, Illinois Institute of Technology, Computer Science Department, 2025

This course introduces the fundamental principles underlying modern computer architecture; explains the key hardware components, organizations, mechanisms that realize full-functional, high-performance, and energy-efficient computing systems. Covered topics include Instruction Set Architectures, Pipelining, Out-of-order Execution, Branch Prediction, Memory Hierarchy, Parallel Machines, Application-Specific Computer Architecture with an emphasis on Machine Learning Accelerators, and Non-Conventional Computer Architecture.