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.

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 2022

Offered

Spring even years