Systems Programming
This course focuses on introducing students to the core concepts of the Unix operating system and how to programme this system. Today, Unix and Unix-like operating systems are ubiquitous; they are widely used in servers, embedded devices and have a growing desktop and mobile market (Linux, Mac OS X, Android etc.). This module will teach students how to develop applications for such systems, assuming no other software layer but OS. Students will improve their existing C programming language skills and will learn some key POSIX APIs to support designing and writing programs in a portable, maintainable fashion. They will learn how to write mutlithreaded and multi-process applications as well as some basics of Unix networking. All this will be done through the Unix command line, and students will learn basic tools and how to write shell scripts to automate common tasks.
Sources
- Course catalogue ↗2026-2027