Catalogue of Modules, University of Nottingham

G54AAD Advanced Algorithms and Data Structures
(Last Updated:03 May 2017)

Year  17/18

Total Credits: 10

Level: Level 4

Target Students:  Students on the MSc Computer Science and MSci Computer Science Part III. Also available to students on other courses and from other Schools with the agreement of the module convenor.

Also available to Part II Computer Science undergraduate students subject to Part I performance.

This module is part of the Foundations of Computer Science theme in the School of Computer Science.  Available to JYA/Erasmus students.

Taught Semesters:

Autumn Assessed by end of Autumn Semester 

Prerequisites: Significant prior knowledge of Mathematics and Programming, including standard data structures and algorithms.
Students are encouraged to take G54PAD Project in Advanced Algorithms and Data Structures.

Corequisites:  None.

Summary of Content:  We study the theory used in the design and analysis of advanced algorithms and data structures. The topics covered include string algorithms (such as for string matching, longest common subsequence), graph algorithms (such as for minimum cuts and maximum flows), and advanced data structures (such as Binomial heaps and Bloom filters).

The theory is practiced in weekly labs where we learn how to implement the algorithms and data structures as functional and imperative programs (using the languages Haskell and C), and apply these to solve large instances of real world problems.

Method and Frequency of Class:

ActivityNumber Of WeeksNumber of sessionsDuration of a session
Lecture 11 weeks1 per week2 hours
Tutorial 11 weeks1 per week2 hours

Activities may take place every teaching week of the Semester or only in specified weeks. It is usually specified above if an activity only takes place in some weeks of a Semester

Method of Assessment: 

Assessment TypeWeightRequirements
Exam 1 100 2 hr written examination 

Dr A Parkes
Dr V Capretta

Education Aims:  
Obtain advanced knowledge and practical skills in the analysis, design and implementation of advanced algorithms and data structures.

Learning Outcomes:  Knowledge and Understanding:
Mathematical modelling and analysis of the efficiency of algorithms.
Advanced implementation techniques.

Intellectual Skills:
The application of mathematical techniques to algorithms and data structures.
The identification and evaluation of appropriate models of efficiency.

Professional Skills:
The use and selection of appropriate software libraries.

Transferable Skills:
The ability to formulate and construct effective solutions to algorithmic problems.

Offering School:  Computer Science

Use the Back facility of your browser to return to the previous page.

Module Catalogue Search for another module

[UoN Welcome Page] Return to The University of Nottingham Welcome Page