CS351 - Computer Organization

Course Description

This course examines in some detail how a computer works. To prepare for this study,
students will learn the basics of binary arithmetic, data representation, along with
propositional and predicate logic. The major hardware components of a computer,
including processors (CPUs), memory (RAM), storage and other peripheral devices will
be examined in some detail. Computer software will also be studied. The process of
program translation and execution will be outlined. Students will learn machine
language and learn to write and run simple assembly language programs. Operating
system functions and the organization of file systems will be studied.

Learning Outcomes

  • Most important prerequisite skills/knowledge:
    • Familiarity with number systems (Binary, Hexadecimal, etc.)
    • Logical operations (AND, OR, NOT, etc)
    • Ability to program.
  • Most important skills/knowledge gained:
    • C and Assembly programming and how C code is converted to assembly.
    • Basics of computer organization.
    • Data layout of a process.

Recommended text