Module Title
Design and Analysis of Algorithms

Module Level
Level 2

Module Credits
5.00

• To demonstrate how the study of algorithmics has been applied in a number of different domains.

• To introduce formal concepts of measures of complexity and algorithms analysis.

• To introduce fundamental methods in data structures and algorithms design.

• To make students aware of computationally hard problems and possible ways of coping with them.

A Describe the different classes of algorithms and design principles associated with them; Illustrate these classes by examples from classical algorithmic areas, current research and applications.

B Identify the design principles used in a given algorithm, and apply design principles to produce efficient algorithmic solutions to a given problem

C Have fluency in using basic data structures in conjunction with classical algorithmic problems

D Be familiar with formal theories providing evidence that many important computational problems are inherently intractable, e.g., NP-completeness.

This module will be delivered by a combination of formal lectures and tutorials.