1999
DOI: 10.1145/384266.299718
|View full text |Cite
|
Sign up to set email alerts
|

Teaching recursion in a procedural environment—how much should we emphasize the computing model?

Abstract: Recursion is a powerful and essential computational problem solving tool, but the concept of recursion is difficult to comprehend. Students that master the conventional programming construct of iteration in procedural programming environments, find it hard to utilize recursion.This study started as a test of CS College students' utilization of recursion. It was conducted after they have completed CS1, where they studied recursion with the C programming language. The test revealed that students adhere to the it… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2000
2000
2014
2014

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 16 publications
(10 citation statements)
references
References 4 publications
0
10
0
Order By: Relevance
“…These works suggest adjustments to instruction, which address the embedding of recursion in larger problems. Ginat and Shifroni (1999) demonstrate that instruction in recursion emphasizing the declarative abstract level, as opposed to the concrete level, significantly improves a recursive solution formulation ability. In this case, the abstract level refers to concepts such as divide and conquer, whereas the concrete level refers to code tracing and understanding of the stack and execution.…”
Section: Prior Researchmentioning
confidence: 90%
“…These works suggest adjustments to instruction, which address the embedding of recursion in larger problems. Ginat and Shifroni (1999) demonstrate that instruction in recursion emphasizing the declarative abstract level, as opposed to the concrete level, significantly improves a recursive solution formulation ability. In this case, the abstract level refers to concepts such as divide and conquer, whereas the concrete level refers to code tracing and understanding of the stack and execution.…”
Section: Prior Researchmentioning
confidence: 90%
“…By giving a broad introduction to Computer Science, we ensure that our majors are at least introduced to important Computer Science concepts, such as language translation, hardware design, history of computing, alternative programming paradigms, etc, which are covered only in upper level electives. Furthermore, our students, like those at many schools, were learning recursion late in their second semester then promptly forgetting this valuable problem-solving approach, in part due to the recognized difficulty of introducing it in a procedural language [2]. Additionally, the functional programming paradigm was only seen by students if they took a programming language or Artificial Intelligence course, whereas the procedural and objectoriented paradigms were, and still are, covered very thoroughly later in the curriculum.…”
Section: The Breadth-first Nature Of the Coursementioning
confidence: 97%
“…Ginat and Shifroni [10] found that "teaching recursion with an emphasis on the declarative, abstract, level of recursion considerably improves the student's ability". Similar to the work of Sooriamurthi [22], they claimed that focusing on what the recursive function should accomplish, rather than how it goes about doing it, is the "key" to comprehending recursion.…”
Section: Other Instructional Approachesmentioning
confidence: 99%
“…These approaches include conceptual and abstract discussions of recursion and its control flow [7,10,19,21,22,28]; comparisons to other topics and disciplines [8,14,20,25]; and the use of visual aids and hands-on activities [3,9,12,13,23,26]. Gunion et al [12] claim that we need further "efforts to find useful and effective instructional approaches".…”
Section: Introductionmentioning
confidence: 99%