| Week | Date | Day | Topic | Subtopics | Deadlines1 | New work | Lecturer | Readings |
|---|---|---|---|---|---|---|---|---|
| 1 | Mar 31 | T | Review: basics of inference | Maximum likelihood estimation | Ezra | Dunn & Smyth 1; Dobson 1.1 - 1.2; Notes Appendix F.1.1 - F.1.8 | ||
| 1 | Apr 02 | Th | Review: basics of inference | Quantifying uncertainty for MLEs: standard errors, confidence intervals, hypothesis tests, p-values, prediction | HW 1 | Ezra | Dunn & Smyth 4; Dobson 1.3, 1.6, 2, 4; Vittinghoff 5.6; Notes F.1.9 - F.4 | |
| 2 | Apr 07 | T | Review: linear regression | Interpreting linear regression models | Ezra | Dunn & Smyth 4; Dobson 5; Notes 2.1 | ||
| 2 | Apr 09 | Th | Review: linear regression | Inference for linear regression models | HW 1 | HW 2 | Ezra | Dunn & Smyth 2.1 - 2.7; Dobson 6; Vittinghoff 4; Notes 2.2 - 2.3 |
| 2.5 | Apr 14 | T | Review: linear regression | Goodness of Fit for Linear Regression Models | Ezra | Dunn & Smyth 3; Dobson 6; Vittinghoff 4; Notes 2.4 - 2.5 | ||
| 2.9 | Apr 16 | Th | Review exam (ungraded) | HW 2 | Ezra | |||
| 4 | Apr 21 | T | Logistic regression | Odds, Odds ratios, risk ratios, risk differences, link functions | Hilary | Dunn & Smyth 5; Dobson 7; Vittinghoff 5; Notes 3.1 - 3.4 | ||
| 3.7 | Apr 23 | Th | Logistic regression | Interpreting Logistic Regression Coefficients | HW 3 | Hilary | Dunn & Smyth 6, 7; Dobson 7; Vittinghoff 5; Notes 3.5 - 3.6 | |
| 5 | Apr 28 | T | Logistic regression | Fitting logistic regression models | Hilary | Dunn & Smyth 8; Dobson 7; Vittinghoff 5; Notes 3.4 - 3.10 | ||
| 5 | Apr 30 | Th | Logistic regression | Diagnostics for logistic regression | Hilary | |||
| 6 | May 05 | T | Review session | Inference, Linear Regression, Logistic Regression | HW 3 | Both? | ||
| 6 | May 07 | Th | Midterm 1 | Inference, Linear Regression, Logistic Regression | Hilary | |||
| 7 | May 12 | T | Survival analysis | hazard; censoring | Ezra | Dobson 10; Vittinghoff 6; Notes 5 | ||
| 7 | May 14 | Th | Survival analysis | Kaplan-Meier and Nelson-Aalen curves | Ezra | Dobson 10; Vittinghoff 6; Notes 5 | ||
| 8 | May 19 | T | Survival analysis | survival regression models | HW 6 | Ezra | Dobson 10; Vittinghoff 6; Notes 6 | |
| 8 | May 21 | Th | Survival analysis | AFTs? | Hilary? | Dobson 10; Vittinghoff 6; Notes 6 | ||
| 9 | May 26 | T | Review session | Survival analysis | HW 6 | Midterm 2 review (HW 7) | Ezra | |
| 9 | May 28 | Th | Midterm 2 | Survival analysis | Midterm 2 review (HW7) | Ezra | ||
| 10 | Jun 02 | T | Poisson regression | Poisson regression models | HW 5 | Hilary | Dunn & Smyth 10; Dobson 9; Vittinghoff 8; Notes 4 | |
| 10 | Jun 04 | Th | Review | Everything above | HW 5 | Both | Dunn & Smyth 10; Dobson 9; Vittinghoff 8; Notes 4 | |
| Finals | Jun 09 | T | Final exam (10:30am-12:30pm) | Everything above, except Poisson | Final (optional) | Both | ||
| 1 Homework assignments have an automatic 24-hour grace period unless otherwise announced. | ||||||||
Schedule
Note
This is the tentative schedule for the Spring 2026 offering of Epi 204. It is generated directly from the course schedule spreadsheet (inst/extdata/epi-204-schedule-2026.xlsx) and will be updated as the quarter progresses. The authoritative, continuously-updated version is on Canvas.
1 Class sessions
Show R code
library(dplyr)
schedule_path <- here::here("inst/extdata/epi-204-schedule-2026.xlsx")
# Combine the per-textbook reading-reference columns into a single labeled
# string, dropping any that are blank for a given session.
combine_readings <- function(...) {
values <- c(...)
labels <- c("Dunn & Smyth", "Dobson", "Vittinghoff", "Notes")
parts <- mapply(
function(label, value) {
if (is.na(value) || trimws(value) == "") {
return(NA_character_)
}
paste0(label, " ", trimws(value))
},
labels, values,
USE.NAMES = FALSE
)
parts <- parts[!is.na(parts)]
if (length(parts) == 0) {
return(NA_character_)
}
paste(parts, collapse = "; ")
}
class_schedule <-
readxl::read_excel(schedule_path, sheet = "Schedule") |>
# Drop footnote rows and the tentative "Skipped?" row (no real session date).
filter(!is.na(Date)) |>
mutate(Date = format(as.Date(Date), "%b %d")) |>
rowwise() |>
mutate(
Readings = combine_readings(
`Dunn & Smyth sections`, `Dobson sections`,
`Vittinghoff sections`, `Lecture notes **`
)
) |>
ungroup() |>
transmute(
Week, Date, Day,
Topic = Topics,
Subtopics,
Deadlines = `Deadlines*`,
`New work` = `New Assignments`,
Lecturer,
Readings
)
class_schedule |>
gt::gt() |>
gt::sub_missing(missing_text = "") |>
gt::opt_row_striping() |>
gt::tab_options(table.font.size = gt::pct(80)) |>
gt::tab_footnote(
footnote = paste(
"Homework assignments have an automatic 24-hour grace period",
"unless otherwise announced."
),
locations = gt::cells_column_labels(columns = Deadlines)
)2 Assignments and exams
Show R code
readxl::read_excel(schedule_path, sheet = "Homework and Exams") |>
filter(!is.na(Assignments)) |>
mutate(
Topics = gsub("[\r\n]+", " ", Topics),
across(
c(`Date Assigned`, `Date Due*`, `Date Returned (approx.)`),
~ format(as.Date(.x), "%b %d")
)
) |>
rename(
`Date due` = `Date Due*`,
`Date returned (approx.)` = `Date Returned (approx.)`
) |>
gt::gt() |>
gt::sub_missing(missing_text = "") |>
gt::opt_row_striping() |>
gt::tab_options(table.font.size = gt::pct(85))| Assignments | Topics | Date Assigned | Date due | Date returned (approx.) |
|---|---|---|---|---|
| Homework 1 | Review of probability and inference; data manipulation, visualization, and analysis | Mar 31 | Apr 09 | Apr 15 |
| Homework 2 | Linear regression - theory and application | Apr 09 | Apr 16 | Apr 22 |
| Homework 3 | Logistic regression - theory | Apr 16 | Apr 23 | Apr 29 |
| Review for Midterm 1 | Inference, Linear regression, logistic regression | Apr 27 | May 04 | May 10 |
| Homework 4 | Logistic regression - data analysis | Apr 28 | May 05 | May 11 |
| Homework 5 | Poisson regression - theory and application | May 19 | May 26 | Jun 01 |
| Homework 6 | Survival analysis - theory | May 26 | Jun 02 | Jun 08 |
| Review for Midterm 2 | Poisson regression, survival analysis | Jun 02 | Jun 09 | Jun 15 |
| Homework 7 | Survival analysis - data analysis | Jun 09 | Jun 16 | Jun 22 |
| Review for Final | Linear regression, GLMs, survival analysis | Jun 01 | Jun 12 | Jun 18 |
| * all homework assignments are due at 5pm on the due date. |