## COMP2721 Algorithms and Data Structures II

### 10 creditsClass Size: 300

Module manager: Dr Haiko Muller
Email: h.muller@leeds.ac.uk

Taught: Semester 2 (Jan to Jun) View Timetable

Year running 2020/21

### Pre-requisites

 COMP1421 Fundamental Mathematical Concepts COMP1511 Introduction to Discrete Mathematics

Module replaces

COMP2541

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. Practicing 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.

### 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

Due to COVID-19, teaching and assessment activities are being kept under review - see module enrolment pages for information

 Delivery type Number Length hours Student hours Class tests, exams and assessment 1 2.00 2.00 Lecture 22 1.00 22.00 Tutorial 10 1.00 10.00 Private study hours 66.00 Total Contact hours 34.00 Total hours (100hr per 10 credits) 100.00

### Private study

Taught session preparation: 18 hours
Taught session follow-up: 18 hours
Self-directed study: 7 hours
Assessment activities: 23 hours

### Opportunities for Formative Feedback

Four pieces of coursework should provide timely feed-back to students about their progress.

### Methods of assessment

Due to COVID-19, teaching and assessment activities are being kept under review - see module enrolment pages for information

Coursework
 Assessment type Notes % of formal assessment In-course Assessment Coursework 4 10.00 In-course Assessment Coursework 1 10.00 In-course Assessment Coursework 2 10.00 In-course Assessment Coursework 3 10.00 Total percentage (Assessment Coursework) 40.00

This module will be reassessed by an online time-constrained assessment.

Exams
 Exam type Exam duration % of formal assessment Online Time-Limited assessment 48 hr 00 mins 60.00 Total percentage (Assessment Exams) 60.00

This module will be reassessed by an online time-constrained assessment.