Module Overview

Algorithms & Computation

This module provides the student with the knowledge and skills to analyse, design, securely develop, test and debug applications written in C++ using pointers, data structures and algorithms.

Module Code

ALGO H4011

ECTS Credits

5

*Curricular information is subject to change

C++ Memory Management

Pointers, new/delete, strings, arrays and pointer arithmetic, constructors & destructors.

Data Structures

Queues, trees, heaps, priority queues, graphs.

Algorithms

Algorithm design strategies: top down design, divide and conquer, recursion, text indexing & processing, specialised pattern matching, specialised sorting & searching techniques.

Graph Algorithms

Introduction to discrete optimisation algorithms: greedy algorithms, shortest path problems, spanning tree problems, depth-first and breadth-first graph search algorithms, matrix algorithms.

Search Trees

Depth-first and breadth-first tree search, AVL trees, red-black trees, B and B+ trees

Cryptography

Simple encryption algorithms.

Secure Coding

Common vulnerabilities, pointer subterfuge, integral security, mitigation strategies.

Analysis of Algorithms

Program costs: time and space, worst case and average case analysis, asymptotic and "big O" notation, polynomial and exponential growth.

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)100