CSCI 3160

Computer Systems

Credit Hours
4
Contact Hours
4
Course Coordinator
Chandler Scott

Catalog Description

Introduces students to the fundamental abstractions of computer systems. This course uses hands-on exercises to investigate modern computer architectural features and the system software that supports them.

Prerequisite(s)

CSCI 2200 and CSCI 2150, each with a C or better

Course Outcomes

  • Understand how computer systems represent information and programs at the machine level.
  • Describe the roles hardware and systems software play in program compilation and execution.
  • Evaluate the effect of hardware features and software tools on program performance.
  • Discuss the methods for organizing and managing programs in memory.
  • Demonstrate techniques for enabling interaction and communication between programs.
  • Write systems-level programs in unmanaged programming languages.

Topics

  • Data and instruction representation
  • procedures and stacks
  • compilation and linking
  • the memory hierarchy and caching
  • exceptional control flow
  • network programming
  • thread-level parallelism
  • assembly language
  • processor data path, pipelining, and instruction-level parallelism
  • code transformations
  • dynamic memory allocation
  • system-level I/O
  • concurrent programming
Semester Uploaded Uploaded By Actions
Fall 2026 Sep 14, 2026 Chandler Scott View