# CS254-15 Algorithmic Graph Theory

23/24
Department
Computer Science
Level
Ranko Lazic
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry

##### 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:
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, Eular tours.
Further algorithmic problems on graphs: minimum spanning trees, shortest path problems, matching problems.
Planar graphs and their properties. Eular's formula, planar separateor 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.

##### 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.
Communication: presentation skills, focusing on mathematical-style presentation (students will have to prepare a short presentation describing some of the topics from the module).

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

• 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 D3
Weighting Study time
Problem set 1 6%

This is the first of three marked problem sets.

Problem set 2 7%

This is the second of three marked problem sets.

Problem set 3 7%

This is the third of three marked problem sets.

In-person Examination 80%

CS254 exam

##### Assessment group R2
Weighting Study time
In-person Examination - Resit 100%

CS254 resit examination

##### Feedback on assessment

Feedback on problem sets in seminars.

## Courses

This module is Core for:

• Year 2 of G4G1 Discrete Mathematics
• Year 2 of G4G1 Discrete Mathematics
• Year 2 of UCSA-G4G3 Undergraduate Discrete Mathematics

This module is Optional for:

This module is Option list A for:

• Year 2 of G500 Computer Science
• Year 2 of G500 Computer Science
• UCSA-G503 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 UMAA-G105 Undergraduate Master of Mathematics (with Intercalated Year)