Advanced Algorithms and Data Structures

Code School Level Credits Semesters
COMP4019 Computer Science 4 10 Autumn UK
Code
COMP4019
School
Computer Science
Level
4
Credits
10
Semesters
Autumn UK

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

Activities may take place every teaching week of the Semester or only in specified weeks. It is usually specified above if an activity only takes place in some weeks of a Semester.

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

Intellectual Skills

Professional Skills

Transferable Skills

Conveners

View in Curriculum Catalogue
Last updated 07/01/2025.