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

Programming knowledge similar to the level covered in ITC538.

Subject Relationships

ITC313 Similar content

Incompatible Subjects


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; and
  • 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)

Indicative Assessment

The following table summarises the assessment tasks for the online offering of ITC521 in Session 2 2020. 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 %
Programming tasks
File processing and gui
Database and network programming

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