Simulation Modelling for Computer Science -- COMP6216

Learning aims

The module aims to introduce you to scientific modelling, give a survey over various modelling paradigms and equip you with basic analytical and numerical tools to build (simulation) models. At the end of the course you will be able to (i) develop models to address research problems, (ii) carry out basic analysis of these models using some analytical techniques, (ii) and use numerical simulation to get insights into model behaviour.

Content of the module

The module covers basic concepts in computational modelling and simulation. The focus is on three aspects:

  • General concepts and practical tips for modelling
  • A soft introduction to some required background maths, covering some aspects of
  • Scientific Computing

    In the course I will demonstrate the use of these various modelling techniques to address a rich variety of problems from computer science, the biological sciences, physics, and economics.

    Assessment

    The assessment consists of two parts.

    Part I (worth 30%)

    Give a 10 minute talk (+2 minutes questions) about a simulation modelling paper published in a peer reviewed journal (see slides from first lecture for some a list of suggested papers). The talk should give a brief overview over the area of research the paper addresses, explain its contribution, and give a brief overview over the type of simulation modelling being used.
    Marks will be given on: (i) the overall quality of your delivery of the talk, (ii) your comprehension of the paper and how well you answer questions, (iii) the quality of your slides, and (iv) the general organisation of the talk and how well you covered the aspects mentioned above.
    Talks will be scheduled after Easter, so have your talk ready by April 18, it can be scheduled in any lecture/seminar slot after that date.

    Part II (worth 70%)

    A modelling problem is described in the first set of lecture slides (below). You are to address this problem using various techniques, compare your findings from them, and write a report that documents and summarises your findings. Marks are given for the quality of the report (10%), for how you address the points below (40%), and for the quality of an original extension of the problem (20%). In particular, you should: The report (10% of the marks) will be marked according to the quality of the writing and figures.
    The extension (10% of overall marks) will be marked according to originality (Is this an interesting question to ask in this context?), quality of the analysis (do you understand what is going on?), and its motivation (can you convince me that it makes sense?).
    Reports are due at the end of term (May 13). Don't forget to upload any simulation code you developed for the assessment.
    Further instructions about the assessment can be found in the first set of lecture slides (see below) and here.

    Referral Coursework

    A document describing the problem for the referral coursework can be found here. Please note that this coursework is due by August 19and should be submitted via handin (your computer code + the report as a pdf).

    Lecture Slides

    Links to lecture slides (some slides cover more than one lecture):

    Introduction lecture.

    Solving linear systems.

    Solving non-linear equations/systems.

    Differentiation/Integration using computers.

    Difference equations, Fibonacci numbers and rabbits.

    Introduction to differential equations, classification.

    Differential equations, solution methods -- forensics, falling cats, and population dynamics.

    Basics of numerically solving differential equations -- Euler, estimates of error (trancation, round-off).

    More numerical solvers for ODEs: stability and implicit methods, higher order methods and error estimates, adaptive step size and stiffness.

    Equilibrium analysis and linear stability in 1d: population of bacteria; sinistral and dextral snails

    Solving systems of linear ODEs

    Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks

    Introduction to "system dynamics".
    exponential.nlogo, logistic.nlogo, lorenz.nlogo, love.nlogo, sheep.nlogo

    Modelling (some general aspects of methodology and theory)

    Mathematica tutorial (by Simon Tudge), example problems, answers.

    Discrete-event modelling.

    Individual-based modelling.

    Networks: Applications and Models (2 lectures)

    Further reading

    The course attempts to be a self-contained introduction to simulation and modelling. Some further reading on various aspects is available here:

  • Scientific computing:
  • General modelling and agent-based modelling
  • Differential Equations/Dynamical Systems
  • Networks