Systems Programming

Undergraduate | 2026

Course page banner
area/catalogue icon
Area/Catalogue
COMP 2031
Course ID icon
Course ID
205782
Level of study
Level of study
Undergraduate
Unit value icon
Unit value
6
Course level icon
Course level
2
Study abroad and student exchange icon
Inbound study abroad and exchange
Inbound study abroad and exchange
The fee you pay will depend on the number and type of courses you study.
No
University-wide elective icon
University-wide elective course
No
Single course enrollment
Single course enrolment
No
alt
Note:
Course data is interim and subject to change

Course overview

Introduction to C for C++ programmers. UNIX tools; design philosophy, command line options, combining programs using pipes and I/O redirection. File systems and memory. Profiling tools, binary tools, debugging tools. Basic shell scripting. Build tools. Signal and handling, synchronous and asynchronous I/O. Introduction to threads and concurrency. Timers and their uses.

Course learning outcomes

  • Write and debug programs in C
  • Write and debug scripts in Bash
  • Understand how C programs and Unix-based operating systems interface at a low level
  • Understand low level programming constructs such as pipes, threads, interrupts and sockets
  • Understand how the Unix command shell processes commands
  • Understand how the Unix file system stores information
  • Apply the above to solving programming problems

Prerequisite(s)

N/A

Corequisite(s)

N/A

Antirequisite(s)

N/A