skip to main content


Title: MAADS: Mixed-Methods Approach for the Analysis of Debugging Sequences of Beginner Programmers
Debugging is a cornerstone of programming and has been shown to be especially problematic for beginners. While there has been some work trying to understand the difficulties that beginners face with debugging, investigating common mistakes or specific error types they struggle with, there is little work that focuses on in-depth analysis of how novice programmers approach debugging, and how it changes over time. In this paper, we present MAADS (MixedMethods Approach for the Analysis of Debugging Sequences), a scalable and generalizable approach that combines quantitative and qualitative methods by using a state/action representation and visualization to gain knowledge about the debugging process through a step by step analysis. To demonstrate the utility of MAADS, we analyzed the debugging processes of middle school students who developed code within May’s Journey, a game designed to teach basic programming principles. The approach showed great utility in identifying differences in students’ debugging techniques and learning paths.  more » « less
Award ID(s):
1810972
PAR ID:
10163355
Author(s) / Creator(s):
Date Published:
Journal Name:
SIGCSE bulletin
Volume:
51
ISSN:
2331-3927
Page Range / eLocation ID:
86-92
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Gresalfi, M. and (Ed.)
    Debugging has been identified as a significant practice of programming in particular, and computational thinking more broadly. However, there is still much to learn about how debugging is learned, how it is connected to particular activities, and what seems to influence students’ strategy use and ultimate solution paths. This paper considers students’ activity on their first formal debugging task using a platform called NetLogo. Our analysis focuses on the ways that students appeared to frame the task, and how that framing influenced their overall approach to the task. Our findings suggest that it is compelling for new coders to approach debugging first by focusing on single elements of code without thinking broadly about their interactions. Implications for design and future studies are discussed. 
    more » « less
  2. One way to teach programming problem solving is to teach explicit, step-by-step strategies. While prior work has shown these to be effective in controlled settings, there has been little work investigating their efficacy in classrooms. We conducted a 5-week case study with 17 students aged 15-18, investigating students' sentiments toward two strategies for debugging and code reuse, students' use of scaffolding to execute these strategies, and associations between students' strategy use and their success at independently writing programs in class. We found that while students reported the strategies to be valuable, many had trouble regulating their choice of strategies, defaulting to ineffective trial and error, even when they knew systematic strategies would be more effective. Students that embraced the debugging strategy completed more features in a game development project, but this association was mediated by other factors, such as reliance on help, strategy self-efficacy, and mastery of the programming language used in the class. These results suggest that teaching of strategies may require more explicit instruction on strategy selection and self-regulation. 
    more » « less
  3. Hmelo-Silver, C. E. (Ed.)
    This paper develops a systematic approach to identifying and analyzing high school students’ debugging strategies when they work together to construct computational models of scientific processes in a block-based programming environment. We combine Markov models derived from students’ activity logs with epistemic network analysis of their collaborative discourse to interpret and analyze their model building and debugging processes. We present a contrasting case study that illustrates the differences in debugging strategies between two groups of students and its impact on their model-building effectiveness. 
    more » « less
  4. Hmelo-Silver, C. E. (Ed.)
    This paper develops a systematic approach to identifying and analyzing high school students’ debugging strategies when they work together to construct computational models of scientific processes in a block-based programming environment. We combine Markov models derived from students’ activity logs with epistemic network analysis of their collaborative discourse to interpret and analyze their model building and debugging processes. We present a contrasting case study that illustrates the differences in debugging strategies between two groups of students and its impact on their model-building effectiveness. 
    more » « less
  5. Debugging is a challenging task for novice programmers in computer science courses and calls for specific investigation and support. Although the debugging process has been explored with qualitative methods and log data analyses, the detailed code changes that describe the evolution of debugging behaviors as students gain more experience remain relatively unexplored. In this study, we elicited “constituents” of the debugging process based on experts’ interpretation of students’ debugging behaviors in an introductory computer science (CS1) course. Epistemic Network Analysis (ENA) was used to study episodes where students fixed syntax/checkstyle errors or test errors. We compared epistemic networks between students with different prior programming experience and investigated how the networks evolved as students gained more experience throughout the semester. The ENA revealed that novices and experienced students put different emphasis on fixing checkstyle or syntax errors and highlighted interesting constituent co-occurrences that we investigated through further descriptive and statistical analyses. 
    more » « less