Skip to contents

This page is a suggested 12-week syllabus for an introductory course in item response theory (IRT), for graduate students in education, psychology or the health sciences. Each week lists what students should be able to do by the end of it, what to read on this site, what to run in R, and which lab and dataset to use. Take it as a starting point: drop weeks, merge them, or swap in your own readings.

Everything here runs on a laptop with mirt and mirtverse installed. No internet connection is needed once the packages are installed, and none of the examples take more than a few seconds to run.

Before the first class

Ask students to install the packages and check that a lab opens:

install.packages(c("mirt", "learnr"))
# install mirtverse as shown on the home page, then:
library(mirtverse)
list_labs()

Students who are new to R can do much of the course without writing code. The workbench (launch_workbench()) runs a full analysis by pointing and clicking and shows the R code for every step, and mv_ask() writes a script from a plain-language request. Both make good bridges to writing code by hand later in the term.

The 12 weeks at a glance

Week Topic Lab Main data
1 Measurement, scoring and classical item analysis Lab 1, first two sections certexam
2 From classical test theory to IRT: the Rasch, 2PL and 3PL models LSAT7
3 Estimation and comparing models LSAT7, SAT12
4 Dimensionality and local independence Lab 1 in class certexam
5 Item fit, person fit and item quality SAT12
6 Information, precision and reliability certexam
7 Scoring people Lab 2 in class certexam
8 Polytomous items and open-ended responses Lab 6, run_lab("open-ended") openended, Science
9 Differential item functioning and fairness Lab 3, run_lab("fairness") numeracy, certexam
10 Linking and equating Lab 4, run_lab("linking") linking, certexam
11 Item banks, test assembly and adaptive testing Lab 5, run_lab("cat-design") catbank, certexam bank
12 Cut scores, reporting and communicating results Final project students’ own data

The glossary defines each term used below, and each week links to its key terms there. The cheat sheet lists the main functions on two printable pages; both work well as handouts from week 1.

Week by week

Week 1. Measurement, scoring and classical item analysis

By the end of the week, students can score multiple-choice responses against a key, compute proportion correct and item-total correlations, and read a distractor analysis.

Week 2. From classical test theory to IRT

By the end of the week, students can explain the Rasch, 2PL and 3PL models, fit them with mirt(), and read an item characteristic curve.

Week 3. Estimation and comparing models

By the end of the week, students can describe marginal maximum likelihood in words, recognise a model that has not converged, and compare nested models with likelihood-ratio tests and information criteria.

Week 4. Dimensionality and local independence

By the end of the week, students can check whether one dimension is enough, read standardized residuals and the Q3 statistic, and tell local dependence from a second trait.

  • Key terms: dimensionality, local independence, local dependence, Q3.
  • Run: a one- vs two-factor model with anova(), summary() for rotated loadings, residuals(mod, type = "Q3") and gg_q3().
  • Lab: all of Lab 1 (run_lab("model-choice"), about 75 minutes). It ends with a model choice the student has to justify in writing.
  • Data: certexam (the passage pair Q21 and Q22).
  • Assignment: hand in the decision table and justification from the end of Lab 1.

Week 5. Item fit, person fit and item quality

By the end of the week, students can read S-X² item fit, compare an empirical and a model-implied curve, and flag aberrant response patterns.

Week 6. Information, precision and reliability

By the end of the week, students can read item and test information curves, convert information to a standard error, and explain why reliability depends on where on the scale you look.

Week 7. Scoring people

By the end of the week, students can compare EAP, MAP, ML and WLE scores, explain why ML fails for perfect scores, and read a Wright map.

Week 8. Polytomous items and open-ended responses

By the end of the week, students can fit the partial credit, generalized partial credit and graded response models, read category curves, and say when categories should be collapsed.

Week 9. Differential item functioning and fairness

By the end of the week, students can tell impact from DIF, run a DIF analysis with anchor items, and explain uniform and non-uniform DIF.

Week 10. Linking and equating

By the end of the week, students can explain why two forms need a common scale, describe anchor-item and common-person designs, and link a new calibration to an existing one.

Week 11. Item banks, test assembly and adaptive testing

By the end of the week, students can describe an item bank, assemble a form to a target information curve, and explain how a computerized adaptive test picks items and when it stops.

Week 12. Cut scores, reporting and communicating results

By the end of the week, students can describe a Bookmark standard setting, estimate classification accuracy at a cut score, and explain IRT results to someone who does not use R.

Assessment ideas

Weight Task When
20% Lab 1 decision table and model justification Week 4
20% Lab 2 memo to the board Week 7
20% Two short problem sets (one on fit and precision, one on DIF or linking) Weeks 6 and 10
40% Final project: a full analysis of a dataset of the student’s choice, handed in as an mv_report() or a dashboard plus a two-page memo Week 12

For the final project, students can follow the assessment pipeline from calibration to the report. Its flags point out what to check before each next step, which works well as a checklist for the write-up.

Adapting the course

  • A shorter course (8 weeks): combine weeks 2 and 3, and weeks 5 and 6; drop week 10 and treat week 11 as a lecture without a lab.
  • An undergraduate course: spend two weeks on week 1, use the workbench instead of code until week 4, and end at week 9.
  • A second course: add multidimensional and bifactor models (mirt() with more factors, bfactor()), response-time models (fit_rt(), sim_rt()), and the remaining stages of the assessment pipeline, such as test security and bank monitoring.

Planned resources

These resources are being built and will be linked from the weeks above when they are released.

Resource Used in Status
Glossary of IRT terms on this site All weeks Available: glossary
Two-page cheat sheet of the main functions All weeks Available: PDF
DIF and fairness lab Week 9 Available: run_lab("fairness")
Linking two forms lab Week 10 Available: run_lab("linking")
CAT design lab Week 11 Available: run_lab("cat-design")
Open-ended scoring lab Week 8 Available: run_lab("open-ended")