Data Structures & Algorithms (G5117)
15 credits, Level 4
Spring teaching
This module introduces you to data structures and algorithms for computer scientists.
You’ll learn about a number of key data structures, including:
- static arrays
- dynamic arrays
- linked lists
- stacks
- queues
- various kinds of trees
- hash maps
- directed graphs
- undirected graphs.
These are presented as implementations of appropriate interfaces.
You’ll also study fundamental computational problems, including the sorting problem and the shortest path problem in graphs. You’ll present solutions to them in the form of important algorithms, such as:
- insertion
- selection
- merge sort
- heap sort
- Dijkstra’s algorithm
- Bellman-Ford’s algorithm.
Algorithms will be presented in pseudocode, with a focus on their asymptotic efficiencies. You’ll also prove the correctness of some of these algorithms.
Teaching
75%: Lecture
25%: Practical (Laboratory)
Assessment
25%: Coursework (Problem set, Software exercise)
75%: Examination (Multiple choice questions)
Contact hours and workload
This module is approximately 150 hours of work. This breaks down into about 44 hours of contact time and about 106 hours of independent study. The University may make minor variations to the contact hours for operational reasons, including timetabling requirements.
We regularly review our modules to incorporate student feedback, staff expertise, as well as the latest research and teaching methodology. We’re planning to run these modules in the academic year 2026/27. However, there may be changes to these modules in response to feedback, staff availability, student demand or updates to our curriculum.
We’ll make sure to let you know of any material changes to modules at the earliest opportunity.
Courses
This module is offered on the following courses:
- Computer Science (with an industrial placement year) BSc
- Computer Science (with an industrial placement year) MComp
- Computer Science BSc
- Computer Science MComp
- Computer Science and Artificial Intelligence (with an industrial placement year) BSc
- Computer Science and Artificial Intelligence BSc
- Computing for Business and Management (with an industrial placement year) BSc
- Computing for Business and Management BSc
- Computing for Digital Media and Games (with an industrial placement year) BSc
- Computing for Digital Media and Games BSc
- Data Science (with an industrial placement year) BSc
- Data Science BSc
- Economics and Data Science (with a professional placement year) BSc
- Economics and Data Science BSc
- Finance and Technology (FinTech) (with a professional placement year) BSc
- Finance and Technology (FinTech) BSc
- Mathematics with Data Science BSc
- Mathematics with Data Science MMath
- Physics with Data Science BSc
- Physics with Data Science MPhys
- Software Engineering BSc