Unit 19: Data Structures & Algorithms
Assignment Brief
Student Name/ID
Number
Unit Number and Title Unit 19: Data Structures & Algorithms
Academic Year 2023
Unit Tutor Mrs. Thiri Win
Assignment Title A -1 of 2 : " Investigation on Data Structures and
Algorithms”
12/June/2023
Issue Date
Submission Date 3/July/2023
Submission Format
The submission is in the form of an individual written report. You should submit report
in pdf and program codes in zip format. This should be written in a concise formal
business style using single spacing and font size 12. You are required to make use of
headings, paragraphs and subsections as appropriate, and all work must be supported
with research and referencing using the Harvard referencing system. Use Microsoft Word
for documentation and report.
Your report must be formatted as follow:
Font Name : Verdana 2
Font Size : 12 pt
Margin : 0.75 inches (round)
Line Spacing: 1.5 pt.
Alignment : Justify
Left hand side of header : Batch Number
Right and side of header : Your name
Centre of footer : Page Number
Use the Harvard referencing system
Complete the tile page and sign the statement of authenticity
Your assignment must be submitted in pdf format
1
Plagiarism is on offence. Plagiarized work will be differed.
Interim Review Session ( Formative Assessment)
26th June 2023 (Monday)
27th June 2023 (Tuesday)
Submit your final work via moodle.gusto-education.com by
3rd July 2023 ( Monday) 11:55 pm
Unit Learning Outcomes
LO1 Examine abstract data types, concrete data structures and algorithms.
LO2 Specify abstract data types and algorithms in a formal notation.
Transferable skills and competencies developed
On completion of this unit the student should be able to identify program data
requirements, specify abstract data types using a formal notation, translate into
concrete data structures and be able to develop, using a programming paradigm,
different sorting, searching and navigational algorithms that implement complex data
structures and evaluate their effectiveness.
Vocational scenario
You work as a software developer for MIT Technology Development Ltd, a software
body-shop providing network provisioning solutions. 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.
Business Requirement Specification
Your role is to inform them about designing and implementing abstract data
types. You have been asked to create a report for all collaborating partners on how ADTs
can be utilised to improve software design, development and testing. Data structures
and their driven algorithms are widely used for organization of data. Data Structures
are the programmatic way of storing data so that data can be used efficiently. Almost
every enterprise application uses various types of data structures in one or the other
way. Further, you have been asked to write an introductory report for distribution to all
2
partners So, you need to prepare a complete report with appropriate evidences and
illustrations.
Your report must include the following facts—
Create a design specification for data structures explaining the valid operations
that can be carried out on the structures.
Determine the operations of a memory stack and how it is used to implement
function calls in a computer.
Using an imperative definition, specify the abstract data type for a software
stack.
Furthermore, you should describe with an example,
A concrete data structure for a First In First out (FIFO) queue.
Two sorting algorithms and compare the performance of them.
The advantages of encapsulation and information hiding when using an ADT.
Moreover, analyse the operation, using illustrations, of two network shortest path
algorithms with providing an example of each.
And also discuss the view that imperative ADTs are a basis for object orientation and,
with justification, state whether you agree.
Assignment activity and guidance
Write a detailed report that covers the following aspects: data structures, importance
of data structures and algorithms, data structures types
Example: array , arraylist , hashset, hashmap, tree, graph, stack
Definition
How to create? (explanation with methods and code example and output)
How to add data?
How to traverse?
How to remove it?
How to search?
What is an abstract data type? Usage of ADT? Features of ADT? Example of ADT?
Recommended Resources
Textbooks
Cormen, T. (1990) Introduction to Algorithms. MIT Labs.
Cormen, T. (2002) Instructors Manual: Introduction to Algorithms. MIT Labs.
3
Heineman, G. (2009) Algorithms in a Nutshell. O’Reilly Publishing.
Larmouth, J. (1999) ASN.1 Complete. Kaufman Publishing.
Leiss, E. (2007) A Programmer’s Companion to Algorithm Analysis.
Chapman & Hall. Sedgewick, R. (1983) Algorithms. Addison-Wesley.
Wirth, N. (2004) Algorithms and Data Structures. Oberon.
Please note that the resources listed are examples for you to use as a starting
point in your research – the list is not definitive.
Learning Outcomes and Assessment Criteria
Pass Merit Distinction
P1: Create a design M1 Illustrate, with an D1 Analyse the operation,
specification for data example, a concrete data using illustrations, of two
structures explaining the structure for a First In network shortest path
valid operations that can First out (FIFO) queue. algorithms, providing an
be carried out on the example of each.
structures.
P2: Determine the M2 Compare the D2 Discuss the view that
operations of a memory performance of two imperative ADTs are a basis
stack and how it is used sorting algorithms. for object orientation and, with
to implement function justification, state whether you
calls in a computer. agree.
P3: Using an imperative M3 Examine the
definition, specify the advantages of
abstract data type for a encapsulation and
software stack. information hiding when
using an ADT.