Analyzing the high frequency bugs in novice programs
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Animating recursion as an aid to instruction
Computers & Education
Integrating algorithm animation into a learning environment
Computers & Education
Conceptual models and cognitive learning styles in teaching recursion
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Teaching recursion in a procedural environment—how much should we emphasize the computing model?
SIGCSE '99 The proceedings of the thirtieth 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
What do novice programmers know about recursion
CHI '83 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Teaching and viewing recursion as delegation
Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
Introducing recursion by parking cars
ACM SIGCSE Bulletin
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
Hi-index | 0.00 |
Recursion is a central concept in computer science, yet it is a very difficult concept for beginners to learn. In this paper we focus on a specific aspect of comprehending recursion - the conception of the base case as an integral component of a recursive algorithm. We found that students have difficulties in identifying base cases: they handle redundant base cases; ignore boundary values and degenerated cases; avoid out-of-range values; and may even not define any base cases when formulating recursive algorithms. We also found that students have difficulties in evaluating recursive algorithms that deal with imperceptible base cases. We suggest that teachers should make a special effort to discuss different aspects of the base case concept. Emphasis should be put on both declarative and procedural aspects of categorizing and handling base cases as part of recursion formulation.