This course provides an introduction to the fundamental principles of computer architecture, focusing on how hardware and software interact to perform computations. The course covers topics such as data representation, assembly language, instruction sets, memory hierarchy, CPU organization, input/output systems, and the basics of digital logic. Students will learn how computers process instructions at the machine level and how different architectural components, such as processors, memory, and buses, work together to execute programs.
Upon successful completion of this course, students will be able to:
These outcomes aim to provide students with foundational knowledge in computer architecture and machine-level programming, preparing them for more advanced courses in computer science, systems programming, and hardware design. The course equips students with the skills needed to understand how computers work at a fundamental level, enabling them to optimize software performance and troubleshoot hardware issues.