ITC538 Programming in Java 1 (8)

This subject covers problem-solving, computer program design, implementation and evaluation in Java. Students learn to develop object-oriented applications consisting of a number of classes. The object-oriented approach is compared with other programming paradigms. The subject covers class design, file manipulation, Graphical User Interface components, and the use of inheritance and aggregation techniques.


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

Continuing students should consult the SAL for current offering details: ITC538. 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 postgraduate students only.  Not available to students who have completed  ITC140, ITC206 or ITC421.

Assumed Knowledge

Background knowledge similar to ITC558 Programming Principles

Incompatible Subjects

ITC140, ITC206, ITC421

Learning Outcomes

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


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 Unified Modelling Language (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 using files.
  • Simple java programming using Graphical User Interface (GUI)
  • A comparison of object-oriented programming with other programming paradigms.

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