Among four common designs for outer loops, the most complex is based on a pedagogy called macroadaptation (Corbett & Anderson, 1995; Shute, 1993)
For each task that the tutoring system can assign, it knows which knowledge components are exercised by the task. For each Knowledge Component, the tutor maintains an estimate of the student’s degree of mastery of that Knowledge Component
When a student has completed a task and the tutor needs to select the next one, it chooses one based on the overlap between the tasks’ knowledge components and the student’s mastered knowledge components
For example, it might assign a task that requires many knowledge components that are already mastered by the student and just two components that are not yet mastered.
Some tutoring systems represent not only correct and incorrect knowledge components, but also other stable traits of students. They might represent learning styles and preferences, such as a preference for visual or verbal explanations, so they can choose tasks that are marked as compatible with the student’s style or preference.
For the outer loop to function correctly across multiple tasks and sessions, the information about the student must be stored on a server or on the student’s computer’s disk. This persistent information is often called a student model. Exactly what it contains depends on the type of outer loop