Self-reference is an illustrative essential

  • Authors:
  • Owen Astrachan

  • Affiliations:
  • Department of Computer Science, Duke University, Durham, NC

  • Venue:
  • SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper includes an abstract, a discussion of the usefulness of self-reference in early computer science courses, and some examples to illustrate this usefulness. Most readers will not be troubled by this example of self-referential writing. Why then is self-reference, usually in the form of recursive subprograms, thought to be so onerous as to be placed in its own left-until-the-end-and-often-uncovered chapter in most introductory texts? Self-reference is one of the cornerstones of computer science from the unsolvability of the halting problem, to writing a Pascal compiler in Pascal, to reveling in the beauty of Quicksort. We argue that the notion of self-reference should permeate first courses in computer science. If this is to be the case such courses should take a view far broader than “Wow, I can average 10 numbers with the skills I learned in my first programming course!”