Module 35308 (2022)
Module description - Algorithms and Complexity
The Module Description is a strict subset of the Syllabus Page.
|Module Title||Algorithms and Complexity|
|School||School of Computer Science|
|Member of Staff||Rajesh Chitnis Anupam Das|
|Semester||Semester 2 - 20 credits|
Algorithms are at the heart of computer science. In this module we will develop a range of core algorithmic ideas such as dynamic programming, greedy methods, divide-and-conquer techniques, and network flows. We will then learn how to use these to design efficient algorithms for a range of problems, motivated by a range of applications. We will then consider core concepts from computational complexity theory such as NP-completeness, and their implications for algorithm design. Finally, we will consider some advanced modern topics such as approximate and randomized algorithms, parameterized algorithms and complexity, and algorithms for streams of data.
On successful completion of this module, the student should be able to: