Unit 19 - Data Structure & Algorithms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Unit 19: Data Structures &

Algorithms

Unit code D/615/1649


Unit level 5
Credit value 15

Introduction
The knowledge to implement algorithms and data structures that solve real
problems, and knowing the purpose, complexity and use of algorithms is part of an
essential toolkit for software engineers. An algorithm is a sequence of instructions
used to manipulate data held in a structured form and together constitute design
patterns for solving a diverse range of computer problems, including network
analysis, cryptography, data compression and process control.
This unit introduces students to data structures and how they are used in
algorithms, enabling them to design and implement data structures. The unit
introduces the specification of abstract data types and explores their use in
concrete data structures. Based on this knowledge, students should be able to
develop solutions by specifying, designing and implementing data structures and
algorithms in a variety of programming paradigms for an identified need.
Among the topics included in this unit are abstract data types specification, formal
data notations, data encapsulation, complex data structures, programming
language implementations using handles, pointers, classes and methods, algorithm
types, data structure libraries, algorithm complexity, asymptotic testing and
benchmarking.
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.
As a result of studying this unit students will develop skills such as communication
literacy, critical thinking, analysis, synthesis, reasoning and interpretation, which
are crucial for gaining employment and developing academic competence.

Learning Outcomes
By the end of the unit students will be able to:
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.

Pearson BTEC Levels 4 and 5 Higher Nationals in Computing 201


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016
Essential Content

LO1 Examine abstract data types, concrete data structures and algorithms

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 & conquer, branch & 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.

LO2 Specify abstract data types and algorithms in a formal notation

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.

LO3 Implement complex data structures and algorithms

Implementation:
Data structures; multidimensional arrays, linked lists, stacks, queues, trees,
hash table, heap, graph Algorithms; sorting, searching, tree traversal, list
traversal, hash functions, string manipulation, scheduling and recursive
algorithms; using handle, pointer, class, methods; using an executable
programming language.

202 Pearson BTEC Levels 4 and 5 Higher Nationals in Computing


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016
LO4 Assess the effectiveness of data structures and algorithms

Use of data structure libraries (DSL):


Limitations of DSL; manual selection of data structures; theoretical analysis;
asymptotic analysis; size of N, Big O notation.

Algorithm effectiveness:
Run time benchmark, compiler/interpreter dependencies, resource usage,
degree of parallelism, time, space, power performance, efficiency of garbage
collection.

Pearson BTEC Levels 4 and 5 Higher Nationals in Computing 203


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016
Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Examine abstract data types, concrete data


structures and algorithms

P1 Create a design M1 Illustrate, with an D1 Analyse the operation,


specification for data example, a concrete using illustrations, of two
structures explaining the data structure for a First network shortest path
valid operations that can In First out (FIFO) algorithms, providing an
be carried out on the queue. example of each.
structures.
M2 Compare the
P2 Determine the performance of two
operations of a memory sorting algorithms.
stack and how it is used
to implement function
calls in a computer.

LO2 Specify abstract data types and algorithms in a


formal notation

P3 Using an imperative M3 Examine the D2 Discuss the view that


definition, specify the advantages of imperative ADTs are a basis
abstract data type for a encapsulation and for object orientation and,
software stack. information hiding when with justification, state
using an ADT. whether you agree.

LO3 Implement complex data structures and


algorithms

P4 Implement a M4 Demonstrate how D3 Critically evaluate the


complex ADT and the implementation of an complexity of an
algorithm in an ADT/algorithm solves a implemented
executable programming well-defined problem. ADT/algorithm.
language to solve a well-
defined problem.
P5 Implement error
handling and report test
results.

204 Pearson BTEC Levels 4 and 5 Higher Nationals in Computing


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016
Pass Merit Distinction

LO4 Assess the effectiveness of data structures and


algorithms

P6 Discuss how M5 Interpret what a D4 Evaluate three benefits


asymptotic analysis can trade-off is when of using implementation
be used to assess the specifying an ADT using independent data structures.
effectiveness of an an example to support
algorithm. your answer.
P7 Determine two ways
in which the efficiency of
an algorithm can be
measured, illustrating
your answer with an
example.

Pearson BTEC Levels 4 and 5 Higher Nationals in Computing 205


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016
Recommended Resources

Textbooks
Cormen, T. (1990) Introduction to Algorithms. MIT Labs.
Cormen, T. (2002) Instructors Manual: Introduction to Algorithms. MIT Labs.
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.

Links
This unit links to the following related units:
Unit 1: Programming
Unit 20: Advanced Programming
Unit 23: Cryptography

206 Pearson BTEC Levels 4 and 5 Higher Nationals in Computing


Specification – Issue 1 – October 2016 © Pearson Education Limited 2016

You might also like