TW@SU-AI.ARPA (03/08/84)
From: Terry Winograd <TW@SU-AI.ARPA> [Forwarded from the Stanford bboard by Laws@SRI-AI.] Talkware Seminar (CS 377) Date: Monday March 12 Speaker: Daniel Halbert (Berkeley & Xerox OSD) and David C. Smith (Visicorp) Topic: Programming by Example Time: 2:15-4 Place: 200-205 Most computer-based applications systems cannot be programmed by their users. We do not expect the average user of a software system to be able to program it, because conventional programming is not an easy task. But ordinary users can program their systems, using a technique called "programming by example". At its simplest, programming by example is just recording a sequence of commands to a system, so that the sequence can be played back at a later time, to do the same or a similar task. The sequence forms a program. The user writes the program -in the user interface- of the system, which he already has to know in order to operate the system. Programming by example is "Do what I did." A simple program written by example may not be very interesting. I will show methods for letting the user -generalize- the program so it will operate on data other than that used in the example, and for adding control structure to the program. In this talk, I will describe programming by example, discuss current and past research in this area, and also describe a particular implementation of programming by example in a prototype of the Xerox 8010 Star office information system.