Problems, plans, and programs

  • Authors:
  • Elliot M. Soloway;Beverly Woolf

  • Affiliations:
  • Computer and Information Science Department, University of Massachusetts, Amherst, Massachusetts;Computer and Information Science Department, University of Massachusetts, Amherst, Massachusetts

  • Venue:
  • SIGCSE '80 Proceedings of the eleventh SIGCSE technical symposium on Computer science education
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

An important learning skill is the ability to make abstractions, i.e., to construct classification schemes which highlight similarities and differences. In this paper we shall outline the content of a undergraduate course which attempts to teach this skill in the context of teaching introductory LISP programming and problem solving. The key to this enterprise has been the development of: 1. a taxonomy of problems, i.e., a classification scheme which groups problems into classes based on specific criteria, and 2. a set of plans, i.e., abstractions, each of which captures the essential features of a class of problems, and corresponding solution programs. We begin by developing a scheme for classifying the problems usually offered as exercises in introductory LISP courses. We then examine the LISP programs which solve problems in the various classes and abstract higher level structures called 'plans.' Here we view a plan as a program template plus comments describing the goals and reasons for the various expressions in the template. Next, we build on the set of plans to include new problems. Finally, we speculate briefly on the utility of our taxonomy with respect to programming in languages such as FORTRAN, APL, or PASCAL.