Skip to main content Skip to navigation

Computational Modelling For All

Computer science provides tools that help us understand and benefit from the world around us. The ability to take information, understand it, process it, extract value from it, visualise it, and communicate it is a hugely important skill.

Computational modelling provides us with a powerful toolkit to help us understand, explore, communicate and make sense of data, processes and systems. The applications are all around us: from understanding and predicting economic and political systems, to forecasting the weather and climate, or discovering physical, biological and chemical truths without expensive or impossible experiments.


Computational models can be used to shed light on systems that are very complex, but creating such complex models from scratch, and sharing data and results with others, could be an almost impossible task. Fortunately, there are many tools that bring the power of modeling and simulation to anyone.

This course is a study of the basic tools required to examine processes that occur in the real world and write code to simulate that occurrence. We will be using the processing programming environment to create visual models that provide us with a ‘laboratory’ where we can conduct experiments which would be impossible or too expensive to do in real life. We also learn how the basis of data analytics, and how to share data using standard popular notations and produce effective visualisations of data.

Course Aims

The foundation of the course is the concept of simulation of dynamic systems. We will cover some of the mathematical foundations, and discuss the use of Differential Equations, Partial Differential Equations, and Stochastic Methods to capture different kinds of systems. The Computer Science foundation is the concept of a Multi-Agent System (or MAS) which provides a structure in which examples from diverse fields such as biology, economics, and games can be expressed.

Practical experience will be provided with the introduction of libraries and programming environments that are accessible without previous experience of programming. Students will be guided through example applications and encouraged to apply the methodologies to new domains.

Processing is a user-friendly, freely available software package that is used to build simple models with very little previous programming experience, but powerful enough that quite complex case studies can be implemented to produce insights into a variety of domains. It can be seen as a portal into learning how to program, and comes in two flavours: Java and Python.

Learning Outcomes

More information coming soon

Course Structure

The course will be assessed with three programming tasks, due at the end of each week.

  1. Data visualisation: an introduction to Processing, concentrating on the creation of graphics and displays.
  2. Simulation: using the Processing environment which provides powerful facilities for running simulation loops on a three-dimensional space.
  3. Data capture and analysis: using Python libraries and introducing the SML/JSON standard formats for data sharing.

There will be a choice of coursework domains to suit different interests, such as from physics, biology, economics or art.

More information coming soon

Entry Requirements

More information coming soon

Please note changes to the syllabus and the teaching team may be made over the coming months before exact set of topics are finalised.