41 lines
1.8 KiB
Rust
41 lines
1.8 KiB
Rust
// SPDX-License-Identifier: Prosperity-3.0.0
|
|
// Copyright Scientific Computing Studio
|
|
// Source: https://git.scient.ing/education/coursebank
|
|
|
|
//! Psychometrics: what the responses say about the items and about the students.
|
|
//!
|
|
//! ```text
|
|
//! responses ──▶ classical ──┬──▶ students ──▶ reports
|
|
//! └──▶ irt ───────┤
|
|
//! └──▶ calibrate ──▶ back onto the items
|
|
//! ```
|
|
//!
|
|
//! [`classical`] is the one that changes what you do next. The corrected
|
|
//! point-biserial answers "did the students who knew the material get this right?",
|
|
//! and a negative one almost always means a keying error or a second defensible
|
|
//! reading of the stem.
|
|
//!
|
|
//! [`irt`] adds difficulty-aware ability estimates. Its priors are on by default
|
|
//! and that is not a stylistic choice: unpenalized maximum likelihood has no finite
|
|
//! solution for an item everyone answered correctly, and real classroom exams
|
|
//! contain those routinely.
|
|
//!
|
|
//! [`students`] turns item statistics into per-objective standing, and is careful
|
|
//! about what three questions can honestly support — it classifies on the observed
|
|
//! rate and reports confidence from the Wilson interval separately.
|
|
//!
|
|
//! [`calibrate`] is the arrow back to authoring, and the reason the system
|
|
//! compounds: statistics written onto an item are there the next time you consider
|
|
//! using it. It writes to [`crate::model::bank`] files, which is the one place this
|
|
//! module reaches upward, and it always shows a diff first.
|
|
//!
|
|
//! Everything here labels its own uncertainty. A point-biserial from twenty-four
|
|
//! examinees has a standard error near 0.2, and a tool that reports it to three
|
|
//! decimals without saying so is lying by omission.
|
|
|
|
pub mod calibrate;
|
|
pub mod classical;
|
|
pub mod diagnostic;
|
|
pub mod irt;
|
|
pub mod students;
|