Unit 19Data Structures _ Algorithms
Unit 19Data Structures _ Algorithms
Student Name/
ID Number
Submission Format
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.
Scenario
You work as in-house software developer for Softnet Development Ltd, a
software body- shop providing network provisioning 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.
In order to raise knowledge about the subject between the team members that
design and develop the secure application for "Softnet" company and for using
suitable data structure and algorithms and implement it using suitable programming
language.
Activity
Part 1
You will need to prepare a report on how to create a design specification for
data structures, explaining the valid operations that can be carried out on the
structures using the example of:
1. A stack ADT, a concrete data structure for a First In First out (FIFO) queue.
2. Two sorting algorithms.
3. Two network shortest path algorithms.
Part 2
You will need to provide a formal written report that includes the following:
1. Explanation on how to specify an abstract data type using the example
of software stack.
2. Explanation of the advantages of encapsulation and information hiding
when using an ADT.
3. Discussion of imperative ADTs with regard to object orientation.
Part 3
You will need to provide a formal written report that includes the following:
1- Provide a design for cryptography problem, which was illustrated in scenario using
complex ADT and algorithms.
4- Your source code should implement error handling and displays appropriate error
messages. You should test your application and report the results.
Part 4
You will need to provide a formal written report that includes Assessing the
effectiveness of data structures and algorithms that includes the following:
2- Determine the two ways in which the efficiency of an algorithm can be measured.
4- The implementation can used independent of data structure, you are required to
evaluate three benefits of this implementation.
Please review the subsequent grading criteria for more details on the expected elements and
topics that need to be included.
Learning Outcomes and Assessment Criteria