The basic hardware, architecture, and software of computer systems are covered. Subjects include digital logic design, microprogramming, machine languages, assembly languages, and operating systems. Lab: Students design, build, and test combinational and sequential logic circuits and write assembly language programs.

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.

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