Qualifying Project Tech. Report:
Imitation: An Alternative to Generalization
Programming by Demonstration Systems
In this paper, we propose a new mechanism, imitation, which can be used in a programming by demonstration system as an alternative to generalization. A system using imitation always asks the user for help when a new case arises in an algorithm. At this point, the user may demonstrate the steps for this case or tell the system: (1) that this case is similar to another one already demonstrated and (2) in what way it is similar. In this way, the user can use imitation to generate code for the new case based on the one already demonstrated. Generalization is not required at any point while programming using this technique. We demonstrate our imitation method using Opsis, a system we built to teach binary search tree algorithms. (Opsis is a Java applet and can be accessed at http://www.cs.washington.edu/homes/amir/Opsis.html.) [pdf/ps]
Programming by demonstration, imitation, generalization, macros, visual programming.

Amir Michail
Last modified: Sat Oct 3 16:25:46 PDT 1998