Reference no: EM132518236
Unit 19 Data Structures and Algorithms Assignment - Higher National Certificate/Diploma in Computing
Assignment Title - Excellent Solution (pvt) Ltd'
Learning Outcomes -
LO1. Examine abstract data types, concrete data structures and algorithms.
LO2. Specify abstract data types and algorithms in a formal notation.
LO3. Implement complex data structures and algorithms.
LO4. Assess the effectiveness of data structures and algorithms.
Assignment Brief and Guidance -
You work as a software developer in 'Excellent Solution (pvt) Ltd', a software body-shop providing IT solutions. Your company is part of a collaborative service provisioning development project and your company has won the contract to design and develop a middleware solution that will interface at the front-end to multiple computer provisioning interfaces including SOAP, HTTP, JML and CLI, and the back-end telecom provisioning network via CLI.
Your account manager has made you technical project leader and your role is to inform them about designing and implementing abstract data types. You have been asked to create a presentation for all collaborating partners on how ADTs can be utilised to improve software design, development and testing. Further, you have been asked to write an introductory report for distribution to all partners on how to specify abstract data types and algorithms in a formal notation.
Part 1 -
You will need to prepare a presentation on how to create a design specification for data structures, explaining the valid operations that can be carried out on the structuresusing the example of:
1. Briefly describe ADT.
2. A stack ADT and a concrete data structure for a First In First out (FIFO) queue.
3. Compare two sorting algorithms.
4. Two network shortest path algorithms using examples and diagrams.
5. Explain how to specify an abstract data type using example of software stack.
6. Examine the encapsulation and information hiding when using and ADT.
7. Discuss the view that imperative ADTs are a basis for object orientation and, with justification, state whether you agree.
Part 2 -
You will need to implement following subtasks and develop a report that would include:
1. Build a complex data structure and algorithm to solve a well-defined problem. Implement the algorithm using a programming language.
2. Demonstrate how the implementation of an ADT/algorithm solves a well-defined problem.
3. Critically evaluate the complexity of an implemented algorithm.
4. Implement error handling and report test results.
5. Discuss how asymptotic analysis can be used to assess the effectiveness of an algorithm.
6. Determine two ways in which the efficiency of an algorithm can be measured, illustrating your answer with an example.
7. Interpret what a trade-off is when specifying an ADT using an example to support your answer.
8. Evaluate three benefits of using implementation independent data structures.
Submission Format - Part 1: A ten-minute Microsoft PowerPoint style group presentation to be presented to your colleagues. Part 2: A formal individual written report (saved in PDF format).