UNIT 19: DATA STRUCTURES & ALGORITHMS
Programme Title Pearson BTEC Level 5 Higher National Diploma in Business
Student Name/ID Number
Unit number Unit 19. Data Structures & Algorithms
Academic Year
Unit Tutor
Assignment Title Examine and specify ADT and DSA
Issue Date
Submission Date
Submission Format
Format: This submission will have 3 components
1. Written report: The submission is in the form of an individual written report. 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 referenced using the Harvard referencing
system. Please also provide a bibliography using the Harvard referencing system.
2. Implemented System (Software): The student should submit a system developed using an
IDE. Implemented program in format suitable to be run and assessed for functionality –
this could be as project/solution files or final compiled executable.
Submission Students are compulsory to submit the assignment in due date and in a way
requested by the Tutors. The form of submission will be a soft copy in PDF posted
on corresponding course of http://cms.btec.edu.vn/
Note: The Assignment must be your own work, and not copied by or from another student or
from books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other
sources, you must reference your sources, using the Harvard style. Make sure that you know how
to reference properly, and that you understand the guidelines on plagiarism. If you do not, you
definitely get fail.
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
Abstract Data Types (ADTs): Specification of ADTs with formal notation.
Data structures: Array, set, stack, queue, list, tree, types, e.g. active, passive, recursive.
Algorithm types: Recursive, backtracking, dynamic, divide and conquer, branch and bound,
greedy, randomised, brute force.
Algorithms: Sort, insertion, quick, merge, heap, bucket, selection, search linear, binary, binary
search tree, recursive, e.g. binary tree traversals, find path, travelling salesman.
Design specification: Specify ADTs using formal notation, e.g.
BTEC HN Assignment Brief Template
Issue Date: Jan 2024 Owner: HN QD
DCL1 Public (Unclassified) Version 2.0
ASN.1. Use non-executable program specification language, e.g. SDL, VDM.
Issues, e.g. complexity in software development, design patterns, parallelism, interfaces,
encapsulation, information hiding, efficiency.
Creation: Pre-conditions, post-conditions, error-conditions.
Vocational scenario
With your role as an in-house software developer for Soft Development ABK, a software
workshop for small and medium enterprises, your manager has appointed you as the lead
software project manager.
You have been requested to create a presentation for all collaborators on how to use
abstract data types to improve design, development, testing and an introductory report for
specify abstract data types, algorithms in a formal notation.
Additionally, you are tasked with building an application that utilizes either a basic or
complex algorithm to solve a real-life problem. The requirements are that Soft Development ABK
wants a program that will allow a user to enter the following information:
Id of Student
Name of Student
Marks of Student
The program can allow users to enter the number of students in the class need to manage.
Student ranking table:
Marks Rank
[0 – 5.0) Fail
[5.0 – 6.5) Medium
[6.5 – 7.5) Good
[7.5 – 9.0) Very Good
[9.0 – 10.0] Excellent
For each student, the program will output the following information:
Student ID
Student's full name
Marks of Student
Student ranking
Add, Edit, Delete, Sort, Search for students by apply algorithms
You need to propose an alternative algorithm and evaluate the effectiveness of the
algorithm used previously.
Assignment activity and guidance
Activity 1. You will need to prepare a presentation on how to create a design specification for data
BTEC HN Assignment Brief Template
Issue Date: Jan 2024 Owner: HN QD
DCL1 Public (Unclassified) Version 2.0
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.
Activity 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.
Guidance
Create a design specification for data structures, explaining the
valid operations that can be carried out on the structures.
This criterion requires you to detail how to design abstract data types (ADTs), clearly
explaining the operations they support and how these operations work. You can present
the content in the following structure:
1. Definition and role of ADTs
2. Description of each data structure: Stack, Queue, Linked List
3. Specific illustrative examples
4. Analysis of operations
Determine the operations of a memory stack and how it is used
to implement function calls in a computer.
1. Overview of the memory stack
2. How the memory stack works
3. Stack and recursion
4. Advantages and disadvantages of the memory stack
5. Visual illustration
Illustrate, with an example, a concrete data structure for a First
in First out (FIFO) queue.
1. Overview of the FIFO queue
2. Basic operations of a queue
3. Implementing a queue using an array
4. Implementing a queue using a linked list
BTEC HN Assignment Brief Template
Issue Date: Jan 2024 Owner: HN QD
DCL1 Public (Unclassified) Version 2.0
5. Comparison of the two implementations
Compare the performance of two sorting algorithms.
1. Overview of sorting algorithms
2. Selection of two algorithms for comparison
3. Description of the two algorithms
4. Comparison of the two algorithms
5. Practical testing
Analyse the operation, using illustrations, of two network
shortest path algorithms, providing an example of each.
1. Overview of the shortest path problem
2. Dijkstra's algorithm
3. Bellman-Ford algorithm
4. Comparison of the two algorithms
5. Choosing the appropriate algorithm
Specify the abstract data type for a software stack using an
imperative definition.
1. Overview of ADT and imperative definition
2. Example of defining an ADT using the imperative approach
3. Implementation of the example using pseudocode or Java
4. Advantages of imperative definition
5. Practical application
Examine the advantages of encapsulation and information
hiding when using an ADT.
1. Definition of concepts
2. Benefits of encapsulation and information hiding when using ADTs
3. Illustrative example
4. Comparison before and after applying encapsulation and information hiding
Discuss the view that imperative ADTs are a basis for object
orientation offering a justification for the view.
1. Definition of concepts
2. Role of imperative ADTs in OOP
3. Discussion: ADTs as the foundation of OOP
BTEC HN Assignment Brief Template
Issue Date: Jan 2024 Owner: HN QD
DCL1 Public (Unclassified) Version 2.0
4. Practical example
Recommended Resources
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
LO1. Examine abstract data types, concrete data structures D1 Analyse the operation, using
and algorithms illustrations, of two network
shortest path algorithms, providing
P1 Create a design M1 Illustrate, with an an example of each.
specification for data example, a concrete data
structures, explaining the structure for a First in First
valid operations that can be out (FIFO) queue.
carried out on the
structures.
M2 Compare the
performance of two sorting
P2 Determine the operations algorithms.
of a memory stack and how
it is used to implement
function calls in a computer.
LO2. Specify abstract data types and algorithms in a formal D2 Discuss the view that imperative
notation ADTs are a basis for object orientation
offering a justification for the view.
P3 Specify the abstract data M3 Examine the advantages
type for a software stack of encapsulation and
using an imperative information hiding when
definition. using an ADT.
BTEC HN Assignment Brief Template
Issue Date: Jan 2024 Owner: HN QD
DCL1 Public (Unclassified) Version 2.0