Module and Programme Catalogue

Search site

Find information on

2022/23 Undergraduate Module Catalogue

XJCO2721 Algorithms and Data Structures II

10 creditsClass Size: 100

Module manager: Dr Sebastian Ordyniak
Email: s.ordyniak@leeds.ac.uk

Taught: Semester 2 (Jan to Jun) View Timetable

Year running 2022/23

Pre-requisites

XJCO1421Fundamental Mathematical concepts
XJCO1511Introduction to Discrete Mathematics

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 classical algorithms and data structures students will learn how to combine them in order to produce an efficient solution approach. Ultimately this will serve the foundation for developing algorithm design skills, which will be advanced in the subsequent module on more advanced algorithms and data structures.

Objectives

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;


Syllabus

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
Lecture221.0022.00
Tutorial101.0010.00
Private study hours68.00
Total Contact hours32.00
Total hours (100hr per 10 credits)100.00

Methods of assessment


Coursework
Assessment typeNotes% of formal assessment
In-course Assessmentworksheets/exercises that will be provided either via gradescope and will have multiple choice but also normal questions20.00
Total percentage (Assessment Coursework)20.00

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


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

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

Reading list

There is no reading list for this module

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

Disclaimer

Browse Other Catalogues

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

© Copyright Leeds 2019