A novel practical authoring and tutoring program is described that enables a teacher to adapt an existing expert system for use in teaching. The expert system is run in a normal manner by a student, typically using predetermined cases selected by the teacher. The expert system stops at breakpoints (to be described later) set during the authoring phase, and invokes a general tutoring program that probes the student's understanding of relevant data and intermediate conclusions. The authoring program analyzes the knowledge base and helps the teacher determine which breakpoints will produce meaningful interactions. Breakpoints can be varied for different cases, and a library of cases can be built into a sequenced lesson curriculum. The authoring and tutoring systems are both rule-based programs written in the same language as the knowledge base, making them easy to change and easy to interface with the expert system.