Faculty Scholarly Dissemination Grants
Bug Infestation! A Goal-Plan Analysis of CS2 Students' Recursive Binary Tree Solutions
Department
School of Computing and Information Systems
College
Padnos College of Engineering and Computing
Date Range
2014-2015
Disciplines
Engineering
Abstract
A goal-plan analysis was conducted to examine the variety of plans students use in writing a recursive method for an operation on a binary search tree. Students were asked to write a recursive method to count the nodes in a binary search tree with exactly one child. The problem incorporated two goals: traversing the tree and counting nodes with one child. Three traversal plans and four counting plans were observed in student solutions. Over half of the students used the arms-length recursion plan, which involves testing for the base case before it is actually reached in order to avoid making recursive calls. This strategy creates complex and error prone code. Making students aware of arm's-length recursion may help them avoid introducing bugs into their recursive code. Although nearly all of the 18 participants demonstrated viable plans for solving the problem, their solutions contained a variety of errors: 55 total errors of 15 types. Students had particular difficulty with base cases, misplaced calculations, and missing method calls. Knowledge of these errors can be useful for instructors when developing lecture examples, identifying distractors for peer instruction multiple-choice questions and for designing homework exercises. Instructors can counteract these problems by providing a variety of recursive examples.
Conference Name
SIGCSE: Computer Science Education
Conference Location
Kansas City, MO
ScholarWorks Citation
Grissom, Scott; Fitzgerald, Sue; Murphy, Laurie; and McCauley, Renee, "Bug Infestation! A Goal-Plan Analysis of CS2 Students' Recursive Binary Tree Solutions" (2015). Faculty Scholarly Dissemination Grants. 592.
https://scholarworks.gvsu.edu/fsdg/592