Data structures and algorithms assignment

Assignment Help Data Structure & Algorithms
Reference no: EM132522127

COIT20256 - Data Structures and Algorithms Assignment - Central Queensland University, Australia

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 classes which use inheritance, polymorphism, and exception handling.

Analyse, design and implement multi-layered software solutions, focusing on data structures and algorithms.

Compare and contrast performance of different algorithms in problem solving.

Investigate socially innovative practices in software development.

The Assessment criteria include:

1. Efficient object-oriented program design.

2. Design and implement appropriate data structures for application development

3. Evaluate a variety of data structures and algorithmic approaches

4. Effective use of good programming practice/techniques

5. Apply classes, inheritance, polymorphism, and exception handling

6. Programmatically connect to a database and implement the database operations

7. Rigorous testing of software application

8. Work collaboratively as part of a small team

Assessment task - Paired Programming

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. You will be using generic data structures, and lambdas and streams. The topics required for this assessment task are from Weeks 1-10. Your Java Application should have an interactive Graphical User Interface (GUI) using JavaFX GUI components.

Your application will connect to a database programmatically, executing necessary SQL queries within your java program.

You should also write an individual 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 - This is an extension to the problem given in Assessment Item 1 as specified here. 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).

End Homelessness (EH) is a newly registered Specialist Homelessness Services (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 directors have decided to have a Homeless Information System (HIS) which is reliable, flexible, and expandable. The support for the full development of the system depends on the quality of a prototype.

As part of the Assignment One you have developed a prototype for the HIS with very limited features.

In this Assignment you will be extending your initial prototype with additional features. You will be developing a Java application with a GUI.

The users accessing the HIS should able to:

1. Add new location (same as Assignment 1)

2. Update the statistics of people at risk of becoming homeless by choosing: (same as Assignment 1)

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 sorted in descending order (modified from Assignment 1)

all people in a chosen location at the risk of homelessness

all females at the risk of homelessness sorted in descending order based on their age group (modified from Assignment 1)

all at the risk of homelessness

Save the Locations in a database (new in Assignment 2)

Save the Risky persons in a database (new in Assignment 2)

Note: You can use the same data file futureDemand.csv. You are free to add any new location anywhere in Australia

Database - You can use the following information to complete your ERD. You need Entities (Tables) for Location, Weekly_Income, and Age corresponding to the classes. An SA3TenantCategory has a many-to-one relationship with Location, as many SA3TenantCategories can belong to one Location. Each SA3TenantCategory has an Age, and a Weekly_Income. You can see that RiskyPersons is a report showing the number of persons in an SA3Cateogry.

Database tasks -

1. Create a database only once. During the program execution it has to check whether database exists, if it does not create a database.

2. Create Tables only for the first time after checking that Tables are not existing.

3. Add records to Location, Age, and Weekly_Income when first time executing, using the data from the files.

4. Add records to SA3Cateogry for saving the data read from file.

5. Read the data from the database and load it to a LinkedList during the later executions of the program. Therefore, file reading is not required.

6. Add Locations to the database on entry by the user.

7. Add records to SA3Category and save these to database on user entry. SA3Cateogry will have foreign keys to link to Location, Age, and Weekly_Income.

You are reading and loading the data to LinkedList<RiskyPersons>. Use this LinkedList to search, sort and display various records as given in Section 1.1 for display of statistical reports. This will be more efficient and easier using lambdas and streams.

Report - Individually Written and Submitted

You should submit a report containing the following details.

1. UML class diagrams for the classes

Note: UML class diagrams generated using a software tool after completing the coding will not be accepted.

2. Test plan showing input data, expected results, and actual results. Show testing of erroneous entries also.

3. A table listing tasks completed by you, and the corresponding source file names and relevant part of the source code (if it is partial completion).

4. A brief description of difficulties found in designing, implementing or debugging and how did you solve these difficulties as a team.

5. Write a very brief description about teamwork issues such as communication problems, expressing ideas or coming to a consensus for a solution.

Attachment:- Data Structures and Algorithms Assignment File.rar

Reference no: EM132522127

Questions Cloud

Online videos on unified communications : Find and view several online videos on unified communications. Identify the URLs for three that you think do a particularly good job illustrating characteristic
Security and architecture design : System architecture is the descriptive representation of the system's component functions and the communication flows between those components.
MNG03236 Business Professional Development Assignment : MNG03236 Business Professional Development Assignment Help and Solution, Southern Cross University - Assessment Writing Service
Mine planning and optimisation using npv method : COURSE DESIGN PROJECT Assignment Help and Solution - Mine Planning And Optimisation Using NPV Method - Project information and requirements
Data structures and algorithms assignment : Design classes which use inheritance, polymorphism, and exception handling and Analyse, design and implement multi-layered software solutions
Impact of racism on indigenous australians : Prepare a literature review on topic "impact of racism on Indigenous Australians- a review of literature - Six journals discussion for review
EPM5500 Fundamentals of Project Management Assignment : EPM5500 Fundamentals of Project Management Assignment Help and Solution, Victoria University - Assessment Writing Service
MBA603 New Venture Capital Raising Assignment : MBA603 New Venture Capital Raising Assignment Help and Solution, Kaplan Business School - Assessment Writing Service - Capital Raising Strategy for Business
Evaluate current research in the area of inclusion : Demonstrate a systematic understanding of knowledge and a critical awareness of issues related to inclusion and Critically evaluate current research

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Create an adt for a b-pluse tree

Create an ADT for a B+tree. In the tree structure, provide an additional metadata variable that identifies the address of the far-left node in the file.

  Write the preorder traversal representation of the tree

Explain your key steps in determining the shortest path, and give the node sequence that corresponds to that shortest path - Write the preorder traversal representation of the tree.

  Create a linked list structure music that contains the data

Create a linked list structure Music that contains the data fields Name, Artist, Number_of _Songs, and a pointer to the list. Create the structure with 3 members and fill in data for each member.

  Convert the following formulas from reverse polish to infix

Convert the following formulas from reverse Polish to infix.

  How cryptography can be properly and improperly used

The reason for this lab is to give you an understanding of how cryptography can be properly and improperly used, and how changes in technology may serve to weaken trusted cryptographic applications

  Create a linked list that is a palindrome

Create a linked list that is a Palindrome, and call the isPalindrome method. Test to ensure it returns True.

  Compute the change for different values of n with coins

Compute the change for different values of n with coins of different denominations using the greedy algorithm and determine whether the smallest number.

  How to use breadth-first search in the directed graph

In this exercise we will develop an algorithm to find the strong components of a directed graph G = (V , E). Recall that a vertex w ? V is reachable.

  Draw a transition diagram for the arcade system

Draw a transition diagram for the arcade system. For each state, be sure to indicate clearly the values of all state variables

  Make the bst that results when the words are inserted

For each of the lists of C++ keywords do the following: Draw the BST that results when the words are inserted in the order given.

  Write an algorithm that applies the incremental idea

Write an algorithm that applies the incremental idea of the shell sort to a selection sort. The algorithm first applies the straight section sort to items n / 2 elements apart (first, middle, and last).

  Implement a state-space search

You will implement a state-space search that will find a solution to the sixteenpuzzle. For this program, in addition to the state-space search control, you will need to implement at least two other classes

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