Algorithms: Theory, Design and Implementation

Module code: 5SENG001W
Faculty: Faculty of Science and Technology
Credit Level: 5
Credit value: 20
Available to: Faculty of Science and Technology students only, however students on some courses are unable to choose Westminster Electives  – see list of exemptions. Please note elective modules are subject to availability.

This module will equip you with the theoretical and practical background for algorithmic design and implementation. Given the inherent nature of the topic, it is considered as one of the most fundamental and core topics in computer science, while fostering abstract, creative and problem solution thinking by focusing on algorithmic strategies, design, implementation and evaluation of computationally efficient algorithms. Given the vast range of applicable problems in technology, economics, biosciences, environment, mathematics, the module is able to draw on current real-world problems and contribute to the solution of societal, industrial and scientific problems.

By the time you complete the module, you will understand the inherent complexity of a real world problem and be able to elaborate and implement a solution strategy. Exemplary application areas are in Data Science, Intelligent Systems, Robotics and Autonomous Systems, Computer Graphics, Multimedia Computing, Games Programming, Image Processing, Computer Vision, Machine Learning, AI, as well as problems identified in other disciplines, e.g., Brain and Neurosciences, Bio-inspired Algorithms and Computing, Social Computing and Collective Intelligence, Game Theory and Semantics in Economics.

You will also be able to apply the theory for the optimal design and implementation of appropriate data structures and algorithms to resolve a problem. This will be learnt by analysing, predicting, comparing and contrasting the performance of algorithms, particularly in the context of processing large amounts of data.  In this context, the module will particularly encourage the design and implementation of novel algorithms.

The module will be delivered through a combination of lectures and practical tutorials, assessment is based around a closed-book exam, and a coursework report.