Demonstrate a critical understanding of the theory and application of advanced programming techniques

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.

NOTE: Failure to submit the program(s) will result in a zero grade.

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. You should refer to the assignment writing guidelines on Canvas for further formatting and submission guidance.

The sections contribute to the Module Learning Outcomes (MLO’s) 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 Outline: Data Analysis Tool

DO NOT PUT ANY PERSONAL IDENTITY INFORMATION ON YOUR DOCUMENT

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

  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 pages of diagrams)

  1. [20 marks] With specific reference 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 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)

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

  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)

  1. [10 marks] With support of appropriate code sample(s) discuss how you implemented both parts of the 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 make reference to any data cleaning needed to get to this stage in the application.

word image 36701 1

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

  1. [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 chose 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 needed to get to this stage in the application.

word image 36701 2

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

  1. [10 marks] Using code and screenshots of your output, demonstrate how you have determined if there is a significant correlation between the: ‘Freq’, ‘Block’, ‘Serv Label1’ ,’Serv Label2’, ’Serv Label3’, ‘Serv Label4’, ‘Serv Label10’ used by the extracted DAB stations. 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 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)

word image 36701 3

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

  1. [10 marks] Reflect on the ethical, 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 an ethical framework 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.

Subscribe For Latest Updates
Let us notify you each time there is a new assignment, book recommendation, assignment resource, or free essay and updates