These notes are planned upgrades of those in the second year notes repo, but due to the quality of already existing official course notes they are low priority.
In this module you will have the opportunity to:
- Explore the main algorithmic design paradigms
- Apply algorithmic techniques to practical and unseen problems
- Quantitatively analyse the performance of algorithms
- Model the mathematical structure of computational tasks and apply the right algorithmic tools on them
- Develop your algorithmic thinking and problem solving skills.
The module syllabus includes:
- Quantitative Analysis of Algorithms and Growth Order
- Divide and Conquer
- Dynamic Programming
- Greedy Algorithms
- Randomised Algorithms
- Advanced Graph Algorithms
- String Processing Algorithms
TODO: add extra credit for Yelun