Nifty assignment: Spread of infectious diseases

Infectuous diseases have been an important issues in recent years. From the `anti-vax' movement to the recent Covid-19 epidemic, infectuous diseases are having a noticeable impact on society. Of the many aspects that can be studied, here we take a look at the statistics of the way a disease spreads through the population.

This project walks a student through the development of a `network model' of a population. After the full model has been implemented, there are questions about the sensitivity of the disease propagation to various parameters that students can explore.

Any programming language can be used here, but the project description targets an object-oriented formulation.

This project can be done by a single undergraduate in about a week, at the end of a first semester programming course. The code is written completely from scratch, and requires no input data.

  • Summary. Model the spread of infectuous diseases, applied to diseases for which a vaccine exists.

  • Topics. Arrays, classes

  • Audience. Undergraduate or AP high school

  • Difficulty. Moderate

  • Strengths. The relevance of this exercise makes it highly motivating. It is relatively easy to program, with lots of opportunity for students to show initiative in exploring research questions and alternate scenarios.

  • Weaknesses. Open to sloppy programming and minimal exploration, No graphics output, so the interpretation of output requires some imagination

  • Dependencies. None. In particular, no biology background is needed.

  • Variants. Application to diseases without vaccine (Ebola, Covid-19); this requires extra programming and exploration.