Using generalized programs in the teaching of computer science

  • Authors:
  • Gerald Peterson

  • Affiliations:
  • University of Missouri-St. Louis, St. Louis, Missouri

  • Venue:
  • SIGCSE '83 Proceedings of the fourteenth SIGCSE technical symposium on Computer science education
  • Year:
  • 1983

Quantified Score

Hi-index 0.01

Visualization

Abstract

Courses in Computer Science have undergone significant improvement during the last few years. This improvement has resulted from the introduction of guiding principles such as structured programming and top-down design. Unfortunately, even with the use of these principles, buggy programs are commonplace. More guiding principles are needed. This paper introduces the concept of generalized programs and described how they may be used as a guide in the creation of correct computer programs. The method is discussed as it relates to a first course in Computer Science, but the idea could be applicable elsewhere in the curriculum. Basically, the idea is to partition the problems usually solved in the first course into groups such that the programs for solving the problems in each group will have common features. It was not found possible to find such a group for every problem, but a majority of the problems in the first course could be grouped in this manner. For each group a generalized program is written which captures the common features of the group. When given a problem to solve, if the student can ascertain the group to which it belongs, then the generalized program for this group will give guidance for programming the solution.