Course Information: Computer Organization

Computer Science Department
Course Competency Plan
COURSE: CpSc 370 Computer Organization

Course Description: The fundamental elements of digital logic and their use in computer construction, different kinds of data representation, elements of machine and assembly language programming and the interaction between the hardware design and the instruction set architecture of the computer. Prerequisite: CpSc 150. (3 credits)

Course Outcomes: This course and its outcomes support the Computer Science Learning Outcomes of Problem Solving and Critical Thinking (PS&CT) and Commuication and Interpersonal Skills (C&IS). These Computer Science Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving and Communication.

This course engages students in the following high impact practices: Collaborative Assignments and Projects
DegreeProgram ObjectiveAssessed Course Objective
CS I.a. Design an algorithmic solution to a problem using problem decomposition and step-wise refinement 1. Write modular assembly language programs that execute to given specifications, terminate normally, are well documented, and are readable.
CS II.a. Document all aspects of a system precisely and clearly
CS I.e. Determine appropriate hardware and software combinations for maximum efficiency 2. Design and construct digital circuits using basic SSI and MSI gates, using both combinatorial and sequential logic.
CS I.c. Examine and analyze alternative solutions to a problem 3. 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.