  We describe the algorithms used by the ALEKS computer learning system for
manipulating combinatorial descriptions of human learners' states of knowledge,
generating all states that are possible according to a description of a
learning space in terms of a partial order, and using Bayesian statistics to
determine the most likely state of a student. As we describe, a representation
of a knowledge space using learning sequences (basic words of an antimatroid)
allows more general learning spaces to be implemented with similar algorithmic
complexity. We show how to define a learning space from a set of learning
sequences, find a set of learning sequences that concisely represents a given
learning space, generate all states of a learning space represented in this
way, and integrate this state generation procedure into a knowledge assessment
algorithm. We also describe some related theoretical results concerning
projections of learning spaces, decomposition and dimension of learning spaces,
and algebraic representation of learning spaces.
