{'fraction_non_alphanumeric': 0.025693035835023664, 'fraction_numerical': 0.0033806626098715348, 'mean_word_length': 5.63677130044843, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Multi-dimensional Framework for Documenting Students’ Heterogeneous Experiences with Programming Bugs

When teachers, researchers, and students describe productively responding to moments of failure in the learning process, what might this mean? Blending prior theoretical and empirical research on the relationship between failure and learning, and empirical results from four data sets that are part of a larger design-based research project, we investigate the heterogeneous processes teachers and students value and pursue following moments in which computer bugs thwart their immediate progress on an activity. These include: (1) resolving moments of failure; (2) avoiding recurring failures; (3) preparing for novel failures; (4) engaging with authority; and (5) calibrating confidence/ efficacy. We investigate these processes taking into account the personal, social, and material context in which students and teachers collaborate when encountering broken computer programs, in addition to teachers ’ planning efforts and the community ’ s reflections on past debugging experiences. We argue that moments of failure are not simply occasions for seeking resolutions. They are points of departure for decisions about how and what to foreground and interleave among a range of valued processes. Overall, this study aims to support research on the heterogeneous processes that shape how students new to a discipline such as computer programming respond to get- ting stuck.