Code – COIT 11134

Subject – Object Oriented Programming


This assignment is designed to test your ability in object oriented techniques specifically the design and implementation of classes, use of objects and methods, principles of inheritance and GUI event handling.

Assignment Task

CQ Tours Private Limited (CQT) is offering a variety of tours which are highly in demand and hence most of their customers book their tours well in advance.

Each tour that is offered has been scheduled to start and finish on the same day. During each tour, the customers/travellers will be visiting many sites. All of those sites offer site seeing, however only some of those sites offer various activities in which the customers can participate. Some of the sites that are visited in a tour may also be included in other tours. For each of the tours, a tour guide is allotted by CQT.


Each tour must have a distinct name and a price.

Each site must have a name.

Each activity must have a name and duration.

Each tour guide must have a name.

Additional attributes for tour, site, activity and tour guide are left to your choice.

You need to create a Swing based Java GUI application (hereafter called application) that performs the following:

1. Create and store activities

2. Create and store sites with or without activities

3. Create and store the details tour guides

4. Create and store tours and allot a tour guide to a tour

Depending on your design, you may have to create many classes. Creating suitable classes for the following may help you to design the application effectively:

 Site (without activity)

 Site with activities

 Tour including list of sites and a guide

The application should have necessary controls that are necessary to receive the input data and the application should store them appropriately in arrays or ArrayLists or any other suitable data structures. In the initial stage, in assignment 1, the application need not store the input data in text files. The application’s GUI layout is left to your choice. The application should also be user-friendly and is expected to display appropriate error/exit messages. For the application development, you have to create appropriate Java classes and you must use the inheritance and/or aggregation concept of OOD. You need to create your own super class and sub classes that are relevant to the above requirements. Please note that extending the available built-in Java classes such as JFrame will not be considered, as inheritance usage, for assignment marking purpose. The GUI application should also show your Student ID and Full name.

The data type for each of the inputs has not been mentioned purposely. You need to use appropriate data type accordingly. The following Buttons, in addition to other controls, should be available and perform appropriate actions:

 Clear – to clear the current inputs and present the default page

 Exit – to confirm the exit and then close the application

FAQ and Answers

 How many Java classes should I create? There is no limit for the number of classes in your application.

 I have not used inheritance and/or aggregation in my application. Can I submit my application? You can submit the application but you will be given only partial marks.

 Can I use platforms other than TextPad and NetBeans? You may note that additional support, if any, is available for these two platforms only.

 Do I have to check that the same guide is not in more than one tour at the same time? Even though that is preferred, you need not perform that checking.

 Do I have to use constants? You might have to use the constants depending upon your design.

 Do I have to provide comments? You need to provide in-line and header comments appropriately.

 Why am I not creating any tour booking by a customer? You need to do that in your assignment2.

 Is there a requirement of number of sites in a tour? This is left as an exercise.

 Is there a requirement of number of activities in a site? This is left as an exercise.

 What types of error checks are necessary especially for numerical inputs? This is left as an exercise.

 Can I create a tour without any site? You can create such a tour but complete the missing data prior to using that tour.

 Can I create a tour without any tour-guide? You may create a tour without a guide but add the tour-guide later on.

You are also encouraged to discuss any other related questions with your lecturer/tutor and design your software application accordingly.


If you submit an interactive Java application without any GUI controls, you will be given only partial marks.

In order to avoid plagiarism and to encourage you to develop your own classes appropriately, the complete list of classes, fields, methods and GUI layout have not been provided specifically in this assignment.

You should submit the following files:

 A zip file containing all Java source code files including the test driver file (and additional library or jar files used by your application, if any).

 Report.docx (a word file containing screen shots showing various inputs, error messages and outputs from your application program run).

Assignment 1- Marking criteria Item





Program compiles (0.5) and runs (0.5)



Used Inheritance and or aggregation



Displays student id, student name



Displays necessary controls for the inputs needed



Creates and stores relevant details of Activity, Site and Tour – one mark for each.



Implemented Clear (0.5) and Exit/Stop (0.5) aspects.



Validated inputs (0.75) and displayed error messages (0.25).



Classes’ implementation complete and adequate:

Suitable fields and appropriate data types (1.0)

Appropriate constructors (1.0)

Appropriate methods (1.0)



Code quality (Quality Layout, Ease of use, appropriate controls, meaningful names, indentation and comments)



Word file contains actual output screen shots (0.75) including error messages (0.25) from the application


Less late penalty (5% per day)

Less Plagiarism



Keywords –  COIT11134 Assignment Help, Object Oriented Programming Assignment Help, Assignment 1

Related posts: