hey im lookinfor someone to correct my data structures code

profilessioalreddy1991
assignment2term2_2016_2.pdf

Assessment details for ALL students

Assessment item 2 – Assignment 2

Due date: Thursday (29 Sep 16) 11:45 PM AEST ASSESSMENT

Weighting: 30%

1

Objectives

The objective of this assignment is for students to:

 Analyse, develop and implement software solutions.

 Compare and contrast different algorithms in problem solving.

 Choose and compare appropriate data structures in program design.

 Apply classes, inheritance, polymorphism and exception handling.

Assessment Task

Your task is to develop a Java Application that allows the user to read the game name,

publisher name, developer name and price from a text file (GameData.txt), save data in a file

(NewGameData.txt), display data in a text area, sort data by the game name and search data

by the game price.

The application’s GUI components should consist of a menu bar containing 3 menus (File,

Tools and Help) and a text area (Display Area for Games) as shown below.

There are 3 menus (File, Tools and Help). The File menu contains 3 items (Read, Save and Exit), the

Tools menu has 3 items (Display All Games, Sort Games by Name and Search Games by Price) and

the Help menu has 2 items (Help and About). The menu items are described below.

FileRead: Reads the data from GameData.txt (see format of this file below) and stores the data in a

Linked List or an ArrayList. The application must use appropriate exceptions to deal with problems

during the file opening (e.g. what to do if file doesn’t exist).

The file contains Game Name (String), Publisher Name (String), Developer Name (String) and Game

Price (double). A sample file format for GameData.txt is as follows.

Halo 5: Guardians, Microsoft Studios, 343 Industries, 48.90

ARK: Survival Evolved, Studio Wildcard, Instinct Games, 29.50

Rise of the Tomb Raider, Microsoft Studios, Eidos Montreal, 44.95

FileSave: Saves all the data from ArrayList/LinkedList to NewGameData.txt file. The new file only

contains game name, developer name and price. It also contains the total number of games. The

format for NewGameData.txt file is as follows.

Halo 5: Guardians 343 Industries 48.9

ARK: Survival Evolved Instinct Games 29.5

Rise of the Tomb Raider Eidos Montreal 44.95

Total Games: 3

The application must use the appropriate exceptions to deal with problems during the file saving.

File  Exit: Allows the user to exit the application.

ToolsDisplay All Games: Displays all the data from ArrayList/LinkedList in the display area as

shown below.

ToolsSort Games by Name: Sorts data by the game name in ascending order using the best sorting

algorithm covered in COIT20256 course and displays sorted data in the display area as shown below.

You are not allowed to use any built-in sorting algorithm.

ToolsSearch Games by Price: Asks the user to enter a game price via a dialog box as shown

below and uses the best searching algorithm covered in COIT20256 course to search for the given

game price. It displays appropriate message found or not found in display area.

Help  Help: Provides instructions to user via a dialog box on how to use the application

Help  About: Provides the user with your contact details (contact person, email) for further help.

Data Validation

Input data validation for the Game Price entered to search is required. If no game price is entered or

entered game price is less than $1 and OK button is pressed then the application will pop out a

message box with an appropriate message.

Data Structures & Algorithms

You must use:

 LinkedList or ArrayList for storing game object.

 Best searching algorithm (based on your analysis) covered in COIT20256 course for searching.

 Best sorting algorithm (based on your analysis) covered in COIT20256 course for sorting.

 Two classes to implement the application. One class, named Game which describes an individual Game (fields such as Publisher, Developer, Name, Price and get and set methods) and another

class named GameApplication which contains GUI with components and methods for sorting,

searching and file processing.

 Appropriate fields and methods to store/process game data.

Evaluation and Analysis of Data Structures and Algorithms

 You must justify the reason for selecting the data structure (ArrayList or LinkedList). Why do you think that the data structure used by you is the best data structure for your application? Write

maximum 2-3 lines to answer this question in Report.docx.

 You must justify the reason for selecting the sorting algorithm. Why do you think that the sorting algorithm used by you is the best sorting algorithm for your application? Write maximum 2-3

lines to answer this question in Report.docx.

 You must justify the reason for selecting the searching algorithm. Why do you think that the searching algorithm used by you is the best searching algorithm for your application? Write

maximum 2-3 lines to answer this question in Report.docx.

 You must run your application 3 times by increasing the data each time (e.g. 5 games, 50 games, 500 games) and compare time for sorting algorithm. Write in Report.docx, the time taken to sort

in each case.

 You must run your application 3 times by increasing the data each time (e.g. 5 games, 50 games, 500 games) and compare time for searching algorithm (use same search key each time). Write in

Report.docx, the time taken to search in each case.

Implementation Platform

You must implement your program in Java using TextPad Editor which is available in University’s

computing labs and may also be downloaded from the following site:

http://textpad.com/download/index.html

Assignment Submission

You MUST show your tutor the progress (Game.java and GameApplication.java files) in Week 9

Tutorial and Week 10 Tutorial. If you are a distance student, you need to contact the course

coordinator by e-mail.

You MUST submit on 29 September the following files using the Moodle online submission system.

 Game.java - Source code for Game class (fields, constructor, get and set methods)

 GameApplication.java - Source code for class with GUI components, sorting method, searching method, reading/writing from/to file methods, etc.

 Report.docx – Results of comparing data structures and algorithms as mentioned above (see section Evaluation and Analysis of Data Structures and Algorithms).

Warning: You must submit your own assignment and correct files.

Assessment Item 2 Marking Criteria

Total Marks – 30 Marks Allocated

1 GUI implementation and presentation (menus, display area, etc.) 4

2 Read data 2

3 Display data from file 2

4 Save data to file 2

5 Sort data/algorithm 3

6 Search data/algorithm 3

7 Help and Exit 1

8 Input validation and pop out message box 2

9 Design – fields, classes, objects, methods 4

10 Quality of code (comments, indentation, naming and readability) 2

11 Report

Quality (content, presentation, language) (1 mark)

Reason for selecting data structure ArrayList or LinkedList (1 mark)

Reason for selecting the best sorting and searching algorithms (1 mark)

Time comparison/analysis of sorting and searching algorithms (2 marks)

5

12 Late submission penalty is 5% of total mark per day -1.5/day

13 Penalty for using things not covered in lectures and tutorials -3