Date of Award


Level of Access Assigned by Author

Campus-Only Thesis

Degree Name

Master of Science (MS)




Natasha M. Speer

Second Committee Member

Roy M. Turner

Third Committee Member

MacKenzie Stetzer


Recursion is the process of repeating items in a self-similar way. Recursion is a key concept in the Computer Science field and is used in programming. It is a powerful tool for solving programming tasks and has features that sometimes make it a superior choice over other approaches. Students learn recursion during their first programming course and other courses throughout the curriculum. Research has shown that recursion is challenging and findings reveal students’ difficulties in understanding and applying it to solve problems. But very little is known about when students choose to use recursion to solve programming tasks and why they do or do not choose to use it. Investigating students’ thinking about the use of recursion is the focus of this study. Participants included 17 undergraduates and three graduate students. Task-based clinical interviews were the sources of data. Findings indicate that students do not write functions that use recursion to solve programming tasks even though they are actually able to successfully use recursion when asked to do so. The analysis sheds some light on various reasons why students who are capable of using recursion choose not to use it. Implications for teaching, limitations of this study, and future research directions will be discussed.