2023 ASEE Annual Conference & Exposition

Preference for debugging strategies and debugging tools and their relationship with course achievement: Preliminary results of a study involving novice programmers.

Presented at Computing and Information Technology Division (CIT) Technical Session 1

More than 50% of the time spent in building solutions is spent debugging software. Despite the importance of debugging in software development, how students debug, and the strategies and reasoning students use for debugging software are still not clear. This work in progress will present preliminary results on students’ preferred debugging strategies and compare them with their learning gains during a programming course. We focus on answering the following questions: a) “Is there a difference between students’ preference for debugging strategies and their course achievements?”; b) “Is there a change in debugging strategies preferences across time for novice programmers?”; c) “Is there a relationship between software debugging tools and the conceptual understanding of debugging strategies?”

This study is conducted during the Fall of 2022 in a 16-week programming fundamentals II course at a large public southwestern university. This semester, 328 students enrolled from a variety of engineering and computer science majors. Our data was gathered from a debugging assignment, which is an open-ended questionnaire. The questionnaire’s open-ended items aim to uncover students’ thought processes when helping others to debug their code and students’ strategies when debugging their own code. A coding book was developed to capture students' utterances and classify them into Metzger’s debugging strategies: a) incremental development, b) program slicing, c) sanity checks, d) error variables for controlling behavior, e) cause elimination methods, f) turning debugging code on and off and g) traceback. A logistic regression model was conducted to identify which of the debugging strategies relate the most to course achievements. The response variable for the logistic regression corresponds to whether the students’ final grades are A or not. After obtaining the model, the goodness of fit tests will be performed, as well as an analysis of the coefficients corresponding to the strategies.

Through our analysis of the open-ended responses, our study sought to identify the debugging strategies that students use in relation to their learning gains. Through the information collected some strategies emerged as more aligned with the student's expertise. Furthermore, this study helps uncover the students’ awareness of the different existing debugging strategies. Future analysis can illuminate the relationships between software debugging tools and students’ understanding of the underlying concepts and processes behind debugging strategies. Study design, data collection, and preliminary data are presented.

Authors
Download paper (819 KB)

Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.