This module will teach students to develop programs, using data structures and appropriate algorithms, to solve complex problems.
A variety of algorithmic techniques will be introduced and students will gain an appreciation of the use and importance of data structures.
The module will also explore the idea of classifying data according to its abstract behaviour, as distinct from its representation.
A range of well-established data structures will be examined and their properties described so that it becomes clear which representations are appropriate under which circumstances.
The module will present both data structures and algorithms in the context of various applications of computing, such as database management, computer games, computer graphics or digital music.
On successful completion of this module, the student will be able to
Students will be assessed by a two hour end examination.
Either C++ Programming 2 or Java Programming 2 are a pre-requisite for this module.