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.

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)
Bathurst Campus
Session 3 (90)
Bathurst Campus

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

Only available to postgraduate students.  Not available to students who have completed  ITC140, ITC206 or ITC421.

Assumed Knowledge

Background knowledge similar to ITC558 Programming Principles

Subject Relationships

ITC421 Similar content
ITC206 Similar content
ITC140 Similar content

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.


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.