CPSC 370 - Computer Organization & Architecture

Catalog Description

This course will study computer organization topics such as data representation, Boolean logic, memory hierarchy, and data path design. It will study computer architecture topics such as CPU control, pipelining and instruction set architecture. The course will also introduce the architecture and software models involved in parallel computing. Students will learn the assembly level machine organization by means of a standard assembly language.

Prerequisite: CPSC 246 (3 credits)

Course Outcomes

This course and its outcomes support the Computing Learning Outcomes of Problem Solving and Critical Thinking (PS&CT) and Communication and Interpersonal Skills (C&IS). These Computing Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking, Quantitative Reasoning, and Effective Communication.

Program Objectives Assessed in CPSC 370

Learning OutcomesAssessed Course Objectives
PS & CT b. Integrate design and implementation principles to develop effective applications1. Write modular assembly language programs that execute to given specifications, terminate normally, are well documented, and are readable.
C & IS a. Document all aspects of a system precisely and clearly
PS & CT a. Formulate project requirements and alternative solutions appropriate to the computing problems2. Design and construct digital circuits using basic SSI and MSI gates, using both combinatorial and sequential logic.
PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics3. Perform basic operations with signed and unsigned integers in decimal and binary number systems.

Additional Course Objectives include:

The student will be able to

  1. Perform basic operations with signed and unsigned integers in decimal and binary number systems.
  2. Explain the regular operation of a computer in terms of the fetch-decode-execute cycle and the interaction between the instruction set architecture and the computer organization.
  3. Trace and explain the result(s) of the execution of a given instruction or sequence of instructions in a subset of assembly language.