Each node is a skill in the curriculum graph. The engine models student ability with an IRT-style logistic response, and (in adaptive mode) picks the next item whose difficulty sits near the student's estimated ability — Vygotsky's "zone of proximal development."
P(correct) = 1 / (1 + e^-(ability − difficulty))
ability' += lr · (outcome − P) · adaptivity
- Student ability — the simulated learner's current competence estimate driving response probability.
- Adaptivity strength — how aggressively the engine updates its ability estimate and difficulty target after each item.
- Session speed — how fast simulated items are delivered.
- Delivery mode — adaptive targets the frontier node nearest ability; fixed order marches through the graph regardless of performance.
Real-world use: platforms like adaptive math/reading tutors (e.g. IRT-based CAT testing) use this exact difficulty-matching loop to keep learners challenged but not overwhelmed.