A computer-implemented system, which is applicable to a variety of specific knowledge domains, conducts an interactive dialog with a student. The dialog helps the student arrive at a correct solution to a problem, for example by presenting problems in multiple parts, providing hints or simpler subparts to the student when requested or appropriate, and responding usefully to the student's wrong answers. The system interprets the nature of a student's errors to adapt the interaction to that student. For example, the system can select questions based on a detailed assessment of the student's knowledge. The questions can have a variety of types of answers, including freeform answer types, for example symbolic expressions. The system can include authoring tools to let teachers write problems, displays detailed information on how students interact with these problems, and allows teachers to address frequently given incorrect responses. The system can provide a skill rating of each student on a preselected list of topics, each of which might be an element of knowledge for example declarative, conceptual, or procedural knowledge.
展开▼