Course Overview

Course Coverage

An introduction to the foundational principles of computer architecture, including the design and organization of processors, memory hierarchies, input/output systems, and multiple CPU systems. Learn the core components that make up modern computer systems, including the CPU, GPU, memory, buses, and storage. Learn how to optimize performance, analyze trade-offs, and appreciate the historical and societal context of computing.

Student Learning Outcomes

By the end of the course, students will be able to:

  • apply Boolean algebra and digital logic principles to design and analyze combinational and sequential circuits, demonstrating their ability to solve complex computing problems.
  • design and implement arithmetic and logic units using digital logic, including creating optimal solutions for adders, ALUs, and memory elements while evaluating performance trade-offs.
  • develop proficiency in assembly language programming using the HACK language, including writing, debugging, and optimizing low-level code to create computing-based solutions.
  • analyze computer system organization by understanding the interaction between processors, memory, and I/O systems, enabling them to evaluate architectural design choices and their performance implications.
  • work collaboratively to design and implement computer architecture components, making informed decisions about trade-offs while effectively communicating technical solutions in professional contexts.
Next