CS 226 Computer Organization and Design

Catalog Description: 

A comprehensive introduction to the general organization, architecture and functional characteristics of computer systems. Topics include machine level representation of data, assembly level machine organization, memory systems organization and architecture, alternative architectures and device interfaces.

Prerequisite: 
CS 201 and MATH 207 or permission of the instructor
Credits: 
3
Offered: 
Both semesters
Required or Elective: 
Required for the BS in computer science
Level: 
Foundation
Coordinator: 
Bill Pierce
Current Textbook: 

Computer Organization and Design: The Hardware/Software Interface, Patterson, David A., and Hennessy, John L., Morgan Kaufmann Publishers, Inc., 5th Edition (2014).

Topics covered: 
  • Computer Abstraction & Technology
  • Units, Binary, Data Representation in Hardware, ASCII, Unicode, Integers
  • Instructions: Language of Computers
  • Arithmetic for Computers
  • Computer Performance
  • The Processor
  • Memory
  • Multicore, Multiprocessors
Student Learning Outcomes: 

On completing this course, the student will be able to:

  1. Describe the components of a computer system, their function and interconnections
  2. Explain how information is represented in computer hardware
  3. Apply cost/performance criteria for evaluating computer systems
  4. Write, debug and analyze simple assembly language programs
  5. Explain the steps involved in the compilation and execution of computer programs
  6. Discuss the technological changes that have driven the growth of computer systems
Relation of Course Outcomes to Program Outcomes: 

 

CS 226 Student Outcomes (SOs)
Course Learning Outcomes a b c d e f g h i j k
1. Describe the components of a computer system, their function and interconnections                  
2. Explain how information is represented in computer hardware                
3. Apply cost/performance criteria for evaluating computer systems                
4. Write, debug and analyze simple assembly language programs                
5. Explain the steps involved in the compilation and execution of computer programs            
6. Discuss the technological changes that have driven the growth of computer systems                  
Role in Assessment: 

See the pages "BSCS Course Matrix" and "BSCS Courses for Assessment"

This course contributes to the assessment of the following SOs and PIs.

 

SOPIStrategy
aa.1The student will write, debug and analyze an assembly language program.
aa.2Apply computer performance calculations given model scenario; calculate cache memory profile
.cc.1Discuss the technological changes that have driven the growth of computer systems
hh.1Apply cost/performance criteria for evaluating computer systems
hh.2Discuss the technological changes that have driven the growth of computer systems
jj.2Apply cost/performance criteria for evaluating computer systems
Go to top