Write My Paper Button

WhatsApp Widget

You have been commissioned by the Birmingham City Council to develop a Java application as a prototype for this system. Your prototype will demonstrate the feasibility of tracking flood risks, prioritizing emergency response, and computing

CS4330 Data Structure and Algoritham Coursework Assignment Brief 2025

CS4330 Assignment Brief / Coursework Content:

This coursework is designed to assess your achievement of the following learning outcomes of the module:

  1. Demonstrate a deep understanding of the characteristics of a range of data structures and algorithms, and their applications.
  2. Critically evaluate the appropriateness of a chosen ADT and algorithm(s) for solving a specified computing problem.
  3. Select and apply suitable Abstract Data Types (ADTs) within a principled software development process and ADT implementations for modelling and solving a computing problem.

The coursework: Birmingham Flood Response Management System

Birmingham has been increasingly affected by floods due to climate change and urban development. The Birmingham City Council, in collaboration with the Environment Agency, has developed flood risk management strategies to mitigate flood damage and improve emergency response efficiency (Birmingham Flood Risk Plans and Strategies). To enhance these efforts, the city council plans to develop a “Flood Response Management System”, which will leverage real-time data to track water levels, predict flood-prone areas, and optimize emergency response.

The system needs to:

  • Monitor and store water level readings across various locations in Birmingham.
  • Process emergency response requests and allocate resources efficiently. Optimize evacuation routes for affected residents.
  • Assist in the distribution of critical flood response resources such as
    sandbags and water pumps.

Are You Looking for Answer of CS4330 Coursework Assignment

Order Non Plagiarized Assignment

CS4330 Your Task

You have been commissioned by the Birmingham City Council to develop a Java application as a prototype for this system. Your prototype will demonstrate the feasibility of tracking flood risks, prioritizing emergency response, and computing safe evacuation routes. Additionally, you are required to evaluate the ability of your solution to meet a change requirement, which will be released on the due date of the Java application.

Data Files:

The prototype application is designed to utilize data stored in Comma-Separated Values (CSV) text files to fulfil the client’s requirements. The first line in each data file corresponds to the header line. All CSV files can be accessed through the module page on Blackboard (http://vle.aston.ac.uk/) under the “Coursework Specification” folder. Please be aware that during the testing phase, we may use different data files with varying content, though they will adhere to the same format.

flood_monitoring_stations.csv:

This file contains water level records from various flood monitoring stations in Birmingham. The first line in the data file corresponds to the header line. Each data line contains the following attributes, separated by commas:

  1. Station ID: A unique identifier for each flood monitoring station.
  2. River Name: The name of the river being monitored.
  3. Location: The geographic area where the station is located.
  4. Date: The date of the recorded water level.
  5. Water Level (cm): The measured water level on the given date. The following is an extract from the file:
    Station ID, River Name, Location, Date, Water Level (cm)
    FM001, River Rea, Digbeth,2025-03-16,130

emergency_response_teams.csv:

This file contains the details of available emergency response teams and their response capacity. Each data line contains the following attributes:

  1. Team ID: A unique identifier for the emergency response team.
  2. Maximum Capacity: The maximum number of flood incidents the team can handle simultaneously.
  3. Available Status: Whether the team is available for deployment (Yes or No).
CS4330 Data Structure and Algoritham CWK Assignment

Functional Requirements (Today is assumed to be April 14, 2025):

1. List all flood monitoring stations and their recorded water levels for a specific date. The system should list all flood monitoring stations across Birmingham along with their recorded water levels for a given date. The list should be sorted in descending order of water levels, ensuring that the most critical flood-prone areas appear first. For example:

CS4330 Data Structure and Algoritham CWK Assignment

2. Allocate emergency response teams based on flood severity and team availability. The system should allocate emergency response teams (emergency_response_teams.csv) to flood-affected areas (flood_incidents.csv) based on the following criteria:
i) Flood severity – Incidents are prioritized based on recorded water levels, with the highest water levels handled first.
ii) Response team availability – Only teams marked as available (Yes) can be assigned.
iii) Capacity of response teams – Each team has a maximum capacity of flood incidents they can handle simultaneously. A team cannot be assigned more incidents than its capacity allows.
iv) Fair workload distribution using the least-loaded team approach – (1) At each step, the system assigns the next flood incident to the team that has handled the fewest incidents so far.
(2) If multiple teams have the same number of assignments, any of them may be chosen.
(3) This prevents overloading one team while others remain
underutilized.
If all available teams reach their maximum capacity, remaining flood incidents should be placed on a waiting list until a team becomes available. For example:

CS4330 Data Structure and Algoritham CWK Assignment

3. Given a location, determine the nearest evacuation centre using the shortest route. The system should compute the nearest evacuation centre for a given location by analysing the city’s road network (road_network.csv). The system will determine the shortest route between the given location and all evacuation centres and find the nearest one based on distance.

Some Assumptions:

  • City road network is represented as a weighted graph, where: Intersections (locations) are nodes
  • Roads are edges with weights representing distance (in km)
  • All roads are bidirectional unless explicitly stated otherwise.
  • Evacuation centres are fixed points in the city, each associated with a specific intersection.
  • If no path exists to any evacuation centre, return “No evacuation route available.”.
  • Shortest route is determined based on the total distance travelled, not the number of road segments.
CS4330 Data Structure and Algoritham CWK Assignment

4. Analyse Water Level Trends from Flood Monitoring Stations. The system should analyse historical water level data recorded by flood monitoring stations to identify trends over time. The trend analysis will help determine whether water levels are increasing, decreasing, or stable, allowing for early warnings of potential flooding.

The analysis will be based on historical water level records collected over two timeframes: the last 7 days for short-term trends and the last 30 days for long-term trends. Each monitoring station records the water level daily, and the system will compare the first and last recorded water levels within each period to determine the trend. If the water level at the last recorded date is higher than the first by more than 2 cm, the trend is classified as “Increasing”. If the water level has dropped by more than 2 cm, the trend is classified as “Decreasing”. If the change remains within +2 cm, the trend is considered “Stable”. This approach ensures that small fluctuations are not misclassified as significant trends.:

CS4330 Data Structure and Algoritham CWK Assignment

Non-functional Requirements:

1) A user will interact with the system through the Text-based User Interface (TUI), with all output displayed by the standard output stream.
a) The results display for each query must be clear and easy to understand. b) Note that the sample output shown in the Functional Requirements section serves as a guide. You are not required to follow the same presentation format.
2) The application should be robust and display appropriate messages should any run time errors (e.g., no result found) occur.

Critical Evaluation of your Data Model and Algorithm Design:

Near the due date of your Java application, a change requirement will be released.

You are required to write a final report which:

  1. evaluates the ability of your Java application to meet the given change requirement,
  2. describes change(s) to the data model and/or algorithm design of your Java application in order to meet the given new requirement,
  3. analyses the time efficiency of your current implementation for each operation listed in the Functional Requirements section and how the efficiency of each operation could be further improved