Unit 19 Assignment Brief 1
Unit 19 Assignment Brief 1
LO1 Examine abstract data types, concrete data structures and algorithms
LO2 Specify abstract data types and algorithms in a formal notation
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
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.
Activity 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 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.
Identify the Data Structures
Define the Operations
Specify Input Parameters
Define Pre- and Post-conditions
Discuss Time and Space Complexity
Provide Examples and Code Snippets (if applicable)
Determine the operations of a memory stack and how it is used to implement function
calls in a computer.
Define a Memory Stack
Identify Operations
Function Call Implementation
Demonstrate Stack Frames
Discuss the Importance
Illustrate, with an example, a concrete data structure for a First in First out (FIFO) queue.
Introduction FIFO
Define the Structure
Array-Based Implementation
Linked List-Based Implementation
Provide a concrete example to illustrate how the FIFO queue works
Analyse the operation, using illustrations, of two network shortest path algorithms, providing an
example of each.
Introducing the concept of network shortest path algorithms
Algorithm 1: Dijkstra's Algorithm
Algorithm 2: Prim-Jarnik Algorithm
Performance Analysis
Specify the abstract data type for a software stack using an imperative definition.
Define the data structure
Initialize the stack
Push operation
Pop operation
Peek operation
Check if the stack is empty
Examine the advantages of encapsulation and information hiding when using an ADT.
Encapsulation
+ Data Protection
+ Modularity and Maintainability
+ Code Reusability
Information Hiding
+ Abstraction
+ Reduced Complexity
+ Improved Security
Discuss the view that imperative ADTs are a basis for object orientation offering a justification for
the view.
Encapsulation and Information Hiding
Modularity and Reusability
Procedural Approach
Language Transition
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
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
P3 Specify the abstract data M3 Examine the advantages offering a justification for the view.
type for a software stack of encapsulation and
using an imperative information hiding when
definition. using an ADT.