CS 351 Computer Architecture I • 5 Cr.


This course introduces the functional components of modern computer systems (processor, memory, Input/Output, etc.), characteristics and performance of these components. The course also addresses the interactions among hardware and software components. This course further allows students to develop programming skills while learning computer architecture with assembly programming assignments. Prerequisite: CS 211 and admission to BS CS program, or instructor's permission.


After completing this class, students should be able to:

  • Describe a computer's functional components, their characteristics, performance, and interactions 
  • Convert numerical data from one format to another 
  • Evaluate the quantitative performance of computer systems and designs 
  • Articulate the cost-performance issues and design trade-offs in designing and constructing a computer processor including memory 
  • Trace the execution of instructions and programs on pipelined processor, and quantitatively compare the performance of programs on pipelined and non-pipelined processors 
  • Describe the principles of memory management including caches, virtual memory, SRAM, DRAM, etc. 
  • Build circuits using both combinational and sequential digital logic elements 
  • Write simple assembly language program segments