ITC106 Programming Principles (8)

This subject introduces students to the principles of programming. 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 computing discipline.


Session 1 (30)
On Campus
Albury-Wodonga Campus
Bathurst Campus
CSU Study Centre Melbourne
CSU Study Centre Sydney
Wagga Wagga Campus
Bathurst Campus
Session 2 (60)
On Campus
CSU Study Centre Sydney
Albury-Wodonga Campus
Session 3 (90)
On Campus
CSU Study Centre Sydney

Continuing students should consult the SAL for current offering details: ITC106. 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

Available to undergraduate students only.

Not available to students who have completed ITC140 or ITC415 or ITC558.


Subject Relationships

ITC558 Similar content

Incompatible Subjects

ITC140, ITC415, ITC558

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to explain 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 in all phases of the programming process;
  • be able to interpret algorithms and program code;
  • be able to appreciate and understand 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 examine, recognise and be aware of alternate programming approaches to include a broad discussion of procedural and object oriented approaches.


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

Indicative Assessment

The following table summarises the assessment tasks for the online offering of ITC106 in Session 1 2019. Please note this is a guide only. Assessment tasks are regularly updated and can also differ to suit the mode of study (online or on campus).

Item Number
Value %
Assignment 1
Assignment 2
Assignment 3
Topic quizzes
Final exam

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