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