Get Instant Help From 5000+ Experts For

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
Algorithmic Design and Analysis Report

Learning Outcomes

1. Understand how modern algorithmic software technologies add value to businesses.

2. Understand how to express and design algorithms in terms of sequences of instructions, selection rules and iterative processes.

3. Characterise algorithms and the data structures they employ.

4. Assess the complexity of algorithmic code and prepare ‘Big O’ plots based on timings, loop counters and theory.

5. Understand, analyse and apply algorithms and code to a given problem.

1. System Requirements and Your Algorithm (10%)

Describe your management problem or business-idea and outline the purpose of the software system/application that addresses this problem/idea in the form of a brief set of system requirements, listing:

a. The functional requirements, identifying the key functions with their data inputs and outputs.

b. Any non-functional requirements you believe may be important for this problem.

Describe your algorithm, identifying: 

a. How your algorithm works.

b. How your algorithm helps solve your problem.

c. Which functional requirements are associated with your algorithm.

2. Explain how the code works (30%)

Explain the design of your code, particularly commenting on: 

a. The overall structure of the code in terms of the key functions it contains and how the code decomposes into a hierarchy of functions.

b. The flow of the overall code as it progresses from loading/inputting/generating some input data to providing the final solution to your problem.

c. In what ways the code is generalised, i.e. in what ways can the code you are using be used to solve more other, more generalised, problems to the specific scenario problem you have applied it to?

d. How data is represented in your code and why it is represented in this way.

e. The use of any particularly noteworthy or advanced coding features such as: recursive functions, use of list comprehensions, use of dictionaries and sets, passing functions as input parameters.

You must also identify and comment on which parts of the code are re-used (you must reference the source of all re-used code), any re-used code you have improved or changed (how and why), and which parts you have coded fully yourself.

3. Analyse the complexity of your code (10%)

Explain how the key inputs to your problem can vary in size and nature.  Assess the expected running time complexity of your code in terms of an order of magnitude of the size of your input value(s). Justify your results.

Record the run time performance of your code using a range of different input size values and produce a run time Big(O) plot based on these timings.

Provide additional loop-counter-based and/or theoretical Big(O) plots to support your findings.

Explain you results and compare any theoretical or loop-counter-based analysis with your experimental timing results. 

Explain any realistic limits of your code, in regard to runtime performance. 

4. Describe the data used to test your code (10%)

Describe the data you used to illustrate how your algorithm could solve your particular management problem or business-idea software. Did you use an open data source for this or did you create/generate the data yourself? 

Explain the choices you made in this regard.

Explain how you tested your code using this test data. 

Explain how you selected or generated different ‘sizes’ of data to analyse the running time complexity of your code.

5. Conclusions (10%)

Briefly conclude by discussing the benefits and limitations of your code. Things you may like to consider are:

a. Explain in what ways you believe your code follows good design principles.

b. Discuss any alternative approaches to solving this problem. 

sales chat
sales chat