Mathematical Models of Infectious Diseases
This repository contains the educational materials for the 2025 Summer Institute in Statistics and Modeling in Infectious Diseases (SISMID) Module 1: Mathematical Models of Infectious Diseases. The materials are presented as an interactive Quarto book website with lecture notes, hands-on R exercises, and comprehensive tutorials for epidemiological modeling.
This educational resource provides a comprehensive introduction to mathematical modeling of infectious diseases, covering fundamental concepts from basic SIR dynamics to advanced topics like stochastic models and parameter estimation. The materials are designed for a 3-day intensive workshop format but can also be used for self-paced learning.
The materials are organized into three main sections:
Pre-Requisites: Setup guides and foundational knowledge
- R and RStudio installation
- Essential R programming concepts
- Project organization best practices
Day 1: Introduction and Basic Models
- Introduction to modeling concepts
- Basic SIR dynamics
- Herd immunity and vaccination strategies
Day 2: Advanced Modeling Concepts
- Heterogeneity in models
- Age-structured models
- Parameter estimation techniques
Day 3: Stochastic Models and Applications
- Stochastic modeling approaches
- Advanced R exercises and applications
This material is designed for:
- Graduate students and researchers in epidemiology, public health, or related fields
- Practitioners working in infectious disease modeling
- Anyone interested in learning mathematical approaches to understanding disease transmission
Prerequisites:
- Basic understanding of calculus and differential equations
- Familiarity with R programming (see the "Just Enough R" section if you're new to R)
- Working installation of R and RStudio
- Approximately 30-60 minutes for setup and prerequisite review
-
Clone the repository:
git clone https://github.com/arnold-c/SISMID-Module-02_2025.git cd SISMID-Module-01_2025
-
Install R dependencies: This project uses
renv
for reproducible package management. In R:# Install renv if you don't have it install.packages("renv") # Restore the project library renv::restore()
-
Install Quarto: Download and install Quarto from https://quarto.org/docs/get-started/
-
Build the website:
# Render the entire book quarto render # Or preview with live reload during development quarto preview
-
View the website: Open
_book/index.html
in your browser, or use the local server fromquarto preview
- Live preview:
quarto preview
- starts a local server with automatic reload - Render single file:
quarto render filename.qmd
- Check project:
quarto check
- Update R packages:
renv::snapshot()
after adding new packages
- Quarto - Scientific and technical publishing system
- R - Statistical computing and graphics
- renv - Reproducible R package management
- Key R packages:
{tidyverse}
,{deSolve
},{ggplot2
},{gt
}, and more (seerenv.lock
)
You can contact me via my email: "contact at callumarnold dot com".
We welcome contributions to improve these educational materials! Here are several ways you can help:
- Found a bug or error? Open an Issue describing the problem
- Have a suggestion? Start a Discussion to share your ideas
- Unclear instructions? Let us know what could be explained better (open a Discussion)
- Fork the repository and create a feature branch
- Make your changes following the existing style and structure
- The R code uses the Air formatter for the R code chunks. Please follow the instructions on their website for the best way to employ the formatter in your development environment.
- Test your changes by rendering the affected pages with
quarto render
- Submit a Pull Request with a clear description of your changes
- Follow the existing Quarto markdown format and callout patterns
- Test all R code chunks to ensure they execute correctly
- Maintain consistency with the educational tone and level
- Include appropriate citations for new references
- Ensure you can successfully run
quarto preview
andrenv::restore()
- Check that your changes don't break existing functionality
- Follow the project's code style and organization patterns
Interested in contributing substantial content? Please reach out to me first by opening a discussion on this GitHub page (and @ me) so we can coordinate efforts and ensure your contributions align with the overall educational goals.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.