CSC 205

Computer Organization

Examines the hierarchical structure of computer architecture. Focuses on multi-level machine organization. Uses a simple assembler language to complete programming projects. Includes processors, instruction, execution, addressing techniques, data representation and digital logic.

Course Learning Outcomes

  • Identify and explain the role of key elements of a Computer Hardware Architecture
  • Perform binary, decimal, and hexadecimal conversions and calculations
  • Describe computer data representation of character, integer, and floating point values
  • Implement and interpret floating point values in the IEE754 format
  • Translate among Boolean expressions, truth tables, and gate diagrams
  • Write truth tables in Sum-of-Product and Product-of-Sum forms
  • Simplify Boolean expressions using Identities and Karnaugh maps
  • Describe and differentiate combinational and sequential circuits
  • Explain the differences between High-Level, Assembly and Machine Languages
  • Create simple machine language programs and translate to assembly language
  • Translate a program from a high-level language into an equivalent Assembly Language program
  • Implement local and global variables in Assembly Language
  • Create Assembly Language functions with parameters and return values

Topics Covered in this Course

  • Computer Hardware Architecture
  • The representation of information using binary and hexadecimal notation, including signed and unsigned numbers, floating point values, and characters
  • Logical and Arithmetic Binary operations
  • Boolean Algebra and Logic Gates
  • Boolean Expressions and Truth Tables
  • Karnaugh Maps
  • Representative Combinational Devices
  • Sequential Circuits, including Latches and Flip-Flops
  • Instruction Set Architecture (Machine Language)
  • Assembly Language: Instruction Mnemonics, Pseudo-Operations, Trap Instructions
  • Addressing modes: Immediate, Direct, Indirect, Indexed, and Stack-related modes
  • Translating between Assembly Language and Machine Language Code
  • Translating C++ Code to Assembly Language Code