Studying online

There are now 2 possible online modes for units:

Units with modes Online timetabled and Online flexible are available for any student to self-enrol and study online.

Click on an offering mode for more details.

Unit Overview

Description

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, pointers and recursion 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 practical class 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.

Credit
6 points
Offering
(see Timetable)
AvailabilityLocationMode
Semester 2UWA (Perth)Face to face
Details for undergraduate courses
  • Level 2 core unit in the Computer Science; International Cybersecurity; Computing and Data Science; Artificial Intelligence; Cybersecurity; Automation and Robotics Engineering; Software Engineering; Quantum Computing major sequences
  • Level 2 elective
Outcomes

Students are able to (1) identify and appreciate the fundamentals of the imperative programming paradigm, using the standard C programming language as an example; (2) decide when to choose the C programming language and its standard library for their systems programming requirements; (3) apply the most appropriate techniques to successfully develop robust systems programs in the C language; (4) explain the role of an operating system in the wider computing context; (5) explain the relationship and interactions between an operating system's critical components and their affect on performance; and (6) demonstrate an understanding of the relationship between contemporary operating systems, programming languages and systems-level application programming interfaces.

Assessment

Indicative assessments in this unit are as follows: (1) programming; (2) mid-semester test; and (3) final examination. Further information is available in the unit outline.



Student may be offered supplementary assessment in this unit if they meet the eligibility criteria.

Unit Coordinator(s)
Dr Chris McDonald
Unit rules
Prerequisites
Successful completion of
CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
or CITS2401 Computer Analysis and Visualisation

or
Enrolment in
62510 Master of Information Technology
and Successful completion of
CITS1401 Computational Thinking with Python
Incompatibility
CITS1002 Programming and System
Contact hours
Lectures: 3-hours per week
Laboratories: 2-hours per week
  • The availability of units in Semester 1, 2, etc. was correct at the time of publication but may be subject to change.
  • All students are responsible for identifying when they need assistance to improve their academic learning, research, English language and numeracy skills; seeking out the services and resources available to help them; and applying what they learn. Students are encouraged to register for free online support through GETSmart; to help themselves to the extensive range of resources on UWA's STUDYSmarter website; and to participate in WRITESmart and (ma+hs)Smart drop-ins and workshops.
  • Visit the Essential Textbooks website to see if any textbooks are required for this Unit. The website is updated regularly so content may change. Students are recommended to purchase Essential Textbooks, but a limited number of copies of all Essential Textbooks are held in the Library in print, and as an ebook where possible. Recommended readings for the unit can be accessed in Unit Readings directly through the Learning Management System (LMS).
  • Contact hours provide an indication of the type and extent of in-class activities this unit may contain. The total amount of student work (including contact hours, assessment time, and self-study) will approximate 150 hours per 6 credit points.