Unit Information Management System

Systems Programming (CITS2002, SEM-2, 2014, Crawley)

Faculty of Engineering, Computing & Mathematics

Computer Science & Software Engineering

Unit Outline

Systems Programming


SEM-2, 2014

Campus: Crawley

Unit Coordinator: Dr Chris McDonald

All material reproduced herein has been copied in accordance with and pursuant to a statutory licence administered by Copyright Agency Limited (CAL), granted to the University of Western Australia pursuant to Part VB of the Copyright Act 1968 (Cth).

Copying of this material by students, except for fair dealing purposes under the Copyright Act, is prohibited. For the purposes of this fair dealing exception, students should be aware that the rule allowing copying, for fair dealing purposes, of 10% of the work, or one chapter/article, applies to the original work from which the excerpt in this course material was taken, and not to the course material itself

© The University of Western Australia 2001

Unit details

Unit title Systems Programming
Unit code CITS2002 Credit points 6
Availability SEM-2, 2014 (28/07/2014 - 22/11/2014)
Location Crawley Mode Face to face

Contact details

Faculty Faculty of Engineering, Computing & Mathematics
School Computer Science & Software Engineering
School website http://web.csse.uwa.edu.au/
Unit coordinator Dr Chris McDonald
Email chris.mcdonald@uwa.edu.au
Telephone 6488 2533
Consultation hours Tuesdays 4pm-6pm
NamePositionEmailTelephone Number
Chris McDonaldAssociate Professorchris.mcdonald@uwa.edu.au6488 2533
Tutors/ Demonstrators/ Facilitators
Unit contact hours
Online handbook http://handbooks.uwa.edu.au/units/unitdetails?code=CITS2002
Unit website http://undergraduate.csse.uwa.edu.au/units/CITS2002/ (this unit does not use UWA's LMS)
Other contact details Our help forum: https://secure.csse.uwa.edu.au/run/help2002

Unit rules

Advisable prior study CITS1001 Object-oriented Programming and Software Engineering or CITS1401 Problem Solving and Programming or CITS2401 Computer Analysis and Visualisation
Incompatibility CITS1210 C Programming, CITS2230 Operating Systems, CITS1002 Programming and Systems
Approved quota

Unit 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 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.

Learning outcomes

Students are able to (1) gain a sound appreciation of the fundamentals of the standard C programming language and the imperative programming paradigm; (2) learn how to decide when to choose the C programming language and its standard library for their programming requirements; (3) learn how to apply the most appropriate techniques to successfully develop robust programs in the C language; (4) understand the role of an operating system in the wider computing context; (5) develop knowledge of the relationship and interactions between an operating system�s critical components; and (6) develop an understanding of the relationship between contemporary operating systems, programming languages and user interfaces.

Unit structure

Available from http://undergraduate.csse.uwa.edu.au/units/CITS2002/schedule.html

(See Timetable)

Unit schedule

Teaching and learning responsibilities

Teaching and learning strategies

Please read http://undergraduate.csse.uwa.edu.au/units/CITS2002/workeffectively.html

Charter of student rights and responsibilities

Student Guild contact details

Uses of student feedback


Information for students with disabilities


Assessment overview

Typically this unit is assessed in the following way(s): (1) two computer-based implementation projects; (2) a mid-semester test; and (3) a final examination. Further information is available in the unit outline.

Assessment mechanism

#ComponentWeightDue DateRelates To Outcomes
1Mid-semester test20%3pm Tuesday 2nd September1, 3
2Project 120%5pm Friday 19th September1, 2, 3, 4
3Project 220%5pm Friday 31st October1, 2, 3, 4
4Final examination40%November exam period1, 3, 4

Assessment items

Item TitleDescriptionSubmission Procedure for Assignments
Mid-semester test45 minute in-class multi-choice testIn-class, in normal lecture time
Project 1Programming project undertaken in pairsOnline via cssubmit
Project 2Programming project undertaken in pairsOnline via cssubmit
Final examination2 hour short-answer examIn-exam

Academic literacy and academic misconduct

Appeals against academic assessment

Textbooks and resources

Recommended texts

While there is no required textbook for this unit, a list of recommended textbooks is available from:


Suggested alternate texts

Additional texts

Technical requirements

Software requirements

Additional resources and reading

Other important information