skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: A Debugging Learning Trajectory for Text-Based Programming Learners
Novice programming learners encounter programming errors on a regular basis. Resolving programming errors, which is also known as debugging, is not easy yet important to programming learning. Students with poor debugging ability hardly perform well on programming courses. A debugging learning trajectory which identifies learning goals, learning pathways, and instructional activities will benefit debugging learning activities development. This study aims to develop a debugging learning trajectory for text-based programming learners. This is accomplished through (1) analyzing programming errors in a logic programming learning environment and (2) examining existing literature on debugging analysis.  more » « less
Award ID(s):
1901704
PAR ID:
10315030
Author(s) / Creator(s):
; ;
Date Published:
Journal Name:
Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education
Volume:
2
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Gresalfi, M.; Horn, I. (Ed.)
    The design of most learning environments focuses on supporting students in making, constructing, and putting together projects on and off the screen, with much less attention paid to the many issues—problems, bugs, or traps—that students invariably encounter along the way. In this symposium, we present different theoretical and disciplinary perspectives on understanding how learners engage in debugging applications on and off screen, examine learners’ mindsets about debugging from middle school to college students and teachers, and present pedagogical approaches that promote strategies for debugging problems, even having learners themselves design problems for others. We contend that learning to identify and fix problems—debug, troubleshoot, or get unstuck—in completing projects provides a productive space in which to explore multiple theoretical perspectives that can contribute to our understanding of learning and teaching critical strategies for dealing with challenges in learning activities and environments. 
    more » « less
  2. Debugging is an important skill all programmers must learn, including preliterate children who are learning to code in early childhood settings. Despite the fact that early learning environments increasingly incorporate coding curricula, we know little about debugging knowledge in early childhood. One reason is that the tangible programming environments designed for young children entail a layer of material complexity that we have yet to account for in terms of learning to debug. In our study of young children learning to program, we found that in the midst of solving programming tasks and learning to debug, tangible toys presented bugs of their own. This paper analyzes video of Kindergarteners learning to debug errors in the program and errors in the physical materials. We argue that concurrent physical and programming bugs present opportunities for young children to learn about the broader computational system in which they are learning to code. 
    more » « less
  3. Much attention has focused on designing tools and activities that support learners in designing fully finished and functional applications such as games, robots, or e-textiles to be shared with others. But helping students learn to debug their applications often takes on a surprisingly more instructionist stance by giving them checklists, teaching them strategies or providing them with test programs. The idea of designing bugs for learning—or debugging by design—makes learners again agents of their own learning and, more importantly, of making and solving mistakes. In this paper, we report on our first implementation of “debugging by design” activities in a classroom of 25 high school students over a period of eight hours as part of a longer e-textiles unit. Here students were asked to craft buggy circuits and code for their peers to solve. In this paper we introduce the design of the debugging by design unit and, drawing on observations and interviews with students and the teacher, address the following research questions: (1) What did students gain from designing and solving bugs for others? (2) How did this experience shape students’ completion of the e-textiles unit? In the discussion, we address how debugging by design contributes to students’ learning of debugging skills. 
    more » « less
  4. B. Tangney, J. Bryne (Ed.)
    Much attention has focused on designing tools and activities that support learners in designing fully finished and functional applications such as games, robots, or e-textiles to be shared with others. But helping students learn to debug their applications often takes on a surprisingly more instructionist stance by giving them checklists, teaching them strategies or providing them with test programs. The idea of designing bugs for learning—or debugging by design—makes learners again agents of their own learning and, more importantly, of making and solving mistakes. In this paper, we report on our first implementation of “debugging by design” activities in a classroom of 25 high school students over a period of eight hours as part of a longer e-textiles unit. Here students were asked to craft buggy circuits and code for their peers to solve. In this paper we introduce the design of the debugging by design unit and, drawing on observations and interviews with students and the teacher, address the following research questions: (1) What did students gain from designing and solving bugs for others? (2) How did this experience shape students’ completion of the e-textiles unit? In the discussion, we address how debugging by design contributes to students’ learning of debugging skills. 
    more » « less
  5. Much attention has focused on designing tools and activities that support learners in designing fully finished and functional applications such as games, robots, or e-textiles to be shared with others. But helping students learn to debug their applications often takes on a surprisingly more instructionist stance by giving them checklists, teaching them strategies or providing them with test programs. The idea of designing bugs for learning—or debugging by design—makes learners again agents of their own learning and, more importantly, of making and solving mistakes. In this paper, we report on our first implementation of “debugging by design” activities in a classroom of 25 high school students over a period of eight hours as part of a longer e-textiles unit. Here students were asked to craft buggy circuits and code for their peers to solve. In this paper we introduce the design of the debugging by design unit and, drawing on observations and interviews with students and the teacher, address the following research questions: (1) What did students gain from designing and solving bugs for others? (2) How did this experience shape students’ completion of the e-textiles unit? In the discussion, we address how debugging by design contributes to students’ learning of debugging skills. 
    more » « less