Module and Programme Catalogue

Search site

Find information on

2021/22 Taught Postgraduate Module Catalogue

COMP5710M Algorithms

15 creditsClass Size: 150

Module manager: Isolde Adler
Email: I.M.Adler@leeds.ac.uk

Taught: 1 Sep to 31 Jan (adv yr), Semester 1 (Sep to Jan) View Timetable

Year running 2021/22

This module is not approved as an Elective

Module summary

Algorithms and algorithmic problem solving are at the heart of computer science. This module introduces students to the design and analysis of efficient algorithms and data structures. Students learn how to quantify the efficiency of an algorithm and what algorithmic solutions are efficient. Techniques for designing efficient algorithms are taught, include efficient data structures, standard methods such as Divide-and-Conquer and Dynamic Programming as well as more advanced techniques for computationally intractable problems and large data sets. This is done using illustrative and fundamental problems relevant to AI.

Objectives

The aims of this module are to enable students to:

- appreciate and apply algorithmic thinking;

- appreciate what constitutes an efficient and an inefficient solution to a computational problem;

- identify and apply design principles such as greediness, divide and conquer and dynamic programming;

- analyse and implement some fundamental algorithms;

- describe efficient algorithms for fundamental computational problems, along with their computational complexity;

- understand the difference between polynomial and exponential time algorithms;

- know how NP-hard problems can be dealth with in practice;

- appreciate selected cutting-edge modern algorithms;

- articulate the key concepts and justify approaches in a clear and rigorous manner.

Learning outcomes
On completion of the module student should be able to:

1. Demonstrate an understanding of what constitutes an efficient and an inefficient solution to a computational problem;

2. Analyse the efficiency of algorithms;

3. Evaluate and justify appropriate ways to provide efficient solutions for computational problems;

4. Identify and apply design principles such as greediness, divide and conquer and dynamic programming in the design of efficient algorithms;

5. Describe efficient algorithms for a range of computational problems, along with their computational complexity;

6. Articulate the key concepts and critically evaluate approaches in a clear and rigorous manner.


Syllabus

Indicative content for this module includes:

- Algorithmic thinking (the stable matching problem);

- Basic tools: probability, matrices, graphs and networks, mathematical reasoning;

- Time and space complexity, asympotic analysis of algorithms;

- Algorithms: interval scheduling, median finding, quickselect;

- Algorithm design principles: Greedy algorithms, divide and conquer, dynamic programming; fundamental data structures;

- Intractability: the classes of P and NP;

- Dealing with NP-hard problems in practice;

- Markov chains: computing the page rank;

- Approximation algorithms;

- Modern algorithms: streaming and testing, parameterised algorithms.

Teaching methods

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

Delivery typeNumberLength hoursStudent hours
On-line Learning61.006.00
Group learning62.0012.00
Independent online learning hours28.00
Private study hours104.00
Total Contact hours18.00
Total hours (100hr per 10 credits)150.00

Private study

Private study will include directed reading and exercises and self-directed research in support of learning activities, as well as in preparation for assessments.

Independent online learning involves non-facilitated directed learning. Students will work through bespoke interactive learning resources and activities in Minerva.

Opportunities for Formative Feedback

Online learning materials will provide regular opportunities for students to check their understanding (for example through formative MCQs with automated feedback). Regular group activity embedded into learning will allow self and peer assessment providing opportunities for formative feedback from peers and tutors.

Methods of assessment

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


Coursework
Assessment typeNotes% of formal assessment
In-course AssessmentReport20.00
In-course AssessmentReport20.00
In-course AssessmentOnline time-limited assessment60.00
Total percentage (Assessment Coursework)100.00

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

Reading list

The reading list is available from the Library website

Last updated: 22/10/2021 17:11:02

Disclaimer

Browse Other Catalogues

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

© Copyright Leeds 2019