A tutoring system which teaches skills for playing the piano is designed and implemented. Due to the characteristics of the domain, it is difficult to make educational materials for instruction dynamically with the current technology. Hence the system, named PTS (Piano Tutoring System), is designed to have all the materials or the lessons be presented prepared in advance. The system diagnoses the current state of student and then selects the most proper lesson to the student among the many lessons for the individualized instruction.
The system consists of five major components. Those are the script interpreter, the skill practice modules, the diagnosis module, the curriculum control module, and the low level library modules. The diagnosis module and the curriculum control module are the most important modules for the individualized instruction. The diagnosis module evaluates the student's mastery of skills. For evaluating the student's performance accurately, a method using dynamic programming has been developed. Using the result from the diagnosis module, the curriculum control module selects the most proper lesson which will be presented next to the student. For the efficient curriculum control, a method using the fuzzy concept is proposed. As another integral component, the script interpreter teaches the musical knowledge needed for learning the performance skills. The skill practice module teaches the performance skills and make students practice the skills. The low level library modules control all media used for the instruction and provide the low level functions for interfacing with the student.