COIT20256 Data Structures And Algorithms Assignment

Assignment Help Other Subject
Reference no: EM132494481

COIT20256 Data Structures And Algorithms - Central Queensland University

Part 1. Objectives
The purpose of this assessment item is to assess your skills attributable to the following learning outcomes and your achievement of the expected graduate attributes of advanced level communication, knowledge, cognitive, technical, and creative skills, and self- management.
• Design and implement appropriate data structures for application development
• Analyse, develop and implement software solutions with the focus on data structures and algorithms
• Apply classes, inheritance, polymorphism, and exception handling

Part 2. Assessment task
Your task in this assessment is to analyse the given problem, model, and design the required data structures using UML class diagrams. You will be implementing the software solution, applying efficient algorithms, inheritance, polymorphism, and exception handling. The topics required for this assessment task are from Weeks 1-5. Your Java Application should have an interactive Graphical User Interface (GUI) using JavaFX GUI components. You should also write a report, as specified in this document, demonstrating your conceptual knowledge. You will be required to use the topics learnt in the pre-requisite unit Introduction To Programming.

Problem
The Australian Bureau of Statistics (ABS) defines a homeless as a person
"who does not have suitable accommodation and whose current living arrangement: is in a dwelling that is inadequate, has no tenure
is where the initial tenure is short and not extendable
does not allow the person to have control of, and access to space for social relations".
On Census night in 2016, more than 116,000 people were estimated to be homeless in Australia-58% were male, 21% were aged 25-34 and 20% identified as Aboriginal and Torres Strait Islander Australians (ABS 2018). As of June 2016, there were 194,592 applicants waiting for social housing across the country's social housing programs (Patterson, 2017). Specialist Homelessness Services (SHS) are charity and government funded organisations working to support homeless people.
End Homelessness (EH) is a newly registered SHS who is determined to tackle the problem of homelessness in innovative ways by using information and communication technology to collect data, increase advocacy and if needed employ crowd funding to raise money. The very
basic requirement for addressing the issue is to have accurate information on each homeless person. Therefore, the directors have decided to have a Homeless Information System (HIS) which is reliable, flexible, and expandable.
You are invited to design and develop an initial prototype for the HIS. The prototype needs to have only limited functionality as described below. As a first step the HIS will be designed to collect data about single persons living in privately rented dwelling and having a very low income. If the weekly income is very low, any changes to their employment or other income source or any changes to their needs can affect their ability to pay rent, and increasing their risk of becoming homeless. The initial data collection will be targeted on people aged 50 or above. The support for the full development of the system depends on the quality of the prototype.
You will be developing a Java application with a GUI. The users accessing the HIS should able to:
1. Add new location
2. Update the statistics of people at risk of becoming homeless by choosing:
• appropriate location
• gender of the person to be added
• correct age group and
• income category
3. Display statistical reports to view:
• all males at the risk of homelessness
• all people in a chosen location at the risk of homelessness
• all females at the risk of homelessness
• all at the risk of homelessness

Data Structures
You may follow the class design given below. You should read the specification carefully and design the classes using UML class diagrams and include the attributes with correct data types and all the methods, clearly indicating public or private. Clarify your doubts during the design stage so that your implementation can be less error prone and faster to complete.
All classes should have a default constructor, parameterised constructor, copy constructor, accessor mutator (get, set) methods, and properly written toString() methods. Include other methods as needed. This doesn't apply to the JavaFX classes for the GUI.
i) Location class
The Australian Bureau of Statistics uses the geographical mesh map which divides the total geographic area into Mesh Blocks which is the smallest in size in terms of number of people living in the area. Statistical Areas Level 3 (SA3s) generally have populations between 30,000 and 130,000 persons and these are often the functional areas of regional towns and cities with a population in excess of 20,000 (ABS, 2018). The statistical data will be collected and studied from various SA3s.

This class is to read the given file and store the locations in an ArrayList. A Location has a SA3code which is a five digit number. Each state has a range for the SA3code and for Western Australia all SA3codes start with digit ‘5'. The Location has a name which can be more than one word separated by ‘- ‘and a space before ‘ ‘ and space ‘ ‘ after (eg: "Augusta - Margaret River - Busselton". The name should be validated so that it contains only alphabets other than the ‘-‘ and space characters.
ii) Person class
This is a generic class and has an age category, and a gender category. This class will remain abstract as no objects will be required of type Person.
iii) SA3TenantCategory class
This class extends the Persons class by including:
Location income category income source.
Override the inherited methods as required. Ensure that the source code is re-used and not repeated unnecessarily leading to redundant code.
The income sources included in the data file are: "employed" and "other".
iv) RiskyPersons class
This class is for recording and displaying the statistics of people at the risk of homelessness. This class will have:
SA3Category object,
Number of Persons in a Cateogry
Hints and tips: Refer to Week 3 Lecture and tutorial solutions, and the Textbook chapter on Polymorphism for the correct implementation of polymorphic behaviour.
v) DataFile class
This class is for implementing the file operations to open, read the values from the given ‘futureDemand.csv' file, store the values in an ArrayList<RiskyPersons>(). This file will be available from the Unit website.
Use specific file handling exceptions for various checked exceptions related to file operations.
vi) enum GENDER
Create an enum type GENDER to store male, female gender values as these remain constants.
vii) enum WEEKLY_INCOME
The actual weekly income is not recorded. The risk of homelessness is identified by the range of income. The interested ranges are:
• (-2000 -0) - NilIncome
• $1-$399 - below$400
• $400-$599 - below $600
• $600-$999 - below$1000
Create the enum type to enable use of these categories as constants.

viii) enum AGE
The actual age of the people recorded is not kept, but the age category within which they belong to are kept. The categories used are:
1. 50-54
2. 55-59
3. 60-64
4. 65 or over
ix) JavaFX classes
The standard classes required include the main class to create the Stage and launch, the controller to initialize GUI components, handle events, and validate user entries, the .fxml file for the layout design of GUI components, and the .css file for formatting.
You can have:
1. HomelessInfoMain class that has the main method and starts the application
2. HomelessInfoController class for event handling and data collection.
3. HomelessInfo.fxml for the .fxml

Graphical User Interface

The GUI should have the necessary components to enable the user to execute all the functions as provided in Section 2.1 above. You may use the guidelines provided below for your GUI design and implementation. Variations to the provided guidelines are acceptable if it meets the user requirements. Follow the User Interface design guidelines learnt in Week 4 and design the GUI to meet chosen aspects of an easy to use user interface that provides informative error messages, and clear instructions.

You can have a GUI with multiple tabs for taking the user through the step by step process of entering data about a new location, add new RiskyPerson/s belonging to an SA3TenanatCategory to the records, and finally displaying reports choosing one of the options. The user should be supported with the GUI in each step as given below.

i) Location
Use this Tab to enable the user to enter the SA3code, and name of a Location and add the Location. You can choose appropriate controls (Labels, TextFields, and a Button) for these.
Display error message if the user hasn't entered the Location correctly.

ii) Tenant
Use this tab to enable the user to enter the age, income, choose gender, SA3code, and income source. The user should then be able to increment number of RiskyPersons in the corresponding SA3TenantCategory in the existing ArrayList<>().
You can use Labels, TextFields, RadioButtons, ComboBox or ListView, and a Button to add the data.

iii) Reports

Use this Tab to enable the user to choose one of the available options and display the data. You can use a TextArea to display the report details. A full GUI design diagram is not given to encourage you to design user friendly interface.

You can switch between Tabs by using a Continue button. Once the Continue button is pressed and the Tab is changed the entries in the previous fields should be cleared.

Attachment:- Data Structures and Algorithms.rar

Reference no: EM132494481

Questions Cloud

Forward rate for the delivery of leu : Determine whether the portfolio manager should invest in U.S. T-bills or Romanian government securities.
Find what is the diluted earnings per share : Net income for calendar 2019 was $500,000. Assume the income tax rate is 30%. What is the diluted earnings per share for 2019?
Determine the price of a call option on jcom : Determine the price of a call option on JCOM having a strike price of $67.50 and 289 days to expiration,
Prepare the journal entries for lcd purchase of components : Prepare the journal entries for LCD's purchase of the components on November 1, 2021 and the first installment payment on November 30, 2021
COIT20256 Data Structures And Algorithms Assignment : COIT20256 Data Structures And Algorithms Assignment help and solution, Central Queensland University - assessment writing service
What entry to record accrued interest on note september : What The entry to record accrued interest on the note on September 30 (the end of the first month after the note was made) would include
What amount should koduck record in the warranty expense : What amount should Koduck record in the Warranty Expense account in April? During April, Koduck Cameras sold 150 instant cameras for $100 each
Which part of the journal entry to record exchange : The older truck and $21,000 cash are traded for new equipment valued at $30,000. Which of the following would be part of the journal entry to record
Identify the different types of yield curves : Identify the different types of yield curves and explain what they indicate for the U.S economy? What is the current shape of the yield curve

Reviews

Write a Review

Other Subject Questions & Answers

  Liberal and realist theories of international relations

Please explain the new world in order and it's relationship with liberal and realist theories of international relations.

  Discuss the issue of compatibility

Discuss the issue of compatibility as it applies to existing statistics reasearch. What is meant by the term .

  What is needed for police to obtain warrant to search home

How does the 4th Amendment apply to police entry into a person's home? What is needed for police to obtain a warrant to search a home? Under what circumstances can police enter a private residence without one?

  Train employee driver safety

Which of the following regulations have been established to train employee driver safety?

  An air-standard diesel cycle

An air-standard Diesel cycle has a compression ratio of 16 and a cutoff ratio of 2. At the beginning of the compression process, air is at 95 kPa and 27 degrees celcius. For a heat addition qin = 913.9 kJ/kg and a heat rejection qout = 353 kJ/kg assu..

  Identify the stakeholders and change agents

Identify the stakeholders/change agents. Who or what organizations are concerned about, may benefit from, or are affected by this proposal.

  Describe your leadership style of communication

Locate a YouTube link(must be appropriate) that best describes your leadership communication. Briefly describe your leadership style of communication.

  What is posted as response to the persons diagnosis

History of Present Illness (HPI): RF is a 15-year-old male who reports dull pain in both knees. Sometimes one or both knees click, and the patient describes.

  Legal and ethical issues can arise in any organization how

q1.consider an organization where you work or one with which you are familiar. what is an issue within the organization

  Which passage does don quixote justify his battle

In which passage does Don Quixote justify his battle against the windmills to Sancho

  Identify the school of thought associated with it

Using your textbook and readings, give an example of an abnormal behavior and identify the school of thought associated with it.

  Compare the number of valence electrons an oxygen

Compare the number of valence electrons an oxygen, o, atom has with the number of valence electrons a selenium, se, atom has. Are oxygen and selenium in the same period or group?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd