1. Dealing with the challenges of learning recursive programming -- helpful functions and incremental approaches to encourage recursive thinking.
- Author
-
Smith, Dave, Chaudhary, Pankaj, and Ali, Azad
- Subjects
DATA structures ,COMPUTER programming ,PROGRAMMING languages ,PROBLEM solving ,LEARNING strategies ,PYTHON programming language - Abstract
Computer programming courses are known to challenge many students, especially in their first programming courses. Some topics in computer programming are more challenging than others due to the complexity of the logic underlying the concepts. One such topic that is considered challenging is recursive programming or recursion. Recursion as a teaching topic has long been a point of discussion, especially in relation to how it can be taught effectively. This paper delves into the topic of recursive programming and strategies applied to teach it recursively in a four-year institution. It examines the factors that make recursion challenging to learn and some strategies to teach recursion. The strategy pursued here stems from previous studies using data recursion and functional programming, which uses recursion by default. The data structure of 'list' from the LISP programming language, which is apt to data recursion, is implemented in Python and used for solving problems. The effectiveness of the strategy is assessed. Results indicate that the use and understanding of recursive programming can be enhanced by using recursive data structures and having the students use them in more practical applications. This hopefully will encourage other instructors to use the same/similar strategies to teach recursion more effectively. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF