The Design of the TERENCE Adaptive Learning System