the current attention given to expert systems as potent advisors in complex decisional situations shows the power of this software technology to assist us in ill-defined or otherwise-complex tasks. One such task is promoting learning in a variety of settings and with students of diverse abilities, uncertain prior knowledge, and varied interests. Like their predecessor CAI systems, ICAI prototypes are meant to address these issues, although with added finesse made possible by the power of AI techniques. The central feature of an ICAI system, as with any AI system, is a knowledge base comprising a large number of distinct knowledge elements. Unlike their counterparts in traditional CAI, these knowledge elements are not part of a sequential flow of control within the program, but instead can be retrieved and combined by a separate control module in response to the requirements of the situation at hand. This very fine modularization of knowledge involves a structure (often known either as a semantic net or as a production rule set, depending on the techniques used) which makes some degree of inferential reasoning possible by the system.