Animating recursion as an aid to instruction
Computers & Education
Integrating algorithm animation into a learning environment
Computers & Education
Introducing computer science using a breadth-first approach and functional programming
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Programming in Java: student-constructed rules
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
EROSI—visualising recursion and discovering new errors
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Recursion in gradual steps (is recursion really that difficult?)
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Problems in comprehending recursion and suggested solutions
Proceedings of the 6th annual conference on Innovation and technology in computer science education
The case of base cases: why are they so difficult to recognize? student difficulties with recursion
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Working group reports from ITiCSE on Innovation and technology in computer science education
Using counter-examples in the data structures course
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
High-School Students' Attitudes Regarding Procedural Abstraction
Education and Information Technologies
Do senior CS students capitalize on recursion?
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Tail recursive programming by applying generalization
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Is iteration really easier to learn than recursion for CS1 students?
Proceedings of the ninth annual international conference on International computing education research
Using cargo-bot to provide contextualized learning of recursion
Proceedings of the ninth annual international ACM conference on International computing education research
Hi-index | 0.00 |
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 iterative pattern of "forward accumulation", due to their confidence with the iteration construct, but lack of trust of the recursion mechanism. These results motivated us to get more insight into the nature of recursion difficulties and ways to overcome them.In this paper we describe the difficulties we observed, and present a declarative, abstract, approach that contributed to overcome them. We question the emphasis that should be put on the basic computing model when presenting recursion, and argue for emphasis on the declarative approach for teaching recursion formulation in a procedural programming environment.