Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion 2007
DOI: 10.1145/1297846.1297940
|View full text |Cite
|
Sign up to set email alerts
|

Teaching strategies for reinforcing structural recursion with lists

Abstract: Recursion is an important concept in computer science and one that possesses beauty and simplicity, yet many educators describe challenges in teaching the topic. Kim Bruce champions the early use of structural recursion in an objectoriented introductory programming course as a more intuitive concept than traditional (functional) recursion. He uses many graphical examples for motivation (e.g., nested boxes, a ringed bullseye, fractals), providing concreteness to the recursive concept. Internally, most of those … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2009
2009
2017
2017

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 7 publications
(3 citation statements)
references
References 11 publications
0
3
0
Order By: Relevance
“…To overcome students' reluctance to use recursion within a course on procedural or object-oriented programming, it has been proposed to teach singly-linked lists before arrays and loops (Turbak et al, 1999, Bruce et al, 2005, Goldwasser and Letscher, 2007, which makes recursion appear as a rather natural way to move to and fro inside a unidirectional data structure. It is not surprising that this proposal, where recursion in data types comes before recursion in functions, often originates from the context of object-oriented programming languages (Felleisen and Friedman, 1997, Levine, 2000, Bloch, 2003, Sher, 2004, but is also prominent in statically typed functional languages -refer to the book by Felleisen et al (2001).…”
Section: Curriculummentioning
confidence: 99%
“…To overcome students' reluctance to use recursion within a course on procedural or object-oriented programming, it has been proposed to teach singly-linked lists before arrays and loops (Turbak et al, 1999, Bruce et al, 2005, Goldwasser and Letscher, 2007, which makes recursion appear as a rather natural way to move to and fro inside a unidirectional data structure. It is not surprising that this proposal, where recursion in data types comes before recursion in functions, often originates from the context of object-oriented programming languages (Felleisen and Friedman, 1997, Levine, 2000, Bloch, 2003, Sher, 2004, but is also prominent in statically typed functional languages -refer to the book by Felleisen et al (2001).…”
Section: Curriculummentioning
confidence: 99%
“…One such element is recursion. Several papers have discussed the importance-and often, the difficulty-of teaching this "effectively", e.g., [4,2,7]. Since we do not introduce loops in the first part of the course, using recursion quickly becomes natural to our students.…”
Section: Teaching Two Programming Paradigmsmentioning
confidence: 99%
“…They provide examples such as a ringed target or a fractal-based broccoli rendered using their objectdraw graphics package. While structural recursion can be demonstrated with non-graphical examples [5], the graphical examples carry great intuition.…”
Section: Recursionmentioning
confidence: 99%