CITS2002 Systems Programming  

Unit home

Lecture & Workshop
recordings on LMS



C textbooks

OS textbooks

Information resources

Extra reading

Past projects

Recent feedback

Working effectively

Unix, C language, and library Resources

To obtain further details about the functions described here, type man functionname on the CSSE laboratory computers.

Online books and tutorials

Moving from Java to C?

The following resources may be useful for those programmers who have previously programmed in Java:

  • Learning C from Java, originally written by Steven Simpson, is about 20 pages and may be helpful for many Java programmers.

On C history

C standards documents (C99, C11, C17)

"[These documents specify] the form and establishes the interpretation of programs expressed in the programming language C. [Their] purpose is to promote portability, reliability, maintainability, and efficient execution of C language programs on a variety of computing systems. Clauses are included that detail the C language itself and the contents of the C language execution library. Annexes summarize aspects of both of them, and enumerate factors that influence the portability of C programs. Although [these standards are] intended to guide knowledgeable C language programmers as well as implementors of C language translation systems, the document itself is not designed to serve as a tutorial."
  • WG14 N1570 , 660pp,
    The publicly available draft version of the ISO/IEC C11 standard (dated 2012-04-12).
  • WG14 N1256 , 540pp,
    The publicly available version of the ISO-C99 standard and the Technical Corrigendums 1, 2, & 3 (dated 2007-09-08).
  • C99RationaleV5.10 , 224pp,
    The rationale for the ISO-C99 standard.
  • WG14 N2176 , 476pp,
    The publicly available draft version of the ISO/IEC C17 standard (dated 2017-04).


The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]