Skip to main content
Log in

An example based environment for beginning programmers

  • Published:
Instructional Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Finzer, W. and Gould, L. (1984). ‘Programming by rehearsal,’ Byte, June.

  • Lawler R. (1985). Computer Experience and Cognitive Development. Chichester: Ellis Horwood, Ltd./New York: John Wiley & Sons Inc.

    Google Scholar 

  • Lieberman, H. (1982). ‘Constructing graphical user interfaces by example,’ In Graphics Interface Conference. Toronto, Canada.

  • Lieberman H. (1982). ‘Designing interactive systems from the user's viewpoint,’ In P. Degano and E. Sandewall, (Eds.), Integrated Interactive Computer Systems. Amsterdam: North Holland.

    Google Scholar 

  • Lieberman, H. (1984a). ‘Video games by example,’ SigGraph Video Review (videotape) 12(1).

  • Lieberman, H. (1984b). ‘Seeing what your programs are doing,’ International Journal of Man-Machine Studies 21(4).

  • Lotus Documentation Dept. (1983). Lotus 1-2-3 Manual, Lotus Development Corp.

  • Papert S. (1981). Mindstorms. New York: Basic Books.

    Google Scholar 

  • Stallman, R. M. (1981). ‘Emacs: the extensible, customizable, self-documenting display text editor,’ In ACM SigOA Conference on Text Manipulation.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lieberman, H. An example based environment for beginning programmers. Instr Sci 14, 277–292 (1986). https://doi.org/10.1007/BF00051824

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00051824

Keywords

Navigation