Guidelines for submitting the assignment

General Information:

Upload software and design documents

Your submission should contain two files only:

  • A completed report answering the given questions as a single file in either .docx or .pdf format. This should NOT be included in the zipped file and should not exceed any specified word/page counts.
  • A single zipped file containing your program or programs. If a database has been used you should produce a file dump of the table structure to include here. This should NOT contain the original data set.

The report must adhere to the word count limits stated for EACH question and the page limit for the appendices. All code and images should be presented in the appendices.

Report contents

The report consists of three sections, each containing specific questions targeting what needs to be addressed. 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.

———————————————————————————————————————————————-

Breakdown:

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

Demonstrate critical understanding of the theory and application of advanced programming techniques; Design and implement programs for real world problems.

  1. [20 marks] 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-page diagrams)

  • [20 marks] 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 support it, and you’re 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)

  • [10 marks] 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)

Communicate design decisions for the selection, storage and manipulation of data; Design and implement programs for real world problems.

  1. [10 marks] 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)

  • [10 marks] With support of appropriate code sample/s discuss how you implemented both parts client’s 3rd requirement as stated 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 refer 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)

  • [10 marks] With support of appropriate code sample/s discuss how you implemented appropriate visualisations to meet the client’s 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 refer 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)

  • [10 marks] 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 refer 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)

Critically evaluate the legal and ethical impact of software developments within real world contexts.

  1. [10 marks] Reflect on the ethics, moral and legal aspects of computing as discussed in the module and respond to the following statement:

“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. IEEE standard of referencing is mandatory.

———————————————————————————————————————————————-

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:
    • Load and clean an initial data set (from the CV format)
    • Load and save a prepared data set (from its translated format)
    • Use the prepared data set to generate output and visualisations
    • 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:
    1. all UK(GB) airports, that are , large_airport, medium_airport, small airport
    1. 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.

  • The client initially needs information to generate the following and output the results using appropriate representation:
    • Produce the mean, mode and median for the ‘frequency_mhz’
      • For large_airport
      • For frequencies more than 100 mhz
  • 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
  • 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. 

———————————————————————————————————————————————————–

Deliverables:

Your submission should contain two files only:

  • A completed report answering the given questions as a single file in either .docx or .pdf format. This should NOT be included in the zipped file and should not exceed any specified word/page counts.
  • A single zipped file containing your program or programs. If a database been used, you should produce a file dump of the table structure to include here. This should NOT contain the original data set.

 

Code samples:

All code samples submitted in your report should be extracted from your program verbatim. Those that are not will contribute towards your grade. Code samples do NOT contribute to your word count, if they are presented in the appendices as requested. You should make sure they very clearly target what is requested and submitting general or broad ranges of code may be subject to penalties. For example, if you were asked to demonstrate where a closure has been used within your code, you would not be demonstrating this by submitting a complete program that contains a closure. You may add code style comments to your code samples to help target what you are showing but should not change the structure of the code from your software submission.

 

Using a database:

Where you have opted to use an SQL or relational database (other than Mongo) include after your list of references the following:

  • Name of database and link to download (install package)
  • Version number of the database used
  • The name of the code file (Python class/Jupyter Notebook) that creates and populates the database
  • The point in your code where local host and the port are set (make this clear)

You should make sure that your submitted code contains all the code required to setup and populate your database via a local host connection.

———————————————————————————————————————————————————–

Marking Criteria

The following defines the marking criteria for each section/question and identifies which learning outcomes it contributes to.

MLOSectionCriteriaMarks
2Upload code and design documentationPass/fail0
Section 1. Theory supported by code samples
1,2a. Adaptation to a concurrent modelAppropriate concurrent mechanisms have been selected and there is a logical approach to the passing of data given the program part selected.10
The design is discussed in terms of the advantages and disadvantages to the client brief and the developed program.10
1,2c. Implementing user interactionThe selected constructs are appropriate given the required interactions. There is a clear rationale for their selection given best practice in GUI constructs and layout.10
Appropriate code samples and designs are given that demonstrate the overall effectiveness of the user interaction given the client’s requirements.10
1,2d. Evaluating high level languagesThere is a rational argument, either for or against, Java or Python being more effective in terms of ‘manipulation of data containers’, that is supported by a critical evaluation of each language’s approach to using these constructs, which is supported by appropriate referencing10
Section 2. Design decisions supported by code
2,3a. Data formatAn effective format has been selected and a rational argument is presented for how it supports the nature of the data and the type of analysis required to produce the client’s information needs.10
2,3b. Code constructsAppropriate code constructs and internal data structures have been selected and applied to achieve the client’s requirements. Considerations have been made for any anomalies within the data set.10
2,3c. Data visualisationAppropriate and effective libraries/functions have been selected and their application for presenting the required output is logical. Considerations have been made for any anomalies within the data set.10
2,3d. Data analysisAppropriate and effective libraries/functions have been selected and their application for preparing the data is logical. Considerations have been made for any anomalies within the data set.10
Section 3. Reflection on ethics, morals and legal aspects
4a. ReflectionThere are clear and appropriate examples, which are effectively used to support either a ‘for’ or ‘against’ position on the statement.10
 TOTAL100

All papers are written by ENL (US, UK, AUSTRALIA) writers with vast experience in the field. We perform a quality assessment on all orders before submitting them.

Do you have an urgent order?  We have more than enough writers who will ensure that your order is delivered on time. 

We provide plagiarism reports for all our custom written papers. All papers are written from scratch.

24/7 Customer Support

Contact us anytime, any day, via any means if you need any help. You can use the Live Chat, email, or our provided phone number anytime.

We will not disclose the nature of our services or any information you provide to a third party.

Assignment Help Services
Money-Back Guarantee

Get your money back if your paper is not delivered on time or if your instructions are not followed.

We Guarantee the Best Grades
Assignment Help Services