CONTACT CSU

No offerings have been identified for this subject in 2015

ITC224 Systems Programming in C (8)

Abstract

This subject investigates how to do systems programming in the UNIX operating system environment. The main tool used is the C programming language. In addition, the UNIX shell and the UNIX utilities are studied and used to write system applications in the context of the UNIX operating system. The structure of the UNIX operating system, as it affects the programmer and UNIX Systems Administrator, is investigated. The task of the Systems Administrator is studied.

+ Subject Availability Modes and Location

Continuing students should consult the SAL for current offering details prior to contacting their course coordinator: ITC224
Where differences exist between the handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Subject information

Duration Grading System School:
One sessionHD/FLSchool of Computing and Mathematics

Assumed Knowledge

ITC106 or ITC129 or ITC140

Learning Outcomes

Upon successful completion of this subject, students should:
* be able to use a UNIX shell, editor, commands and utilities to be effective and efficient UNIX users, in particular, application developers;
* be able to write maintainable C application and systems programs using the standard C libraries. This will include the ability to write file handling programs;
* be able to document applications in the form of UNIX on-line manual pages;
* be aware of, and be able to use, some low-level UNIX system calls;
* understand, and be able to write, code to create multi-process applications and to allow these processes to communicate with each other using signals and pipes;
* be able to use utilities to maintain code;
* know and be able to understand the considerations necessary for working in, and writing programs for, a multiuser environment and incorporate these considerations into programs;
* be able to understand the structure of the UNIX operating system, as it affects the programmer and UNIX Systems Administrator;
* be able to understand when and how to use a core set of UNIX utilities: nroff, grep, sort, sed and awk;
* be able to use the UNIX Bourne Shell programming language;
* be able to understand the main jobs of a UNIX Systems Administrator and the tools and techniques used.

Syllabus

The subject will cover the following topics:
. Introduction to the UNIX operating system and the UNIX shell.

. UNIX and the computing industry.

. Introduction to the C programming language.

. The C Standard Libraries.

. Systems programming using C including system calls, command line
arguments, structures, date and time system calls, and file
handling.

. C program maintenance including documentation standards, the C
Preprocessor and the Make utility.

. Process creation and control.

. Interprocess communication using interrupts, signals and pipes.

. UNIX utilities (nroff and man macros, grep, sort, awk, sed).

. The UNIX on-line manual and writing manual pages.

. UNIX shell programming.

. UNIX Systems administration.

Residential School

This subject contains a optional 2 day residential school. Activities: During the residential school, in addition to lectures, students will be involved in a range of other formative assessment tasks including: discussion sessions, laboratory work, research exercises and programming exercises. All of these allow students to enhance their learning and to optimise learning outcomes.

Topics include:
Introduction, review of assignments and problems
Revision of C
Make
AWK
Grep and sed
Shell programming
Interprocess communication.

Back

The information contained in the 2015 CSU Handbook was accurate at the date of publication: 01 October 2015. The University reserves the right to vary the information at any time without notice.