Computing Hardware
This course will provide students with a deeper understanding of modern computer systems and hardware platforms, including design principles for desktop CPUs, mobile devices, graphics processing units (GPUs), and flexible computing platforms (e.g., FPGAs). Key topics include multi-core processing, hardware acceleration, software-hardware co-design, and memory management. This course includes a laboratory component and projects developing and interacting with hardware platforms.