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 5 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 20, 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 15). 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 14and 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.

    What is science? I.

    What is science? II.

    Model building.

    Solving systems of linear equations.

    Finding roots of (systems of) non-linear equations.

    Taylor expansions, numerical differentiation and integration.

    Difference equations.

    Introduction to differential equations.

    Solution techniques for some types of ODEs.

    Numerical solvers for ODEs I.

    Numerical solvers for ODEs II.

    Equilibrium analysis in 1d.

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

    Systems of linear ODEs.

    Equilibrium analysis in higher dimensions, examples: competition between species and models of disease spread.

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

    An overview over Individual-based modelling.

    Optimization and adaptive dynamics.

    An overview over network theory.

    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