This course provides an in-depth exploration of computer systems, focusing on hardware architecture, operating systems, and the interaction between hardware and software. Students will gain a thorough understanding of CPU/ GPU functions, register sizes, and how hardware limitations impact program capabilities. By learning about hardware design, students will be equipped to optimize algorithms, improve memory access patterns, and exploit parallel processing, leading to faster and more resource-efficient code. The course also covers processor organization, memory, caches, and input/output systems, enabling students to write efficient code, diagnose performance bottlenecks, and design systems tailored to specific computational needs. This knowledge empowers students to develop applications that maximize the potential of modern computing architectures.
Prerequisite
Students must be accepted into CBC's BS in CS program.