You are here

Constraint-Based Tutoring Systems: From Theory to Authoring

Tanja Mitrovic
Moffat Mathews
Jay Holland
Monday, 30 November, 2009 - 14:00
The Hong Kong Institute of Education (HKIEd), Hong Kong


Tutorial at the International Conference on Computers in Education 2009


This tutorial covers both the theory and practice of Constraint-based Modeling and Constraint-based Tutoring Systems. The first part of the tutorial introduces constraints and Constraint-Based Modeling (CBM) as a theoretical foundation for Intelligent Tutoring Systems (ITSs). The second part covers ASPIRE, our authoring system for developing constraint-based ITSs, and gives participants the opportunity to experience developing a small ITS in ASPIRE.

We first introduce constraints as a way of representing domain knowledge. Currently, cognitive models typically cast declarative knowledge as consisting of propositions – knowledge units that encode assertions (which can be true or false) that support description, deduction and prediction. We have developed an alternative model of declarative knowledge that consists of constraints – units of knowledge that are more prescriptive than descriptive, and that primarily support evaluation and judgment. In this tutorial we first present a formal representation of constraints and explain its conceptual rationale. We then introduce two applications of constraint-based modeling. The first is the use of constraints as a basis for a machine learning algorithm that allows a heuristic search system to detect and correct its own errors. From this point of view, constraint-based learning is a form of adaptive search. This algorithm was originally developed as a hypothesis about how people learn from errors. We present the algorithm in some detail and briefly summarize applications to various problems in the psychology of cognitive skill acquisition.

Next we develop in detail the application of constraint-based modeling to the design and implementation of Intelligent Tutoring Systems. The constraint-based knowledge representation provides a novel way to represent the target subject matter knowledge, which has the advantage of directly supporting one of the main functions of expert knowledge in an ITS: To detect student errors. More importantly, the constraint-based representation provides a theoretically sound and practical solution to the intractable problem of student modeling. Finally, the constraint-based representation and the associated learning algorithm provide detailed implications for how to formulate individual tutoring messages. We present multiple systems that follow this blueprint, together with empirical evaluation data.

In the second part of the tutorial we present our authoring system (ASPIRE). The goal of ASPIRE is to make ITS authoring available to educators who have no technical knowledge of ITS or Computer Science in general. ASPIRE does this by providing extensive authoring support, such that the author, as far as possible, is always working at the domain knowledge level, not the programming level. We describe its architecture and functionality, as well as the authoring procedure it supports. The participants will then have hands-on opportunities to investigate ASPIRE closer, by using it to build a simple tutor.


The tutorial will consist of a mixture of lectures, simple exercises, on-line demonstrations and hands-on activities. The presenters will take turns to present material and take participants through simple paper-and-pencil exercises, and to demonstrate features of constraint-based systems and ASPIRE, which are available via Web access. The presenters will also give hands-on demonstrations of systems that incorporate CBM, and will coach the participants through a practical exercise where they will get the opportunity to build a constraint-based system for themselves.

We will introduce the participants to a novel knowledge representation in which the units of knowledge are constraints. The tutorial will touch on the differences between constraints and representations of practical knowledge (production rules) and the standard propositional representation of declarative knowledge. Most of the first half of the tutorial will be spent on explaining the properties of this knowledge representation and describing and demonstrating some of its applications to date, including its use as a machine learning algorithm and as a simulation model of human learning, but with emphasis on its use in the design of intelligent tutoring systems.

The material that will be covered is:

* PART ONE (morning) – Introduction to CBM and its applications
o Formal representation of constraints and explanation of their conceptual rationale. Brief contrast to propositional and rule formats. Brief contrast between description, inference and prediction, on the one hand, and evaluation and judgment, on the other, as cognitive functions; the proper role of each in an intelligent system.
o Description of two applications of constraint-based modeling: 1) a machine learning algorithm that allows a heuristic search system to detect and correct its own errors, and 2) detailed coverage of the application of constraint-based modeling to the design and implementation of intelligent tutoring systems (ITS). Use of constraints for the detection of student errors. Utility of CBM in overcoming the intractable problem of student modeling. Discussion of ITS design implications. Presentation of several working ITSs that follow the implied design. Description of an example constraint-based tutoring shell (WETAS) that generalizes this design.

* PART TWO (afternoon) – Practical CBM: the ASPIRE ITS authoring system
o Introduction to ASPIRE, our new authoring system for developing constraint-based ITSs. Description of the desired authoring procedure. Detailed description of the ASPIRE’s architecture and functionality provided by ASPIRE, and how it supports this view of authoring. Presentation of several examples of ITSs developed in ASPIRE.
o Practical demonstration of the authoring of a tutor, with each step described in detail.
o Practical lab: participants try to develop a simple tutoring system using ASPIRE. Participants will be required to perform the following authoring steps by interacting with the tools provided in ASPIRE:
+ Describe the general features of the domain (author fills in text fields)
+ Develop domain ontology (author develops ontology diagrammatically using ASPIRE’s ontology drawing tool, and specifies additional information via text fields)
+ Describe the problem and solution structures (author selects ontology components and adds further information, using a GUI form)
+ Provides examples of problems and their solutions (author fills out GUI forms)
+ Run the constraint generator (author selects appropriate control on form)
+ Modify the generated constraints manually (optional, via language-sensitive text editor)


The constraint-based knowledge representation has potential to be useful in many areas of AIED, including simulation of human cognitive processes and the implementation of human-engineered systems for practical use. The participants are assumed to have prior knowledge of symbolic computational systems. Some prior experience of programming in a symbolic language like Lisp, Prolog or rule-based systems would be helpful, but advanced programming skill is not needed. The participants primarily need to understand the general notion of a design of symbolic computational system to exhibit intelligent behavior, and have the basic concept of such as system as consisting of knowledge structures and processes operating over those knowledge structures.

Please email Antonija Mitrovic ( if you are interested in participating in this tutorial.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer