This course explores fundamental concepts integral to computer architecture. Topics include information representation, Boolean algebra, logic gates, and combinational and sequential circuits. The course covers programming language hierarchy, assembly language, and memory systems, including virtual memory, and delves into instruction set architecture (ISA) and CPU functionality. It also investigates input/output mechanisms (I/O). Through theoretical study and practical exercises, students gain insights into the intricate layers of modern computing systems, enabling a comprehensive understanding of computer organization and functionality. Credits: 3.

Prerequisite: Grade of C or higher in COS 161.

Co-requisite: COS 255.

Learning Outcomes

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

  • Understand the basics of information representation and Boolean algebra in computer systems.
  • Explain the functioning of logic gates and their role in digital systems.
  • Analyze and design simple combinational and sequential circuits.
  • Describe the programming language hierarchy and its relevance in computing.
  • Demonstrate a foundational understanding of assembly language programming.
  • Explain the concepts underlying memory hierarchy and the significance of virtual memory.
  • Identify and comprehend the essentials of instruction set architecture (ISA) and CPU operations.

Textbooks

  1. Computer Systems – A Programmer’s Perspective, 3rd Edition by Randal E. Bryant and David R. O’Hallaron.
  2. Computer Systems, 5th Edition By J. Stanley Warford.

Syllabus

Spring 2024

Offered

Spring Semester