The outer loop implements a pedagogy called mastery learning (Bloom, 1984).
The curriculum is structured as a sequence of units or a sequence of difficulty levels. When a student is working on a unit (or level of difficulty), the tutoring system keeps assigning tasks from that unit until the student has mastered the unit’s knowledge. Only then does it allow the student to proceed to the next unit
Thus, some students finish the curriculum having done fewer tasks than other students.
This design for the outer loop is mostly used in self-paced courses.
It is seldom used for a class-paced course, where it is important that all students stay together as they move through the curriculum.
A common mistake is to develop a tutoring system with a fancy outer loop, then discover that instructors cannot use its features due to the class-paced nature of the course.