Drracket/Scheme Programming
Start with the Susceptible-Infectious-Recovered (SIR) model, see Wikipedia: Compartmental models in epidemiology (Links to an external site.) - The SIR model (Links to an external site.) ([login to view URL]) (Links to an external site.). only model recovering, but we may model re-infection.
preferably be done in the drracket programming language
Simulate a number of individuals moving in a closed environment with the goal of finding out how movement and transmission rates (for instance, with or without masks) impact the entire population. One measure will be how many individuals become infected or how long it takes before the entire population has been infected.
Start the simulation by moving individuals randomly, known as Brownian motion ([login to view URL]) or Random walk ([login to view URL]). See also Brownian motion and random walks ([login to view URL])
Implementation
User Stories
As a user, I can see a window with a gray background, so I can see where the simulation is taking place.
As a user, I can see a counter in the top left corner; it counts steps in the simulation, so I can see time passing in the simulation.
As a user, I can see a number of stationary blobs in the window. One blob is red, indicating that the individual is infectious; the rest is yellow, indicating that the individuals are susceptible.
Technical Implementation
Use functional programming with big-bang and structs.