ITC206 Programming in Java 1 (8)

This subject covers problem-solving, computer program design and implementation in Java at an introductory level. Programming concepts are presented using an object-oriented approach and students learn how to develop programs using object-oriented techniques. The subject covers class design, the use of inheritance in class design and the use of aggregation techniques. Students learn to develop small applications consisting of a number of classes.


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

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

Not available to students who have completed ITC140, ITC421 or ITC538

Assumed Knowledge

ITC104 or ITC106

Subject Relationships

ITC140 similar content
ITC421 similar content
ITC538 similar content

Incompatible Subjects

ITC140, ITC421, ITC538

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to implement basic algorithms in Java;
  • be able to interpret design requirements expressed in UML (Unified Modelling Language);
  • be able to apply inheritance and aggregation patterns in the design and implementation of programs;
  • be able to manipulate simple file operations using Java;
  • be able to use object-oriented techniques and Java resources to develop small applications consisting of a number of classes;
  • be able to apply basic testing and debugging techniques in program development.


This subject will cover the following topics:
  • Review of basic programming principles in the context of the Java language, strong typing and flow of control patterns.
  • Object-based programming: the creation of objects, their use and interaction.
  • The interpretation of design requirements through simple UML.
  • User-defined classes, class design and implementation.
  • Testing and debugging techniques.
  • Inheritance patterns and inheritance implementation: base classes, derived classes and abstract classes.
  • Aggregation patterns implementation: the creation and management of collections of objects.
  • Application development in Java using object-oriented techniques.
  • Simple file manipulation operations.


For further information about courses and subjects outlined in the CSU handbook please contact:

Current students

Future students

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