A study of systems programming concepts and software, including the C programming language, Unix programming environment, and operating system interface. Students develop their abilities in these areas through programming exercises and projects.

Prerequisite(s): Grade of C or higher in COS 250 and COS 285.

Learning Outcomes

By the end of this course, students will be able to:

  • Use many common unix commands and tools.
  • Design and implement programs in C that directly use operating system-level functionality such as terminal modes, timers, signals, pipes, and the file system.
  • Apply the principles of concurrency through unix processes and threads.

Textbook

Understanding Unix/Linux Programming by Bruce Molay.

Syllabus

Spring 2024

Offered

Spring even years