Reference no: EM132311981
Assignment : Discipline of Computing
Preamble
In practicals you have implemented and learned about a number of simulations and how to automate multiple simulation runs. In this assignment, you will be making use of this knowledge to extend a simulation to provide more data, functionality and allow automation. You will then report on the results generated by the simulation in a parameter sweep.
Feel free to re-use the code and approaches from the lectures and practicals. However, remember to cite and self-cite your sources; if you submit work that you have already submitted for a previous assessment (in this unit or any other) you have to specifically state this.
The Problem
You have been provided with some basic code to simulate the spread of disease in a population.
Your task is to extend the code and then conduct an experiment, varying the input parameters, to see how they impact the overall simulation.
The required extensions are:
1. Give an option for using Moore or Von Neumann neighbourhoods
2. Extend to have additional behaviour, e.g. death, recovery, immunity
3. Add statistics and other output to help understand the results
4. Add barriers to the "world" to constrain the spread of disease
5. Rework the code to allow command line arguments for the parameters of interest
6. Implement a parameter sweep driver script to run the simulation with varying parameters
Note: Extensions 5 and 6 are required to generate data for the experiment and report. If you’re really stuck, you can generate data manually, but automation is always better!
Post-grad students: You will have an extra required extension – include “Airports” for people to move long distances. For you, extension 5 & 6 will be combined.
Your code should include comments to explain what each section does and how. It is useful to keep track of your changes in the comments at the top of the program.
Beyond the working program, you will submit two documents: a User Guide to your code and a Report on your experiment.
There will be bonus marks for additional functionality and the use of more advanced programming techniques (e.g. efficiencies, modules and OO) – but only if they're sensible and done well. Make sure to discuss the additional work in your User Guide.
Attachment:- Data File.rar