ITC558 Programming Principles (8)

This subject introduces students to the programming process. It begins with the development of problem solving skills relevant to the solution of programming problems. This subject is one of the foundation subjects for other studies in information technology because it develops skills, techniques and approaches that underpin many other areas of the discipline of computing.

Subject Outlines
Current CSU students can view Subject Outlines for recent sessions. Please note that Subject Outlines and assessment tasks are updated each session.


Session 1 (30)
On Campus
CSU Study Centre Brisbane
CSU Study Centre Melbourne
CSU Study Centre Sydney
Bathurst Campus
Session 2 (60)
On Campus
CSU Study Centre Brisbane
CSU Study Centre Sydney
Session 3 (90)
On Campus
CSU Study Centre Sydney

Continuing students should consult the SAL for current offering details: ITC558. Where differences exist between the Handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Subject Information

Grading System



One session


School of Computing and Mathematics

Enrolment Restrictions

Only available to postgraduate students.  Not available to students who have completed ITC106, ITC140 or ITC415.

Subject Relationships

ITC106 ; ITC558 is PG version of ITC106 and covers similar contents of ITC106

Incompatible Subjects

ITC106, ITC140, ITC415

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and coding;
  • be able to demonstrate and explain elements of good programming style;
  • be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming process;
  • be able to interpret and implement algorithms and program code;
  • be able to apply and justify the concept of object orientation as an approach to data abstraction;
  • be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems;
  • be able to write code in an appropriate coding language;
  • be able to compare and contrast aspects of the procedural and object oriented programming approaches.


This subject will cover the following topics:
  • The major steps in the programming process.
  • Techniques for analysing programming problems.
  • Variables and expressions.
  • Control structures of sequence, selection, and iteration.
  • Designing appropriate test data.
  • Introduction to object orientation.
  • Debugging techniques.
  • Programming languages and their application areas.


Current Students

For any enquiries about subject selection or course structure please contact Student Central or or phone on 1800 275 278.

Prospective Students

For further information about Charles Sturt University, or this course offering, please contact info.csu on 1800 275 278 (free call within Australia) or enquire online.

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