Recent Question/Assignment

Complete all of assignment 3 in the attachment
Presentation
Material to submit for task 1 and Task 2
You need to submit a single zip file containing:
1. All java and class files
2. A doc/pdf file (not more than 400 words per task) with the description of the problems including input and output in your own words, description of how you test this program with explaining logic, a snapshot of the program output, and UML design (where required, see marking guide)
Requirements
To complete this assessment you might need to have covered material up to and including the topic Objects and Classes, Thinking in Objects, and Arrays in the Text Book and Topics.
Assessment item 3
Application of Programming in Java
Value: 20%
Due Date: 01-Oct-2018
Return Date: 22-Oct-2018
Length:
Submission method options: EASTS (online)
Task
Task 1
Value: 12 marks
For this task you will create a Subject class, whose instances will represent the subjects for study at a university. A subject will have a name, just a String, and a subject code, which is a six-character String. The first three characters of a subject code are alphabetic and the last three are numeric. The first three characters define the subjects discipline area. A subject code must be unique.
You will also write a TestSubject class to test the use of your Subject class. In particular this will maintain an array of subjects. In order to manage the uniqueness of the subject codes, your program will need to display information about existing subject codes as well as checking that
Charles Sturt University Subject Outline
ITC206 201860 B D Page 20 of 35
Version 1- Published 01 June 2018
any new subject code supplied by the user is not the same as any existing subject code. The following state and functionality should be provided for the Subject class:
• Two fields will hold the subjects name and the six-character subject code.
• A constructor will allow a name and a new, validated subject code to be provided when a new subject is created.
• Getters will provide access to the attributes.
• An accessor method called getDiscipline will return a string containing the first three characters of the subject code.
• Another accessor method called codeMatches will return a boolean value indicating if the subjects code matches the string argument provided. -Matches- is used here in the same sense as for the matches method of the String class.
• A toString method will return a string containing the subject code and subject name.
To assist with managing subject codes and their uniqueness you will provide the Subject class with some class methods as follows:
• An allDisciplines method will accept an array of Subject objects. It will return an array containing the different 3-character discipline codes represented in the array of subjects in alphabetically order.
• A codesPerDiscipline method will accept an array of Subject objects and a 3-character discipline code. It will return an array containing the different subject codes represented in the array of subjects for the particular discipline.
• An isValidCode method will accept a string that is a possible new subject code, and return a boolean indicating whether it satisfies the structural requirements for a subject code.
• A codeExists method will accept an array of Subject objects and a possible new subject code. It will return a boolean indicating whether that code has already been allocated to one of the subjects in the array.
• A sortDisciplines method will accept an array of Subjects objects. It will return the sorted array of subjects in alphabetically order.
Your TestSubject program will perform the following sequence of actions, using good design techniques such as in the appropriate use of methods:
• An initial array of Subject objects will be created from any data in a file that was previously saved by the program. You need to read those data from the file and process other requirements (see below)
• The user interaction will then proceed to allow the user to add one or more new subjects to the array. If the user wishes to add new subjects, the discipline areas of existing subjects should be displayed in alphabetically order. The user will then enter a discipline code to which the program will respond by displaying any existing subject codes in that discipline. This procedure simplifies the users task of choosing subject codes that do not already exist, but does not prevent user mistake. Each subject code entered by the user should be checked. The user can enter any new subjects in that discipline (or indeed in
Charles Sturt University Subject Outline
ITC206 201860 B D Page 21 of 35
Version 1- Published 01 June 2018
other disciplines). The user should be given the choice of repeating the processing for other discipline areas.
• When the user has finished adding subjects, and only if subjects have indeed been added, the program will overwrite the data file with the updated data.
Note:
• You may use an ArrayList to implement an array if you prefer and it is appropriate.
You need to submit java and class files, a short discussion to explain the logic on how the problem has been solved, and sample output (for detail please see marking guide and presentation below).
Task 2
Value: 8 marks
Design a class named Triangle that extends GeometricObject class (see GeometricObject class in the textbook). The Triangle class contains:
• Three double data fields named sidel, side2, and side3 with default values 1.0 to denote three sides of the triangle.
• A no-arg constructor that creates a default triangle.
• A constructor that creates a triangle with the specified sidel, side2, and side3.
• The accessor methods for all three data fields.
• A method named getArea() that returns the area of this triangle.
• A method named getPerimeter() that returns the perimeter of this triangle.
• A method named toString() that returns a string description for the triangle.
The formula to compute the area of a triangle is:
s space equals space left
parenthesis sidel plus side2
pakcs FisHp 1§awAtifiesiya re root of s left
aRregogs,i2s minus sidel right parenthesis
Tdreisarie*ftipthredtitesiEld minas a ildiels2 ingatmation.
parenthesis cross times left parenthesis s minus s i
d e 3 right parenthesis end root
Draw the UML diagram that involves the class Triangle. Implement the class. Write a test program that creates a Triangle object with sides 3.0, 4.0, 5.0, color yellow and filled true, and displays the area, perimeter, color, and whether filled or not. GeometricObject class is given below.
Charles Sturt University Subject Outline
ITC206 201860 B D Page 22 of 35
Version 1- Published 01 June 2018
// GeomstricObject.java; The abstract GeometricOhjeot class
public abstract class GeometricObject
private string color = -white-,t
private Boolean filled;
{L ]Js construct*/
pzotected GeometricObject
/-Construct a geometric object*!
protected GeometricObject (String color, boolean filled) f
this.coior = color;
= filled;
l,,Getter method for color,/
public String getColor n f
return color;
/L1Setter method for colorl
public void setColor(Stiing color)
this.color = color;
/-Ge-tter method for filled. Since filled is boolean,
sco the get method name is isFiIled,/
public boolean isFilled()
return filled.;
ii.Setter method for fillediJ
public void setFilledMioolean filled (
= filled;
/-Abstract method findAreaq
public abstract double getArea
0.,Abtract method getPerimeter/
public abstract double. getPerimeter ();
1
You need to submit java and class files, a short discussion to explain the logic on how the problem has been solved, UML diagram, and sample output (for detail please see marking guide and presentation below).
Charles Sturt University Subject Outline
ITC206 201860 B D Page 23 of 35
Version 1- Published 01 June 2018
Rationale
This assessment task will assess the following learning outcome/s:
• be able to interpret design requirements expressed in UML (Unified Modelling Language).
• be able to apply inheritance and aggregation patterns in the design and implementation of programs.
• be able to manipulate simple file operations using Java.
Marking criteria and standards
Marking guide of the specific tasks:
Assessment 3 (Total marks 20)
Criteria
a. Execution: Program launches, executes and terminates without crashing; program executes as specified.
Task 1 (total marks 12)
Marks Pass CR
1.0 Provide java Provide java file
file and it and it executes
executes without crashing
without towards intended
crashing output but one/
towards two methods are
intended missing (up to
output but a 0.75)
significant
number of
methods
are missing
(0.5)
DI HD
Provide java Provide java
file and it file and it
executes executes
without without
crashing crashing
towards towards
intended intended
output but output (up to
one method is 1.0)
missing (up to
0.85)
b. Program design & 8.0 implementation: Subject (4), TestSubject (2), and file read/write (2) classes are implemented as specified, showing good logic. Implement and integrate Subject and TestSu bject classes with some methods Implement and integrate Subject and TestSubject classes with majority of the methods using file read & write (4.5-5.5) Implement Implement and integrate and integrate Subject and Subject and TestSubject TestSubject classes with allclasses with all methods using methods using
file read & file read &
write with write
Charles Sturt University Subject Outline
ITC206 201860 B D Page 24 of 35
Version 1- Published 01 June 2018
c. Presentation: Code 1.0 uses good style using file read & write (4.0) Provide a number of variable names but not all by maintaining prope naming convention, occasionally proper indentation, and comments on only important calculation (up to 0.65) minor error maintaining
(indentation, comments) Provide arbitrary variable names, no proper indentation, and very few comments (up to 0.5) (6-7) logical flow (8)
Maintain Maintain proper naming proper naming convention of convention of rail variables, all variables,
proper proper
indentation on indentation on each block of each block/
codes, and line of code(s),
provide and provide comments on important only importantinline calculation (upcomments (up
to 0.75) to 1.0)
Provide discussion document in very brief (well below the expected word limit) and provide a sample output for task (up to 1.3)
d. Submission: The 2.0
documents with all components such as java files, class files and discussion (i.e. logic discussion on how to solve the problem within 400 words and sample output)
Provide no discussion document but provide a sample output for task (up to 1.0)
Provide discussion document within word limit but not enough explanation about the logic how the problem has been solved, and provide a sample output for task (up to 1.5)
Provide discussion document within word limit proper explaining the logic how the problem has been solved, and a sample outputs for task (up to 2.0)
Task 2 (total marks 8)
Criteria Marks Pass CR DI HD
a. Execution: Program 1.0 launches, executes and terminates without crashing; program executes as specified.
Provide java file and it executes without crashing towards intended output but few options are missing (0.65)
Provide java file and it executes without crashing towards intended output but a significant number of Provide java file and it executes without crashing towards intended output with almost all options are Provide java file and it executes without crashing towards intended output (1.0)
Charles Sturt University Subject Outline
ITC206 201860 B D Page 25 of 35
Version 1- Published 01 June 2018
classes with almost all functions using super/ sub class relationship (3.5)
Triangle and TestTriangle classes TestTriangle
4.0
b. Program design & implementation:Triangle (2) and TestTriangle(2) classes are implemented as specified, showing good logic.
c. UML design for classes
options are
missing
(0.5)
Implement Implement and
and integrate Triangle
integrate and
TestTriangle with majority classes with functions using
some super/sub class
functions relationship (3)
using super/
sub class
relationship
(2) Implement and integrate Triangle and TestTriangle classes with all functions
using super/ sub class relationship maintaining logical flow (4)
UML with all components and their modifier, argument, and return type (2.0)
included (0.75)
Implement and integrate Triangle and
2.0 UML with a UML with majority UML with all number of of the components components componentsand their modifier, and their
(up to 1.0) argument, and modifier,
return type with argument, and minor error (up to return type
1.3) with minor
error (up to 1.5)
Provide a number Maintain Maintain of variable names proper naming proper naming
but not all by convention of convention of maintaining properall variables, all variables,
naming proper proper
convention, indentation on indentation on
occasionally each block of each block/
proper codes, and line of code(s),
indentation, and provide and provide comments on only comments on important
important only importantinline calculation (up to calculation (upcomments (up
0.38) to 0.43) to 0.5)
d. Presentation: Code 0.5 uses good style Provide arbitrary variable names, no proper indentation, and very few comments (up to 0.25)
(indentation, comments)
e. Submission: The 0.5 documents with all components such as java files, class files and discussion (i.e. logic discussion on how to solve the problem within 300 words and sample output) Provide no discussion document but provide a sample output for task (up to 0.25) Provide discussion document in very brief (well below the expected word limit) and provide a sample output for task (up to 0.37) Provide discussion document within word limit but not enough explanation about the logic how the problem has Provide discussion document within word limit proper explaining the logic how the problem has been solved, and a sample
Charles Sturt University Subject Outline
ITC206 201860 B D Page 26 of 35
Version 1- Published 01 June 2018
been solved, outputs for
and provide a task (up to 0.5)
sample output
for task (up to
0.43)
Presentation
Material to submit for Task 1 & Task 2
You need to submit a single zip file containing:
1. All java and class files
2. A doc/pdf file (not more than 500 words) with the description of the problems including input and output in your own words, description of how you test this program with explaining logic, a snapshot of the program output, and UML design (where required, see marking guide)
Requirements
To complete this assignment you might need to have covered material up to and including the topic Inheritance and Polymorphism, abstract classes and interfaces, Thinking of Objects, Abstract class, Interface and UML in the Text Book and topics.
Assessment item 4
Final Exam
Value: 50%
Due Date: To be advised
Duration: 2 hours + 10 minutes reading time
Submission method options: N/A - submission not required/applicable
Requirements
You are required to sit and pass the final exam in this subject to be eligible for a passing grade. The exam is worth 50% of the marks in this subject and you are required to answer following number of questions:
Charles Sturt University Subject Outline
ITC206 201860 B D Page 27 of 35
Version 1- Published 01 June 2018

Looking for answers ?