CITS2002 Systems Programming  
next CITS2002 CITS2002 schedule  

Welcome to CITS2002 Systems Programming

This unit, first presented in 2012 as CITS1002, is one of the core units in each of UWA's Computer Science, Data Science, and Engineering Science (SE) majors.

The unit explores the role of contemporary operating systems and their support for high-level programming languages, how they manage efficient access to computer hardware, and how a computer's resources may be accessed and controlled by the C programming language.

The unit will be presented by Chris McDonald - which is pronounced 'Chris', not 'Dr', not 'Professor'.

Our UWA Handbook entry

Understanding the relationship between a programming language and the contemporary operating systems on which it executes is central to developing many skills in Computer Science. This unit introduces the standard C programming language, on which many other programming languages and systems are based, through a study of core operating system services including input and output, memory management and file systems.

The C language is introduced through discussions on basic topics like data types, variables, expressions, control structures, scoping rules, functions and parameter passing. More advanced topics like C's run-time environment, system calls, dynamic memory allocation, and pointers are presented in the context of operating system services related to process execution, memory management and file systems. The importance of process scheduling, memory management and interprocess communication in modern operating systems is discussed in the context of operating system support for multiprogramming. Laboratory and tutorial work place a strong focus on the practical application of fundamental programming concepts, with examples designed to compare and contrast many key features of contemporary operating systems.

The UWA Handbook entry for this unit strongly recommends that you take one of three units of Advisable Prior Study before taking this unit - CITS1001, CITS1401, or CITS2401. Students who took this unit in recent years, and had chosen to not take one of the units of Advisable Prior Study, found the material in this unit difficult. This unit is not suitable for first-time programmers.


CITS2002 Systems Programming, Lecture 1, p1, 29th July 2019.