This post lists some adaptation strategies (written in the LAG Adaptation Strategy Language) along with example content and demos in ADE/AHA!
ADE is a delivery platform for adaptive educational hypermedia (adaptive e-learning) which I’ve been developing as part of my PhD at the Intelligent and Adaptive Systems group at the University of Warwick.
Basic strategy that makes all concepts visible.
The roll-out strategy does two things: the more times you visit a (sub)lesson, the more of its contents (attributes) become visible. At the same time the opposite is also possible: the more times you visit a (sub)lesson, the more of its contents become invisible. This is governed by weight (number of visits) and label (either showafter or showatmost for content that needs to appear or disappear respectively). The keywords strategy is a special version of the same principle, which only uses labels (number of visits is always 1, and the content is always revealed, never hidden)
Visual / Verbal
Concepts are either unlabeled (general) or have label ‘visverb’ with a weight indicating where on the vis/verb axis they lie. Visual concepts have weight nearer 0 and verbal concepts have weight nearer 100. The user has a stereotype ‘visverb’ which is also a number between 0 and 100, with the same meaning (0=visual, 100=verbal user). The user selects a stereotype by visiting special ‘settings’ concepts; the weight of the concept becomes their new visverb number.
A variable in the UM defines a threshold. visverb concepts are visible if and only if abs(weight-stereotype)<=threshold. So it’s like a band filter (this makes it more appropriate to knowledge levels, I guess). General concepts are always visible and have no effect on the adaptation.
Beginner, Intermediate, Advanced
This is an attempt at combining all four of the above strategies, without resorting to labels that are cartesian products. Using Cartesian products a label A-B-C is treated as three labels A, B and C respectively… which one the weight applies to is harder to define, although I guess one could split the weight into component numbers (like units vs tens) that can be separated out again. I don’t really think that’s very elegant or robust though.
So the idea was to have labels/weights be inherited by child lessons unless explicitly overruled by their own label/weight. (This way a concept can indirectly get multiple labels). These labels are all stored in an overlay that is then used instead of the GM labels for the adaptation rules. This is basically a workaround for a MOT shortcoming. Unfortunately the inheritance idea doesn’t work because of the way group lessons are handled by LAG (their labels and weights can’t be inspected). The strategy is included for ‘educational’ purposes, since the principle itself is sound.
This strategy shows concepts based on their type. This particular implementation only shows concepts of the type text and doesn’t show the other concepts.
After seeing all beginner concepts sets the user to intermediate and shows the related concepts
This strategy shows the concept labelled as start first, then the rest of the content in a depth first manner using the child-parent relations
This strategy shows the concepts in a breadth first manner. It uses a user model variable called level which determines which level in the hierarchy gets shown.