Advanced Algorithms and Data Structures

Code School Level Credits Semesters
COMP4133 School of Computer Science 4 10 Autumn China
Code
COMP4133
School
School of Computer Science
Level
4
Credits
10
Semesters
Autumn China

Summary

We study data structures, efficient algorithms on them and ways to determine their complexity. We also study some modern algorithms that are widely used in contemporary software. The topics covered may include Binary Search Trees (Red-Black Trees), Dynamic Programming, Graph Algorithms (e.g. shortest path, maximum flows), Amortized Analysis, Priority Queues (Binary, Leftist and Fibonacci Heaps) and String Algorithms (string matching, longest common subsequence). Among the special topics relevant to contemporary application, we may study Public Key Cryptography (the RSA cryptosystem), the Page-rank algorithm (from Google search), Neural Networks and other data structures and algorithms in AI. The theory is practiced in weekly labs where we learn how to implement the algorithms and data structures as functional and imperative programs.

Target Students

Available to Level 3 and Level 4 students in the School of Computer Science. This module is not available to students not listed above without explicit approval from the module convenor(s). Prior knowledge of mathematics and computer programming including standard data science is required. This module is part of the Foundations of Computer Science theme in the School of Computer Science.

Classes

Assessment

Assessed by end of autumn semester

Educational Aims

To obtain advanced knowledge and practical skills in the analysis, design and implementation of advanced algorithms and data structures.

Learning Outcomes

Knowledge and Understanding
Mathematical modelling and analysis of the efficiency of algorithms.
Advanced implementation techniques.

Intellectual Skills
The application of mathematical techniques to algorithms and data structures.
The identification and evaluation of appropriate models of efficiency.

Professional Skills
The use and selection of appropriate software libraries.

Transferable Skills
The ability to formulate and construct effective solutions to algorithmic problems.

Conveners

Conveners unspecified.
View in Curriculum Catalogue
Last updated 09/01/2025.