Module and Programme Catalogue

Search site

Find information on

2022/23 Undergraduate Module Catalogue

COMP2721 Algorithms and Data Structures II

10 creditsClass Size: 500

Module manager: Dr Haiko Muller

Taught: Semester 2 (Jan to Jun) View Timetable

Year running 2022/23


COMP1421Fundamental Mathematical Concepts
COMP1511Introduction to Discrete Mathematics

Module replaces


This module is not approved as a discovery module

Module summary

This module focuses on key algorithms and data structures, that form the toolkit of a modern computer specialist. There may exist several algorithms for solving the same problem, and it is important to produce the one which is efficient in terms of the computation time and space requirements. Our primary goal is to identify the most efficient solutions among those available and to provide a formal justification of that choice. Practising with advanced algorithms and data structures students will learn how to combine them in order to produce an efficient solution approach. The algorithm design methods (Greedy algorithms, dynamic programming, divide and conquer) will be illustrated by various examples. Advanced Data Structures (priority queues, dictionaries) and their implementations will be considered.


On completion of this module, students should be able to:
- Understand the fundamental techniques for the design of efficient algorithms (greedy algorithms, dynamic programming, divide and conquer);
- Demonstrate how these algorithms are analysed;
- Understand advanced data structures (priority queues, dictionaries), their efficient implementation and applications;
- Understand how these algorithms and data structures relate to the central practical problems of modern computer science.

Learning outcomes
On completion of the year/programme students should have provided evidence of being able to:
-demonstrate a broad understanding of the concepts, information, practical competencies and techniques which are standard features in a range of aspects of the discipline;
-apply generic and subject specific intellectual qualities to standard situations outside the context in which they were originally studied;
-appreciate and employ the main methods of enquiry in the subject and critically evaluate the appropriateness of different methods of enquiry;
-use a range of techniques to initiate and undertake the analysis of data and information;


Principles of algorithm design:
Representations of graphs: adjacency list, adjacency matrix. Depth- and breadth-first search traversals, shortest-paths algorithms (Dijkstra's and Floyd/Warshall algorithm), minimum spanning tree (Prim's and Kruskal's algorithms). Algorithmic strategies: greedy algorithm, dynamic programming (CYK algorithm), divide-and-conquer. Recurrence equations, Master theorem. Strassen's algorithm for matrix multiplication.
Abstract data types:
priority queues and their implementations (binary heaps, binomial heaps)
dictionaries and their implementations (hash tables and balanced search trees)

Teaching methods

Delivery typeNumberLength hoursStudent hours
Private study hours68.00
Total Contact hours32.00
Total hours (100hr per 10 credits)100.00

Opportunities for Formative Feedback

tudents will receive feedback on tutorial worksheets.

Methods of assessment

Assessment typeNotes% of formal assessment
In-course AssessmentMCQ & Problem Solving Exercises20.00
Total percentage (Assessment Coursework)20.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated

Exam typeExam duration% of formal assessment
Standard exam (closed essays, MCQs etc) (S1)2 hr 00 mins80.00
Total percentage (Assessment Exams)80.00

Resits will be assessed by exam.

Reading list

The reading list is available from the Library website

Last updated: 01/06/2022 16:59:02


Browse Other Catalogues

Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD

© Copyright Leeds 2019