FACULTY OF ENGINEERING AND INFORMATION SCIENCES
SUBJECT’S INFORMATION:
Subject: CSIT121 Object-Oriented Design and Programming
Session: Autumn 2020 (Fe
uary)
Programme / Section: Computer Science and IT
Lecturer: Ms. Siti Hawa
Coursework Type
(tick appropriate box)
✓ Individual Assignment Group Assignment Project
Lab Task Seminar / Tutorial Paper Others
Coursework Title: Assignment 1 Coursework Percentage: 10%
ASSESSMENT CRITERIA:
Co
ectness
The application should produce the co
ect result as stated in the
specification.
2 marks
Class design and
implementation
Design of class that follows the specification provided. Class relationship is
implemented. Use of class variables for shared attributes.
4 marks
Main application
Co
ect implementation of the main method using appropriate control
structures.
3 marks
Readability and Output
Appropriate comments are included. Meaningful identifiers used. Proper
indentation and line spacing used. Output should be well formatted with
appropriate messages displayed and easy to understand.
1 mark
SUBMISSION:
All completed work should be submitted online through Moodle before or on the due date provided.
SUBMIT AS EARLY AS POSSIBLE. ONLY ONE SUBMISSION IS ALLOWED. IF RE-SUBMISSION IS NECESSARY,
YOU ARE REQUIRED TO REMOVE THE EARLIER SUBMISSION AND THIS MUST BE DONE BEFORE THE DUE
DATE. OTHERWISE YOU WILL BE PENALIZED FOR LATE SUBMISSON.
DUE DATE: Latest by Monday, 20th April XXXXXXXXXX:55 pm)
PENALTIES FOR LATE SUBMISSION:
Penalties apply to all late work, except if student academic consideration has been granted. Late submissions will
attract a penalty of 25% of the assessment mark per day including the weekend. Work more than (3) days late will be
awarded a mark of zero.
PLAGIARISM:
When you submit an assessment task, you are declaring the following
1. It is your own work and you did not collaborate with or copy from others.
2. You have read and understand your responsibilities under the University of Wollongong's policy on plagiarism.
3. You have not plagiarised from published work (including the internet). Where you have used the work from others,
you have referenced it in the text and provided a reference list at the end ot the assignment.
Plagiarism will not be tolerated. Students are responsible for submitting original work for assessment, without
plagiarising or cheating, abiding by the University’s policies on Plagiarism as set out in the University Handbook
COURSEWORK SPECIFICATION
OBJECTIVES
This assignment aims to provide you with some experience in writing codes using Java programming language
that covers the following topics:
Classes and Objects
Interaction between Classes
Remember that:
1. All programs should be able to run on the lab’s computers.
2. You must put the following information on the header of each text and source file you will be submitting in
this assignment:
Student’s full name:
Student’s ID:
Modification Date:
Purpose of this file (or program):
3. Assignments that are not able to be compiled will result in zero mark given to the assignment.
4. You must only use the Java features that have already been covered in the lectures
TASKS:
This assignment will require you to design a set of classes that work together to simulate the items stored in a
warehouse. You are then required to write a Java application to demonstrate how the objects from these classes
interact. In this assignment we will assume that a warehouse, which is owned by a company, is an object and it
can keep many containers (for shipping purposes for example). A container is also an object that can keep many
items of different type which may belong to a particular company. To demonstrate this, your application should
declare and implement the classes described below.
The Warehouse Class
This class is used to represent a warehouse. The class should contain attributes for the following information:
The warehouse name
The warehouse location
The owner (an object reference variable of type Company)
A list of containers stored in the warehouse (use an A
ayList
to represent this where
Container is a class described below)
under University Policy Directory and in Faculty handbooks and subject guides. under University Policy Directory and
in Faculty handbooks and subject guides.
The class should have a default constructor and also a constructor to initialize the attributes with the values passed
as parameters. Include methods to set each attributes individually, a toString() method to return a String
containing the warehouse’s details, and a method to calculate and return the total value of a warehouse (the sum
of the total value of each containers in the warehouse).
The Company Class
This class is used to represent a company. The class should contain attributes to represent the following information:
The company name
The company’s address
The contact number
Include a default constructor and a non-default constructor to initialize the attributes with values passed through
parameters. Include also the toString method to return the details of the company.
The Container Class
This class is used to a container ca
ying goods to be stored in a warehouse. The class should keep the details of:
The container id
The size of the container (e.g. 8ft, 10ft, 20ft, or 40ft containers)
A list of items stored in the container (use an A
ayList
- to represent this where Item is a class
described below)
The class should have a default constructor, the set method to change the id and the size separately, the get methods
to return individual attribute’s value, a method to add a new item to the A
ayList- , a toString()
method to return the details of the container, and a method to calculate and return the total value of a container
(the sum of the total price of all items stored in the container).
The Item Class
The Item class is used to represent an item stored in a container. The Item class should include the following
information.
The item’s id
The item’s description
The price per unit
The quantity in hand
The supplier supplying the item (an object reference variable of type Company described above)
The class should implement a default constructor, set methods for individual attributes, and get methods for each
attributes. Include also a toString() method to return a String to display the item’s details and a method to
calculate and return the total price of an item.
The main application
Write another class to be the main application that simulate the interaction between all the classes above. Your
application should keep an A
ayList of Warehouse that allows many Warehouse objects to be stored. The
following operations should be available:
Create a new Warehouse object
Add a Container to an existing Warehouse. This option will involve adding items to the container before
the container is added to the Warehouse.
Show the total value of:
o A warehouse
o A container in a warehouse
o An item in a container
Display the following information
o All Warehouse information
o All Containers in a Warehouse
o All Items in a Containe
Remember to include meaningful comments and use meaningful variables and methods names. A loop should be
used to allow the user to continuously perform various operations until the user chooses to quit from the application.
Include also necessary validations.
FACULTY OF ENGINEERING AND INFORMATION SCIENCES
SUBJECT’S INFORMATION:
Subject: CSIT121 Object-Oriented Design and Programming
Session: Autumn 2020 (Fe
uary)
Programme / Section: Computer Science and IT
Lecturer: Ms. Siti Hawa
Coursework Type
(tick appropriate box)
✓ Individual Assignment Group Assignment Project
Lab Task Seminar / Tutorial Paper Others
Coursework Title: Assignment 2 Coursework Percentage: 10%
ASSESSMENT CRITERIA:
Co
ectness
The application should produce the co
ect result as stated in the
specification.
2 marks
Class design and
implementation
Design of class that follows the specification provided. Class relationship is
implemented. Inheritance and polymorphism co
ectly implemented.
3 marks
Interface design and
implementation
Co
ectly declare interface and implemented by suitable classes. 1 mark
Exceptions Handling Suitable exceptions handling done for at least 3 exceptional situations. 1 mark
Main Application
Co
ect implementation of the main method with appropriate control flow
and data structures used.
2 marks
Readability and Output
Appropriate comments are included. Meaningful identifiers used. Proper
indentation and line spacing used. Well formatted output and creativity
shown.
1 mark
SUBMISSION:
All completed work should be submitted online through Moodle before or on the due date provided.
SUBMIT AS EARLY AS POSSIBLE. ONLY ONE SUBMISSION IS ALLOWED. IF RE-SUBMISSION IS NECESSARY,
YOU ARE REQUIRED TO REMOVE THE EARLIER SUBMISSION AND THIS MUST BE DONE BEFORE THE DUE
DATE. OTHERWISE YOU WILL BE PENALIZED FOR LATE SUBMISSON.
DUE DATE: Friday, 22nd May XXXXXXXXXX:55 pm)
PENALTIES FOR LATE SUBMISSION:
Penalties apply to all late work, except if student academic consideration has been granted. Late submissions will
attract a penalty of 25% of the assessment mark per day including the weekend. Work more than (3) days late will be
awarded a mark of zero.
PLAGIARISM:
When you submit an assessment task, you are declaring the following
1. It is your own work and you did not collaborate with or copy from others.
2. You have read