GCO9808 Object oriented programming 2 - Semester 2 , 2006 unit guide

Semester 2, 2006

Chief Examiner

Shane Moore


Gippsland : Shane Moore


ASCED Discipline Group Classification: 020103 Programming.

This unit introduces more advanced object-oriented programming topics and techniques than its prerequisite, and gives students a deeper understanding of programming and data structures and more practical skills in designing, building and testing computer programs.


At the completion of this unit, students will have an understanding of:
  • K1. Object-oriented concepts such as inheritance, polymorphism, and abstract classes.
  • K2. The implementation in Java of object-oriented concepts such as multiple inheritance.
  • K3. How to test a program consisting of many interacting classes.
  • K4. The collection classes in the Java API.
  • K5. Design principles for building an object-oriented program.
  • K6. Problem-solving techniques for debugging an object-oriented program.
  • K7. The concept of recursion in a computer program.
  • K8. Dynamic data structures.

At the completion of this unit, students will have attitudes that will allow them to:

  • A1. Write programs that conform to programming standards
  • A2. Use good design principles when constructing systems
  • A3. Take a patient and thorough approach to testing
  • A4. Acknowledge any assistance they have received in writing a program
  • A5. Search for supplementary unit-related information in appropriate places when necessary

At the completion of this unit, students will be able to:

  • P1. Design an object-oriented program consisting of many interacting classes with association, generalization and aggregation relationships.
  • P2. Construct a test harness for testing a multiple class object-oriented program.
  • P3. Write code to implement a multiple class object-oriented design in Java including association, generalization and aggregation relationships.
  • P4. Debug and modify an existing program consisting of many interacting classes.
  • P5. Use the Java API classes as part of their programs.
  • P6. Use the Java collection classes to store and retrieve data appropriately.
  • P7. Use recursion to solve new problems
  • P8. Read data from keyboard and files, and write data to screen and files.
  • P9. Use exception-handling techniques in programs.
  • P10. Use UML to design an object-oriented program.
  • R1. Document a program correctly
  • R2. Produce appropriate documentation for designing and testing a program
  • R3. Explain how parts of a program work


Before attempting this unit you must have satisfactorily completed either GCO9805 or equivalent.

Students beginning Object Oriented Programming 2 are assumed to be able to:

  • Design an object-oriented program using class diagrams
  • Implement a design in Java using multiple interacting classes and techniques such as sequence, selection, repetition, parameter passing, scoping, recursion
  • Debug an existing small program
  • Test a small object-oriented program thoroughly
  • Read existing Java code (at a basic level)
  • Integrate existing classes into their programs
  • Produce basic program- and user-documentation to taught standards

Unit relationships

GCO9808 is an elective in various Masters degrees offered by the Faculty of Information Technology.

Before attempting this unit you must have satisfactorily completed GCO9805 or equivalent.

You may not study this unit if you have studied or intend to study any of the following units in your degree: CFR1124, CFR2128, CFR3112, GCO1812, GCO3821, SFT1102, CSE1203, CSE2305, CPE1004, FIT1007, FIT1008, FIT1015, FIT2034.

Texts and software

Required text(s)

Prescribed Text:

  • Horstmann, C. (2005) Big Java, 2nd edition, Wiley & Sons. (ISBN: 0-471-69703-6)

Textbook availability

Text books are available from the Monash University Book Shops. Availability from other suppliers cannot be assured. The Bookshop orders texts in specifically for this unit. You are advised to purchase your text book early.

Software requirements

Prescribed Software

You must have the Java 2 SE SDK version 1.5.0 (also called Java 5) installed on your computer. OCL students should be able to find this on the GSIT Unit Software CD-ROM in the J2SE folder. It can also be downloaded from the internet by going to http://java.sun.com/javase/downloads/index.jsp and selecting the JDK 5.0 Update 7 or later.

Other Useful Software


Some locations will be using BlueJ. This also works on Macintosh computers. OCL students can find this on the GSIT Software CD-ROM in the BlueJ folder. It can also be downloaded from http://www.bluej.org/download/download.html.

JCreator LE

This is an IDE which provides many useful compilation features. It only works on Windows operating systems. The smallish download can be obtained from http://www.jcreator.com/download.htm. Be sure to select the LE version 3.5 file, which is free (unless you want to pay for the more comprehensive version).


For experienced programmers who want a source-code management system that runs on Windows, TortoiseSVN is strongly recommended. This open-source software can be downloaded from: http://tortoisesvn.sourceforge.net/downloads. (Most users should download the very first file, the 32-bit msi file). There are also language-packs for languages other than english. On campus classes might demonstrate this tool at some point in the semester.

Hardware requirements

Students studying off-campus are required to have the minimum system configuration specified by the Faculty as a condition of accepting admission, and regular Internet access. On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to 10 hours per week for use of a computer, including time for newsgroups/discussion groups.

Recommended reading


  • Savitch, W. (2006) Absolute Java, 2nd edition, Addison Wesley. ISBN: 0-321-33024-2
  • Knox-Grant, R. (2005) Java 2 Beyond the Buttons, 2nd Ed., Greenoil, ISBN: 0-620-33395-2
  • Robertson, L. (2003) Simple program design : a step by step approach, 4th edition, Thomson. ISBN: 0-17-010704-3
  • Nino, J. (2005) An Introduction to Programming and Object Oriented Design Using Java Version 5.0, Wiley. ISBN: 0-471-71227-2


Library access

You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.

Study resources

Study resources for GCO9808 are:

  • A printed Unit Book containing 11 Study Guides (250 pages).
  • This Unit Information outlining the administrative information for the unit
  • The FIT1007 web site on MUSO, where lecture slides, weekly tutorial requirements, assignment specifications, sample solutions and supplementary material will be posted.
  • MUSO Discussion Groups

For OCL students, you should have been sent a CD-ROM containing software (sent at the start of the year).

Structure and organisation

Week Topics Study Guide
1 Revising Java Concepts SG 1
2 Designing objects SG 2
3 Association/Aggregation relationships SG 2
4 Inheritance and Polymorphism SG 3
5 Interfaces and Abstract Classes SG 4
6 File Input and Output SG 5
7 Testing and Debugging SG 6
8 Utility Classes SG 7
9 Recursion SG 8
10 Dynamic Data Structures SG 9
Non teaching week
11 ADTs and Collection classes SG 10
12 Exceptions SG 11
13 Revision All Study Guides


The timetable for on-campus classes for this unit can be viewed in Allocate+


Assessment weighting

Assessment for the unit consists of 2 assignments with a weighting of 40% and an examination with a weighting of 60%. Read this section VERY carefully.

Assessment Policy

To pass this unit you must:

  • Complete all assignments
  • achieve no less than 40% of the marks for supervised assessment (the exam)
  • achieve no less than 40% of the marks for unsupervised assessment (the assignments total)
  • obtain at least 50% of the possible marks for the unit after the assessment formula is applied to the supervised and unsupervised components.

Your score for the unit will be calculated by:

(E * 0.6) + (A * 0.4)


E = supervised assessment component (exam percentage)
A = unsupervised assessment component (combined assignments percentage)

Assessment Requirements

Assessment Due Date Weighting
Assignment 1 30th August 20%
Assignment 2 11th October 20 %
The exam is 3 hours long and is closed book. Exam period (S2/06) starts on 23/10/06 60 %

Assignment specifications will be made available on the Assignments page of the MUSO web site. (Note, this unit is sharing the same site as FIT1007.).

Assignment Submission

Assignments will be submitted electronically using WebFace. The due date is the date on which the submission must be received by WebFace before the end of that day.

Extensions and late submissions

Late submission of assignments

Assignments received after the due date will be subject to a penalty of a drop in grade for each 5 day period. Assignments received later than one week after the due date will not normally be accepted.

This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 


It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

Valid grounds include:

  • prolonged illness
  • diagnosed disability
  • compulsory military service
  • appearance in court on summons
  • other special cases

Requests for extensions must be made by email to your designated lecturer at least two full days before the due date. You will be asked to forward original medical certificates in cases of illness, and may be asked to provide other forms of documentation where necessary. A copy of the email or other written communication of an extension from your lecturer must be submitted with the assignment submission.

Grading of assessment

Assignments, and the unit, will be marked and allocated a grade according to the following scale:

Grade Percentage/description
HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
In the 80+% range of marks for the assignment.
D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
In the 70-79% range.
C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
In the 60-69% range.
P Pass acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
In the 50-59% range.
N Not satisfactory failure to meet the basic requirements of the assessment.
Below 50%.

Assignment return

We will aim to have assignment results made available to you within two weeks after assignment receipt. Even if there is a delay in returning your assignment result, the sample solution will be made available within two weeks after the due date.


Feedback to you

You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

Feedback from you

You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

And if you are having problems

It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

Unit improvements

This is the first time this unit is being taught since the common core has been introduced. We expect that feedback provided by students throughout the semester will help us to improve future offerings of this unit. There is an anonymous feedback mechanism provided in MUSO.

Experience from teaching other units where minimal discussion groups were provided has led to the introduction of separate discussion groups for each study guide, in order to make it easier for you to find the postings that relate to particular topics.


Plagiarism and cheating

Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.


Communication methods

Unless you have personal enquiries all communication related to the content of the unit must be via the discussion groups in MUSO. If you do send your lecturer an email that relates to the content of the unit it will probably not be answered. Personal enquiries may include requests for assignment extensions, special consideration requests, or the need to discuss your personal progress. You are certainly not asked to put anything of a personal nature into your postings to the discussion groups. Personal matters can also be dealt with by telephone.

On-campus students, and off-campus students who live or work near their campus, may also visit the lecturer at their office.


Notices related to the unit during the semester will be sent using the Announcements tool in MUSO. Failure to read these Notices is not regarded as grounds for special consideration.

Announcements may be made to alert you to the availability of assignments, solutions, changes to due dates, or other important matters.

Consultation Times

If you are near the Gippsland campus, Shane is available most of the time. You may want to email or phone before coming, to check he is going to be available.

If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

Mr Shane Moore
Phone +61 3 990 26716

All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

Additional information

Audio Recordings of Lectures

The lectures presented at the Gippsland Campus will be recorded for the benefit of off-campus students, and can be accessed from the Monash University Lectures Online web site at http://mulo.monash.edu.au/

The audio is provided in the form of a Real-Audio stream.

Last updated: Jul 7, 2006