ITC521 Programming in Java 2 (8)

This subject teaches students to apply and analyse advanced object-oriented programming techniques using the Java libraries. The focus of this programming subject is on the creation of robust and effectively constructed Graphical User Interface (GUI) applications that interact with problem domain objects and relational databases. This subject will cover Java GUI components, GUI construction, the interpretation of Unified Modelling Language (UML) class diagrams, streams and serialisation, multithreaded applications, reusable software via JavaBeans, relational database management via the Java Database Connectivity (JDBC) and Java socket programming. In addition, usage of correct object oriented programming heuristics is emphasised in this subject.


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

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

Assumed Knowledge

Similar to the level of ITC421 or ITC538

Subject Relationships

ITC313 Similar content
ITC237 Similar content
ITC220 Similar content
ITC438 Similar content
ITC138 Similar content

Incompatible Subjects

ITC138, ITC220, ITC237, ITC313, ITC438

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to create, manage and manipulate objects via the Java Collections Framework;
  • be able to design and implement multithreaded Java applications;
  • be able to design and construct Java Graphical User Interfaces (GUI) that interact with problem domain objects;
  • be able to create, connect to and update a relational database using the Java Database Connectivity (JDBC);
  • be able to construct and make use of reusable software elements utilising Java beans;
  • be able to use the inheritance features of the Java language to design and implement complex object-oriented programs;
  • be able to write programs that would communicate with another program running in the network;
  • be able to deconstruct/analyse the object-oriented features of a Java program.


This subject will cover the following topics:
  • Input/output and serialisation.
  • Inheritance and generics.
  • Java collections framework.
  • Basic GUI programming.
  • Graphics.
  • Event-driven programming.
  • User interface components.
  • Advanced GUI topics.
  • Java applets and multimedia.
  • Java database programming.
  • Java threads and Java beans.
  • Java Socket Programming (for networking and communication).


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.