About the Project#

Introduction#

A cellular automaton (CA) is a grid of cells each of which has a value corresponding to one of fixed number of states. The value of the cells are updated at discrete time steps according rules based on the states of neighbouring cells. Such models have been applied to study a variety of physical systems including crystal growth, traffic flow, flocking behaviour and chemical reactions.

Your team’s task is to:

  • develop a CA simulation of the problem described in one of the two project briefs;

  • use your simulation to investigate the problem;

  • produce a report which documents your investgation.

The report should be a self-contained document which is accessible and informative to a fellow second year Natural Sciences student who is familiar with computational modelling but does not have any experience of programming with Python.

Report#

Your team will submit a report comprising a single PDF file. It is up to you how you organise the report, however it should be a coherent and self-contained document which:

Briefly Introduces and motivates the problem. There should be sufficient background information that the reader can understand your report without needing to refer elsewhere.

Clearly describes your method using text and diagrams. You should describe your model in enough detail that the reader could reproduce your solution without seeing the code. You should include one or more detailed diagrams in this section.

Presents the results of your investigation. Use the simulation to investigate the problem. How do the results depend on the parameters of your simulation? Be selective in what you include in this section. It would not be helpful to include pages of result or every simulation that you ran. Try to select the most meaningful and interesting results and present them clearly and concisely.

Report Length#

While there is no formal word limit, it is recommended that you submit a concise report containing approximately 1500–2500 words and 5–10 figures. Work that exceeds this range is unlikely to be very interesting to read.

Code#

You will also submit your Python code file(s), including sufficient commentary so that the reader can verify that it correctly reproduces the results described in your report. The code should complete execution in no more than 5 minutes.

Update (15 March): You may include figures in your report which take more than 5 minutes to generate, but the submitted code should complete in a total time of less than 5 minutes. The figures generated by the code do not need to be identical to the ones in the report, but it should be clear how they were generated.

Assessment#

Your final score for this assessment will be combination of a group score and individual score.

Team Score#

Your team will be awarded a mark based on the quality of your work. See the mark scheme below for further details.

Individal Score#

The individual score recognises your individual contribution to the group effort and is derived from a process of tutor-moderated peer assessment. You will have opportunity to provide both a categorical score and written comments on each group member, and this data will be moderated by the course tutors before being anonymised and returned to each of the members. The method of peer assessment that we will be using is called ‘IPAC’ (Individual Peer Assessment of Contribution to group work) which was developed at UCL and has been found to promote engagement and professional behaviour during team activities.

What you should Submit#

Each team should submit a report as a single PDF file and a link to a Cocalc folder containing the working code.

Each student should submit an IPAC peer evaluation form.

Marking Scheme#

Criterion

Method

Results

Communication

Code

Weighting

35%

35%

20%

10%

0 – 3

Simulation does not appear to solve the problem.

No meaningful results presented.

The report lacks structure and is difficult to understand.

Code does not appear to solve the problem.

4

The simulation solves some of the problem, but is not clearly described

At least one accurate simulation run presented.

The report is structured into sections but is not coherent. At least one figure included which may not be properly formatted.

Code solves at least some of the problem but may be disorganised or uncommented.

5 – 6

The simulation solves the majority of the problem, and is described with diagrams.

Several simulation runs presented, demonstrating a variety of behaviours.

The report is fully structured and coherent but may be inconsistent between sections. Evidence of care in construction of the figures, for example captions and axis labels.

Code solves most of the problem and makes use of functions and/or modules to aid organisation. Some comments included which aid the reader’s understanding.

7 – 8

As above, but described in sufficient detail that the reader would be able to reproduce the simulation.

The simulation is investigated for a variety of parameter values and the results effectively presented enabling conclusions to be drawn.

The report is easy to follow and fully consistent throughout. Figures are professionally presented.

Code is generally well-organised and commented thoughout.

9 – 10

As above, but solves the entire problem or introduces other innovations.

The simulation is thoroughly investigated, with significant and notable results presented.

The report is exceptionally well structured, with results judiciously selected to clearly present the report’s findings.

Code is clearly structured and extremely effective and efficient.