CS25415 Algorithmic Graph Theory
Introductory description
This module is concerned with studying properties of graphs and digraphs from an algorithmic perspective. This module is only available to students in the second year of their degree and is not available as an unusual option to students in other years of study.
Module aims
This module is concerned with studying properties of graphs and digraphs from an algorithmic perspective. The focus is on understanding basic properties of graphs that can be used to design efficient algorithms. The problems considered will be typically motivated by algorithmic/computer science/IT applications.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Typical topics include the following. Introduction to graphs: undirected graphs, directed graphs, weighted graphs, graph representation and special classes of graphs (trees, planar graphs etc.). Applications of graphs (in telecommunications, networking etc.). Basic algorithmic techniques for graph problems: graph traversals (DFS and BFS), topological sorting, Euler tours. Further algorithmic problems on graphs: minimum spanning trees, shortest path problems, matching problems. Planar graphs and their properties. Euler's formula, planar separator theorem and their algorithmic applications. Further optimization problems on graphs including graph colouring and graph questions in distributed systems. Discussing practical applications of graphs and efficient algorithms for such practical problems. Approximation algorithms and heuristic algorithms. Applications to searching in massive graphs (e.g. page ranking); use of structural properties and algebraic properties.
Learning outcomes
By the end of the module, students should be able to:
 Understand the basics of graphs, directed graphs, weighted graphs, and be able to relate them to practical examples.
 Use effectively algorithmic techniques to study basic parameters and properties of graphs.
 Design efficient algorithms for various optimisation problems on graphs.
 Use effectively techniques from graph theory to approach practical problems in networking and telecommunication.
Indicative reading list
Please see Talis Aspire link for most up to date list.
View reading list on Talis Aspire
Subject specific skills
Acquiring basic knowledge in the new area (of algorithmic graph theory), including learning the key concepts of mathematical rigour in the analysis of graph algorithms, of the proofs of correctness of algorithms, and of the efficiency of algorithms. An important part of the module will be to focus on mathematical properties of graphs and networks, as a tool to the design of better algorithms.
Transferable skills
Critical thinking and creativity.
Study time
Type  Required 

Lectures  30 sessions of 1 hour (20%) 
Seminars  9 sessions of 1 hour (6%) 
Private study  111 hours (74%) 
Total  150 hours 
Private study description
Private study and independent learning include:
 background reading,
 work on the coursework,
 solving problems and examples explaining the concepts in details,
 regular revision.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Assessment group D4
Weighting  Study time  

Problem set 1  10%  
This is the first of two marked problem sets. This assessment is eligible for selfcertification (extension). 

Problem set 2  10%  
This is the second of two marked problem sets. This assessment is eligible for selfcertification (extension). 

Inperson Examination  80%  
CS254 exam

Assessment group R3
Weighting  Study time  

Inperson Examination  Resit  100%  
CS254 resit examination

Feedback on assessment
Feedback on problem sets in seminars.
Courses
This module is Core for:

UCSAG4G1 Undergraduate Discrete Mathematics
 Year 2 of G4G1 Discrete Mathematics
 Year 2 of G4G1 Discrete Mathematics
 Year 2 of UCSAG4G3 Undergraduate Discrete Mathematics
This module is Optional for:
 Year 2 of UCSAI1N1 Undergraduate Computer Science with Business Studies
This module is Option list A for:

UCSAG500 Undergraduate Computer Science
 Year 2 of G500 Computer Science
 Year 2 of G500 Computer Science

UCSAG503 Undergraduate Computer Science MEng
 Year 2 of G500 Computer Science
 Year 2 of G503 Computer Science MEng
 Year 2 of G503 Computer Science MEng
This module is Option list B for:
 Year 2 of UMAAG105 Undergraduate Master of Mathematics (with Intercalated Year)

UMAAG100 Undergraduate Mathematics (BSc)
 Year 2 of G100 Mathematics
 Year 2 of G100 Mathematics
 Year 2 of G100 Mathematics

UMAAG103 Undergraduate Mathematics (MMath)
 Year 2 of G100 Mathematics
 Year 2 of G103 Mathematics (MMath)
 Year 2 of G103 Mathematics (MMath)
 Year 2 of UMAAG106 Undergraduate Mathematics (MMath) with Study in Europe
 Year 2 of UMAAG1NC Undergraduate Mathematics and Business Studies
 Year 2 of UMAAG1N2 Undergraduate Mathematics and Business Studies (with Intercalated Year)
 Year 2 of UMAAGL11 Undergraduate Mathematics and Economics
 Year 2 of UECAGL12 Undergraduate Mathematics and Economics (with Intercalated Year)
 Year 2 of UMAAG101 Undergraduate Mathematics with Intercalated Year