Design and implement programs for real-world problems

Assignment Help Python Programming
Reference no: EM133133988

Learning Outcome 1: Demonstrate a critical understanding of the theory and application of advanced programming techniques

Learning Outcome 2: Design and implement programs for real-world problems

Learning Outcome 3: Communicate design decisions for the selection, storage and manipulation of data

Learning Outcome 4: Critically evaluate the legal and ethical impact of software developments in real-world contexts.

Scenario

The following brief is identical to the formative. Any work you have done for using it as part of the weekly productions or submitted for your formative CAN be used or repurposed in your summative. There is NO requirement for you to cite or reference your own work.

Client Brief
This document provides the client brief which should be used for the development of a single program or a collection of related programs, for submission with the final summative report.
You have been asked to design and develop a prototype application that demonstrates how data form the given data set can be formatted, cleaned, and used to generate specific outputs (as listed below).
Functional requirements
The application should provide the following functionality:
• A means to load the initial data set (which consists of three CSV files) and translate it into a suitable format, either XML, or JSON or an entity relationship structure (not CSV)
• A means to back up the data in this format using either files or a database. This should preserve the current state of the data when the program is closed, and make it available when the program is reopened.
• A process for cleaning and preparing the initial data set, managing inconsistences, errors, missing values and any specific changes required by the client (see below).
• A graphical user interface(s) for interacting with the data that enables the user to:
o Load and clean an initial data set (from the CV format)
o Load and save a prepared data set (from its translated format)
o Use the prepared data set to generate output and visualisations
o Manipulate the range of values used to generate output and visualisations
It should be assumed that this program will be able to handle other sets of data generated from the same source, i.e. data with the same column row headings but containing different values and anomalies. However, the application is not required to be generic (work with multiple unknown data sets). Given this best practice regarding code reuse, encapsulation and a well-defined programming interface should be applied where applicable.
Data manipulation and outputs
The client initially wants the application to perform the following actions on the data:
1. Outputs should not include any data from airports that have a ‘type' ‘closed'
2. The ‘type' column contains information of the type of airport. Extract this out into a new column, one for each category of airport, for:
a. all UK(GB) airports, that are , large_airport, medium_airport, small airport
b. join each category, large_airport, medium_airport, small airport
to the communication frequencies ‘ frequency_mhz' that the airport uses for communication ensuring that each airport in all categories is correctly matched with its communication frequencies.
3. The client initially needs information to generate the following and output the results using appropriate representation:
a. Produce the mean, mode and median for the ‘frequency_mhz'
i. For large_airport
ii. For frequencies more than 100 mhz
4. Produce a suitable graph that display the communication frequencies used by ‘small_airport' You may need to consider how you group this data to make visualisation feasible
5. Determine if there is any significant correlation between the communication frequencies used by the 3 different categories of airport. ‘Are some frequencies used more than others?'. You will need to select an appropriate visualisation to demonstrate this.

Non-functional requirements
• The GUI interface provides appropriate feedback to confirm or deny a user's actions
• The application manages internal and user-generated errors
Technical requirements
• The application is built using Python 3.7.*
• The application uses one or more of the advanced APIs introduced on this module such as: NumPy, pandas, Seaborn, Matplotlib. It should NOT use alternative APIs for this functionality, however Python core libraries can be used to support where applicable, such as support for a database.
• The application runs within the anaconda environment using a Jupyter notebook
• The application or its parts do not run concurrently, do NOT use Python threads
The requirements specified here are the constraints within which you need to produce your development. They are not negotiable with the client.

Assessment Task(s)
Given the client brief above, produce a suitable software solution that meets the specified requirements as either a single program, or a series of clearly identifiable programs.
NOTE: Failure to submit the program(s) will result in a zero grade.
From this development produce a design report that addressesthe series of focus questions given in the report questions document. These ask you to discuss your design decisions and demonstrate the underpinning theoretical aspects in the context of your software development. Code samples should be extracted from your software development, where requested, to demonstrate specific algorithms and interactions. You should support your discussion with appropriate reference to relevant sources using the correct citation and reference structure as indicated in the guide to IEEE referencing system.

Report contains 3 sections as follows:
The report consists of three sections, each containing specific questions targeting what needs to be addressed. In each section is a maximum word count and/or page numbers which should be adhered to. Your report should be labelled to clearly identify which question you are addressing. Your code samples and diagrams should be presented in the appendices and referred to (via caption labels) from your main discussion. The sections contribute to the module learning outcomes as follows:

Section 1: Theory supported by code samples (50%, 1400 words plus code samples)
Evidence for learning outcome: Demonstrate critical understanding of the theory and application of advanced programming techniques; Design and implement programs for real world problems.

Section 2: Design decisions supported by code samples (40%,1200 words plus code samples)
Evidence for learning outcome: Communicate design decisions for the selection, storage and manipulation of data; Design and implement programs for real world problems.

Section 3: Reflection on the ethics, moral and legal aspects (10%,400 words)
Evidence for learning outcome: Critically evaluate the legal and ethical impact of software developments within real world contexts.

Report references
Provide a correctly structured list of references to all the resources used for this development and report. Your responses should be appropriately supported by references to the literature and relevant resources using the Computer Science Department's referencing standard.

Report contents
The report consists of three sections, each containing specific questions targeting what needs to be address. It should be clear in your report which section and question you are answering. In each section is a maximum word count and pages in the appendices (where applicable) and this should be adhered to. All images and diagrams should be of a size that enables them to be clearly viewed. You should refer to the assignment writing guidelines on Canvas for further formatting and submission guidance

The sections contribute to the module learning outcomes as follows:

Section 1: Theory supported by code samples(50%, 1400 words plus code samples)
Evidence for learning outcome: Demonstrate critical understanding of the theory and application of advanced programming techniques; Design and implement programs for real world problems.

Section 2: Design decisions supported by code samples(40%1200 words plus code samples)
Evidence for learning outcome: Communicate design decisions for the selection, storage and manipulation of data; Design and implement programs for real world problems.

Section 3: Reflection on the ethics, moral and legal aspects (10% 400 words)
Evidence for learning outcome:Critically evaluate the legal and ethical impact of software developments within real world contexts.

Section 1: Theory supported by code samples(50%, 1400 words plus code samples)

a) Identify one part of your program design that could be redesigned to use Python Threads. Discuss what specific issues need to be considered given the overall design of your program, clearly demonstrate how data and/or communications will be passed between threads, and which Python constructs would support this. You should provide an overview diagram of your existing program flow and clearly identify where concurrency could be of potential benefit.
(500 words maximum, plus appendices containing up 1 page maximum of supporting code examples, and 2 pagediagrams)

b) With specific refence to GUI interface constructs and best practice regarding interface layouts, discuss how your GUI supports the required user interactions, given the client's requirements. You should clearly identify the different interactions required by the user, the GUI and code construct/s that supportit, and your reasoning for selecting these over other viable options.
(500 words maximum, plus appendices containing up to 1 page maximum of supporting code examples, and 2 pages of wire frame/state designs)

c) Java and Python are both high-level programming languages, each providing similar functionality but via different mechanisms and syntax. Having experienced both languages, discuss which you believe to be the most effective in terms of ‘manipulation of data containers' (constructs used for storing, structuring, and manipulating data within the program such as a List), and give specific Python examples (only) from your program that support your argument.
(400 words maximum, plus appendices containing up to 1 page maximum of supporting code examples)

Section 2: Design decisions supported by code samples(40% 1200 words plus code samples)

a) With specific reference to the client's data manipulation requirements, discuss your reasoning for your selected data format (JSON, XML, entity relationship structure), and what advantages/disadvantages it has demonstrated in this context?
(300 words maximum, and 1 page maximum of supporting code examples, 1 page data format diagram)

b) With support of appropriate code sample/s discuss how you implemented both parts client's 3rd requirement asstated below. You should use appropriate terminology and clearly identify the code constructs/functions/APIs you have selected and why you selected them over alternatives. You should make reference to any data cleaning needed to get to this stage in the application.

(300 words maximum, plus appendices containing up to 1 page maximum of supporting code examples, and 1 page maximum of screen shots)

c) With support of appropriate code sample/s discuss how you implemented appropriate visualisations to meet the clients 4th requirement as stated below. You should clearly identify the APIs you selected and why you choose them over other viable options, ensuring you make clear reference to the advantages/disadvantages in this context. You should provide screenshots to demonstrate the visualisation/s you selected. You should make reference to any data cleaning need to get to this stage in the application.

(300 words maximum, plus appendices containing up to 1 page maximum of supporting code examples, and 1 page maximum of screen shots)

d) Using code and screen shots of your output demonstrate how you have determined if there is a significant correlation between the communication frequencies used by the 3 different airports. Clearly state If you consider what you have identified to be a significant correlation and why you think this is the case. You should make reference to any data cleaning need to get to this stage in the application.
(300 words maximum,plus appendices containing up to 1 page maximum of supporting code examples, and 1 page maximum of screen shots)

Section 3: Reflection on the ethics, moral and legal aspects (10% 400 words)

a) Reflect on the ethics, moral and legal aspects of computing as discussed in the module and respond to the following statement (400 words maximum):

"Software engineers should not be subject to regulation by a central body as this would have a detrimental impact on innovation. It would also add needless bureaucracy around the development of essential security updates and patches thus putting organisations and their data at risk."

Report references
Provide a correctly structured list of references to all the resources used for this development and report here.

Attachment:- Python Program Requirements.rar

Reference no: EM133133988

Questions Cloud

Why the philippines is lagging behind on fdi : Why the Philippines is lagging behind on Foreign Direct Investments (FDIs) compared with other ASIAN countries?
Sketch the us supply curve for cotton : The U .S . supply curve for cotton without subsidies Suppose that U.S. cotton growers did not receive subsidies. Assuming that all U.S. growers have a unit cost
Calculate the free stock balance : You are given the information: Physical Stock balance 1800 units and Quantities on outstanding requisitions 900 units. Calculate the Free Stock Balance
Creation of business plan-discuss health delivery systems : Have you ever been involved in the creation of a business plan? Define and discuss health delivery systems. Define and discuss the area of healthcare finance.
Design and implement programs for real-world problems : Demonstrate a critical understanding of the theory and application of advanced programming techniques and Design and implement programs for real-world problems
What is difference between good and great customer service : Question - What is the difference between good and great customer service? What's the most important part of customer service to you
Discussing are category-subcategory and subclassification : The three important points about the format of CD coding I will be discussing are category, subcategory and subclassification.
What is the journal entry that Rams Corp should record : What is the journal entry that Rams Corp should record on December 31. 2024? Write "NONE" if no journal entry should be recorded
Corporate social responsibility and sustainability : What is McKesson's position on ethics, corporate social responsibility and sustainability? What are the ethics in Poland?

Reviews

len3133988

4/27/2022 10:01:23 PM

I require a Prototype application that demonstrates how data from the given data set can be formatted, cleaned, and used to generate specific outputs. An essay needs to be written about the code, please let me know if you help me with this assignment.

Write a Review

Python Programming Questions & Answers

  Retrieve the embedded message from the image

Retrieve the embedded message from the image, using an embedding key he shares with the sender. Beyond the implementation, you must send me a report

  Calculate and print bills for the city power company

Write program that will calculate and print bills for the city power company. The rates vary depending on whether the use is residential, commercial

  Write a python function named numvowels

Write a Python function named numVowels that is passed a string containing letters, each of which may be in either uppercase or lowercase.

  Calculate distance traveled through speed and time driving

You need the code below to calculate Distance Traveled through Speed & Time Driving Versus Miles Per Gallon.

  Write a program in python to draw a blue triangle

Write a program in Python to draw a blue triangle in a drawing window. Write a program in Python that moves the triangle in an animated movement. Write a program in Python to draw a simplified face.

  What is computational error

What is computational error? How do you import the entire content of a library? What is the reason for systematic error

  Write a function that takes as input an image object

Write a function that takes as input an image object, crops it to make it a square, and returns the resulting object. You must write a function to accomplish this.

  Calculate the daily expense of a student

ISY1003 – Foundations of Programming - calculate the lowest weekly expense among all expense items. For example, the least expensive item for Clark is "Study"

  Calculate the mean of a list of numbers and print the result

A function to accept a list of numbers as input. The program will output the min, max, mean, and median of the list including the label;

  Design a program and illustrate the logic

Design a program and illustrate the logic through flowcharts and Implement programs in Python to solve business problems

  Project - movie lovers club

The Movie Lovers Club is a club of persons that love to watch movies and keep track of how many times they have watched the movies they love.

  Create program that allows user to interactively check out

ITECH1400 – Foundations of Programming - Create a computer program that allows a user to interactively check out a number of products, then provides

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