[net.ai] Programming by Example

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.