The University of Sheffield
Department of Computer Science

COM6009 Modelling and Simulation of Natural Systems


This unit will provide a practical introduction to techniques used for modelling and simulating dynamic natural systems. Many natural systems can be modelled appropriately using differential equations, or individual based methods. In this unit, students will explore and understand both modelling approaches. They will gain knowledge of the assumptions underlying these models, their limitations, and how they are derived. Students will learn how to simulate and explore the dynamics of computational models, using a variety of examples mostly drawn from natural systems. Students should be aware that there are limited places available on this course.

Session Spring 2021/22
Credits 15
  • Formal exam
  • Group assignment
  • Individual assignment
Lecturer(s) Dr Aditya Gilra
  • to extend mathematical and computational skills for studying dynamical systems;
  • to enable understanding, analysis and construction of individual based and differential equations based models of dynamical systems, while appreciating their advantages and limitations;
  • to provide practical knowledge of schemes for the simulation of individual based and differential equations based models;
  • to introduce the application of individual-based and differential equations based models to biological systems;
  • to provide experience in developing interdisciplinary teamwork skills;
  • to provide an understanding of the challenges of modelling complex systems across time and length scales.

By the end of this course the students should be able to:

  • explain, critque and develop individual based and differential equations based models of simple dynamical systems;
  • write or extend code to simulate and visualize the dynamics of individual based and differential equations based models, employing appropriate numerical methods;
  • analyse mathematically the stability properties of simple dynamical systems;
  • appraise applications of different modeling paradigms in the simulation of simple biological systems, while appreciating the benefits and limitations of each approach;
  • work productively in a team with members from potentially different academic backgrounds;
  • independently review, develop and/or simulate individual based and differential equations based approaches to modelling natural systems.

The main focus of the module will be on the use of differential equations and individual based models to simulate the behaviour of natural systems. A number of specific topics will be introduced that will be updated to reflect recent developments, e.g.

  • population dynamics
  • physiological processes
Restriction Prerequisites for this module are programming proficiency (preferably in MATLAB or Python) and A-level Mathematics (or equivalent).
Teaching Method The course will consist of two 50 minute sessions per week, either lectures or computer practicals, with an additional 50 minutes lab session, tutorial or self organised group meeting.
Feedback Students will receive feedback via lab sessions, written or verbal feedback at the group assignment description stage, written feedback on submitted assignments, and/or individual or group feedback on request.
Recommended Reading

  • Programming for Computations - Python, 2nd Edition 2020, by Linge and Langtangen. Springer Open Access ebook
  • Programming for Computations - MATLAB/Octave, 1st Edition 2016, by Linge and Langtangen. Springer Open Access ebook
  • Chapters 22, 23 and 24 from "Applied Numerical Methods with MATLAB for Engineers and Scientists", 4th Edition 2018, by Chapra.
  • A selection from Chapters 1, 11 and 14, "Differential Equations, Dynamical Systems & An Introduction to Chaos", 2nd Edition 2004 or 3rd Edition 2013, by Hirsch, Smale and Devaney.
  • Chapter 1 of "Neuronal Dynamics" by Gerstner, Kistler, Naud and Paninski.
  • Various published examples to be recommended during the module.