Skip to main content Skip to navigation

CO923 Computational Methods for Complex Systems

This programme is no longer running.


This is an option for the CDT in Mathematics of Real-World Systems taught programme.


Taken by students from:

Code Degree Title Year of study core or option credits
P-G1PG MSc in Mathematics of Systems




P-G1PF Mathematics of Systems MSc+PhD




P-F3P6/7 Erasmus Mundus Masters in Complex Systems




Module Aims

The module covers fundamental concepts of simulation of complex systems and numerical solution of related mathematical problems. It introduces several paradigms in the study of complexity, along with the methods used for their investigation and an overview of current research.


Basic numerical methods: systems of linear equations, solution of eigenvalue problems, matrix problems.

Introduction to Monte Carlo methods: ergodicity, detailed balance, the Ising model, uncertainty estimation.

Complex systems: emergence, self-organization, computational techniques.

Paradigms in complexity: cellular automata, percolation, self-organised criticality; applications to sociophysics, ecology and neuroscience.

Generation of complex networks: models, theorems, Monte Carlo algorithms.

Stability of networked dynamical systems.

PLEASE NOTE: This is NOT a programming module. Computer programming will NOT form a part of the material taught in class or assessed during the oral exam. Rather, this is a module about methods and algorithms. As such, it is assumed that all the students will have familiarity with some programming language and/or environment, which they will have to use for the coursework, which is computational in nature. The particular choice of the programming language (MATLAB, FORTRAN, C, Mathematica, etc.) is left entirely to the student and is completely irrelevant for the purposes of the module. Of course, the chosen programming language should still be fast enough to complete the assignments in time. The coursework will not be assessed based on the details of the code, but rather on the correctness of the results and on a short report explaining in detail the choices made for the implementation and their reasons.

Illustrative Bibliography:

W. H. Press et al., “Numerical recipes in C”, Cambridge University Press.

M. E. J. Newman and G. T. Barkema, “Monte Carlo methods in statistical physics”, Oxford University Press.

K. Huang, "Introduction to Statistical Physics", CRC Press.

P. L. Krapivsky, S Redner & E Ben-Naim, "A Kinetic View of Statistical Physics", Cambridge University Press.

J. H. Holland, "Complexity: A Very Short Introduction", Oxford University Press.

S. H. Strogatz, "Nonlinear Dynamics and Chaos", Westview Press.


Lectures per week

2 x 2 hours

Module duration

10 weeks

Total contact hours


Private study and group working


Place and time:

Mondays: 2-4pm in D1.07
Tuesdays: 3-5pm in B1.01Viva_timetable_2Link opens in a new window

Assessment information 2016/ 2017:

There will be two computational problems set during the course, each worth 25% of the final mark based on written reports of the results. The deadlines for these will be 1 February and 7 March.

In week 10 there will be an oral examination which will be worth 50% of the final mark.

Suggested papers as basis for Assignment 2: ListLink opens in a new window 

Timetable for Assignment 2 presentations: TimetableLink opens in a new window

Viva date: 14 March 2017

Tentative viva scheduleLink opens in a new window - updated!

Viva topicsLink opens in a new window

Slides from past lectures:

Introduction to ComplexityLink opens in a new window

Cellular automataLink opens in a new window

Statistical Physics and Monte Carlo methodsLink opens in a new window 

Criticality and the Ising modelLink opens in a new window

Self-organised criticalityLink opens in a new window

Introduction to complex networksLink opens in a new window

Neuroscience and the Hopfield modelLink opens in a new window

Neural network dynamicsLink opens in a new window 

SociophysicsLink opens in a new window 

CooperationLink opens in a new window 

Evolution and genetic algorithmsLink opens in a new window 

Stochastic optimizationLink opens in a new window


C elegans networks:

C elegans neural networkLink opens in a new window

C elegans metabolic networkLink opens in a new window

Gene regulatory networks:

Human (healthy)Link opens in a new window

Human (cancer)Link opens in a new window

Food webs:

TroyLink opens in a new window

Weddell SeaLink opens in a new window