Even the smartest students need writing assistance at some point during their academic career. Should you lock yourself in a room and spend the entire weekend trying to write a paper? We promise you that the paper that you pay for won’t be resold or submitted elsewhere. It will also be written according to the instructions that you and your professor provide. Our excellent essays stand out among the rest for a reason. Don’t just take our word, check them out by yourself.
Order a Similar Paper Order a Different Paper
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.
2 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.
Remember : Think before you code!
Submit electronically via Blackboard. Make sure to submit early. You can submit multiple times – we
will only mark the last attempt. Take care not to submit your last version late though. Read the
submission instructions very carefully.
You should submit a single file, which should be zipped (.zip). Check that you can decompress it on
lab machines. These are also the computers that your work will be tested on, so make sure that your
work runs there. The file must be named FOP_Assignment_ where the is replaced by your
student id. There should be no spaces in the file name; use underscores as shown.
The file must contain the following:
• Your code. This means all files needed to run your program. That includes input files used as
part of the assignment if that is required to run your program.
• README file including short descriptions of all files and dependencies, and information on
how to run the program.
• User Guide and Report for your code, as described in Section 3.1.
• A signed and dated cover sheet. These are available from the [[Computing Colloquium]]
Blackboard unit or from the Computing reception (building 314, 3rd floor). You can sign a
hard copy and scan it in or you can fill in a soft copy and digitally sign it.
Make sure that your zip file contains what is required. Anything not included in your submission will
not be marked, even if you attempt to provide it later. It is your responsibility to make sure that your
submission is complete and correct.
3.1 User Guide and Report
You need to submit your User Guide and Report in ipynb, docx or pdf format. Jupyter is
Your User Guide will be minimum 2-4 pages and should include the following:
• An overview of your program’s purpose and features.
• A guide on how to use your simulation, directly and using the parameter sweep.
• A discussion of your code, explaining how it works, any additional features and how you
The Report will follow the structure of a standard academic report or paper. It should be at least 4-6
pages long. Required sections are:
• Abstract: Explain the purpose of the report and state the parameters you have investigated,
and the outcomes/recommendations.
• Background: Discuss the purpose of the simulation and your choice of parameters.
• Methodology: Describe how you have chosen to set up and compare the simulations, and
why. Include commands, input files, outputs – anything needed to reproduce your results.
• Results: Present the results of your simulations.
• Conclusion and Future Work: Give conclusions and what further investigations could follow.
Marks will be awarded to your submission as follows:
• [60 marks] Code Features. 10 marks per extension, implemented and documented
• [10 marks] User Guide. As described in section 3.1.
• [30 marks] Report. As described in section 3.1, with the majority of marks for the
methodology and results sections.
Marks will be deducted for not following specifications outlined in this document, which includes
incorrect submission format and content. If the cover sheet isn’t provided with your submission,
your submission will not be marked and you will be awarded zero (0) marks. If you forget to submit
the cover sheet you will be allowed to submit it separately to the unit coordinator (by e-mail or in
person) but will lose 5 marks.
3.3 Requirements for passing the unit
Please note: As specified in the unit outline, it is necessary to have attempted the assignment in
order to pass the unit. As a guide, you should score at least 15% to be considered to have attempted
this assignment. We have given you the exact mark breakdown in Section 3.2. Note that the marks
indicated in this section represent maximums, achieved only if you completely satisfy the
requirements of the relevant section.
Plagiarism is a serious offence. This assignment has many correct solutions so plagiarism will be easy
for us to detect (and we will). For information about plagiarism, please refer to
In the case of doubt, you may be asked to explain your code and the reason for choices that you
have made as part of coding to the unit coordinator. A failure to adequately display knowledge
required to have produced the code will most likely result in being formally accused of cheating.
Finally, be sure to secure your code. If someone else gets access to your code for any reason
(including because you left it on a lab machine, lost a USB drive containing the code or put it on a
public repository) you will be held partially responsible for any plagiarism that results.