0% found this document useful (0 votes)
11 views

Unit 19 Assignment Brief 1

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Unit 19 Assignment Brief 1

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

UNIT 19: DATA STRUCTURES & ALGORITHMS

Student Name/ID Number


Unit number Unit 19. Data Structures & Algorithms
Academic Year SU24
Unit Tutor Cao Tien Thanh
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.
3. Presentation: With submitted system, student should do a presentation to demonstrate
the system that was developed. Time allocated is 10 to 15 minutes.
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.
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
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

Compare the performance of two sorting algorithms.


 Introducing the two sorting algorithms you will be comparing
 Time Complexity Analysis
 Space Complexity Analysis
 Stability
 Comparison Table
 Performance Comparison
 Provide a concrete example to demonstrate the differences in performance
between the two algorithms

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

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
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.

You might also like