Faculty of Information Technology

Monash University

Undergraduate - Unit

This unit entry is for students who completed this unit in 2013 only. For students planning to study the unit, please refer to the unit indexes in the the current edition of the Handbook. If you have any queries contact the managing faculty for your course or area of study.

print version

6 points, SCA Band 2, 0.125 EFTSL

To find units available for enrolment in the current year, you must make sure you use the indexes and browse unit tool in the current edition of the Handbook.

FacultyFaculty of Information Technology
OfferedCaulfield First semester 2013 (Day)
Caulfield Second semester 2013 (Day)
Gippsland Second semester 2013 (Day)
Gippsland Second semester 2013 (Off-campus)
Sunway Second semester 2013 (Day)
South Africa Second semester 2013 (Day)


The emphasis in this unit is on the application of fundamental programming concepts using an object-oriented programming language. It also introduces more advanced object-oriented programming topics such as inheritance and polymorphism. It gives students a deeper understanding of programming and data structures by introducing recursion and dynamic data structures. It also gives more practical skills in designing, building and testing larger computer programs, including ones having graphical user interfaces, and utilising file I/O. Modern software tools to support programming activities of testing and group-based development are also demonstrated.


On completion of this unit, students will:

  • attain programming experience through designing and constructing simple object-oriented programs using Java as the implementation language;
  • demonstrate an understanding of advanced object-oriented concepts such as inheritance, polymorphism, and abstract classes and interfaces as provided for in Java;
  • be able to create programs that provide a graphical user interface and use event handling;
  • be able to write programs involving abstract and dynamic data structures, and implement algorithms for searching, insertion and deletion;
  • be able to use the collection classes in the Java API;
  • be able to implement algorithms that utilise recursion;
  • have an understanding of design principles for building a multiple-class object-oriented program;
  • be able to implement exception handling techniques;
  • be able to use files for persistent storage of data;
  • be able to construct test harnesses for multiple-class programs;
  • demonstrate an understanding of the range and purpose of modern tools to support the process of programming complex software systems.


Examination (3 hours): 60%; In-semester assessment: 40%

Chief examiner(s)

Contact hours

2 hrs lectures/wk, 2 hrs laboratories/wk

This unit applies to the following area(s) of study



CPE1004, CSE1203, CSE2305, GCO1812, FIT1007

Additional information on this unit is available from the faculty at: