1994
DOI: 10.1145/191033.191131
|View full text |Cite
|
Sign up to set email alerts
|

Self-reference is an illustrative essential

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 th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

1998
1998
2014
2014

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 6 publications
(3 citation statements)
references
References 3 publications
0
3
0
Order By: Relevance
“…; ' totalLetters = 0; I for(iter.first();!iter.isDone();iter.next()) 1 totalWords++; totalLetters += current().length(); I tout c-z 'average word'length = a X-Z double(tiotalLetters)/totalWords -CC e I We use the Iterator pattern with the same names for member functions in a class that returns the entries in a directory, either files or subdirectories. Students use this class to practice recursion in a naturally recursive context: e.g., subdirectories of subdirectories as described in [5]. Students are accustomed to the iterator pattern and have little difficulty in applying the functions in a new context.…”
Section: Lteratorsmentioning
confidence: 99%
“…; ' totalLetters = 0; I for(iter.first();!iter.isDone();iter.next()) 1 totalWords++; totalLetters += current().length(); I tout c-z 'average word'length = a X-Z double(tiotalLetters)/totalWords -CC e I We use the Iterator pattern with the same names for member functions in a class that returns the entries in a directory, either files or subdirectories. Students use this class to practice recursion in a naturally recursive context: e.g., subdirectories of subdirectories as described in [5]. Students are accustomed to the iterator pattern and have little difficulty in applying the functions in a new context.…”
Section: Lteratorsmentioning
confidence: 99%
“…Even though the opinion of Dijkstra (1974Dijkstra ( ) (1975 varied, recursion proved a powerful means for expressing algorithms (Dijkstra, 1999) (Reingold, 2012), especially on recursive data structures like lists, i.e., stacks, and trees. With the legacy of LISP and ALGOL, together with the rise and spread of personal computers, recursion became a common feature of modern programming languages, and arguably an essential one (Papert, 1980, Ford, 1982, Astrachan, 1994.…”
Section: Introductionmentioning
confidence: 99%
“…Since it is generally accepted that recursion is one of the most complicated and difficult-to-learn concepts for novice programmers [10,17], much of the research into the learning of recursion takes place within the framework of learning to program, whether within the FP paradigm or other programming paradigms [1,3,19]. Much less emphasis has been put, however, on studying how learners see recursion as an interdisciplinary concept, how they speak about recursive phenomena and how they describe such phenomena using their own language.…”
Section: Introductionmentioning
confidence: 99%