login

An example based environment for beginning programmers

Instructional SciencePublished 1 May 1986
Henry Lieberman
Citations90
SJR quartileQ1
SJR score1.02
SNIP1.55

TL;DR

A programming environment called Tinker is described, in which a beginning programmer presents examples to the machine, distinguishing accidental and essential aspects of the examples, and the machine formulates a procedure for handling the general case.

Abstract

Making a good programming environment for beginning programmers is an enterprise which can exploit the strong connections between machine learning and human learning. Applying what we know about teaching and learning to improve the programming environment can result in a system which allows beginners to more readily acquire programming skills. Surprisingly, a universally accepted principle of good teaching and good learning has not been taken seriously enough in designing programming environments-learning by example. A good teacher presents examples of how to solve problems, and points out what is important about the examples. The student generalizes from the examples to learn principles and techniques. This paper describes a programming environment called Tinker, in which a beginning programmer presents examples to the machine, distinguishing accidental and essential aspects of the examples. The programmer demonstrates how to handle the specific examples, and the machine formulates a procedure for handling the general case. Because people are much better at thinking about concrete examples than they are at thinking about abstractions, and because examples provide immediate feedback, Tinker is a more congenial environment for a beginner than conventional programming systems.

Keywords

PsychologyComputer Science