Disease Spread Project (Teacher's Choice)
Suppose you are a medical researcher at the Centers for Disease Control (CDC) and would like to understand the factors that contribute to the spreading of a new disease across a population. In particular, you would like to know the effect of population size on the rate at which the disease spreads.
- What would be a sensible hypothesis on how population size relates to the rate of the spread of the disease?
You may not have enough data from actual outbreaks to test your hypothesis and make any meaningful conclusions, and it would be unethical to induce the disease in some population in order to gather new data. In this situation, a simulation would be the best option to generate data in order to test your hypotheses without the constraints of time, cost, and ethics.
In this project, you will simulate the spread of a disease within a small population and explore the effects of variables such as population size and speed of human interaction on the spread of disease.
- Play with the Snap! file
linked here to get a feel for the simulation program you will be writing.
-
Your code should:
- Discuss how your simulation may be similar to and different from a real life disease outbreak. Identify the simplifying assumptions you made in this simulation.
-
Study the relationships between the various variables in the simulation:
- the population size (N)
- the percentage of the population initially sick (P)
- the speed at which the people move (v)
- time elapsed until the entire population becomes sick (T)
Start with a hypothesis predicting the pattern that will emerge in the simulations.
For example, to understand the effect of population size (N) on the time it takes the disease to fully spread (T), fix P=10 and v=2, and use your simulation to make a chart of T (on the vertical axes) as a function of N (on the horizontal axis) in increments of 10 for N.
To ensure reliability, you may need to run each particular simulation (for N=10, 20, 30, ... , 100) several times and take an average. Create a visual graph of your findings. Do you see any patterns? Do they agree with your hypothesis? How can you study the effects of other variables with your simulations?
-
Here are some possible variations on this simulation that could make it more realistic. Save a copy of your work before exploring one or more of these variations:
- Give a probability to being infected when a healthy person encounters a sick person.
- Let the infected people slow down in speed.
- Let the infected people heal either with time or by a probability.
- Let those infected and then healed become immune to the sickness.
- Introduce doctor sprites that heal the sick upon encounter.
- At the start of simulation, introduce vaccination to a given percentage of the population.
- Design and implement a predator-prey simulation in Snap!. For example, you could model an environment with wolf and deer populations where the wolf prey on the deer. What are some parameters you need to incorporate into your model so you can simulate realistic fluctuations in the populations of predator and prey?
-
Imagine you work at a bank that wants to minimize customer wait times in line. The bank is considering two alternatives:
- a single line where the customers stand in arrival order and wait for the next available teller, or
- separate lines for each teller.
Design and implement two simulations in Snap! to help the bank determine the average wait time for customers in each scenario in order to choose the best option.