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.


This content will become publicly available on May 25, 2026

Title: “It Must be the Resistor!” A Pilot Study Unveiling Student Debugging Misconceptions and Biases
Debugging incurs significant costs in the semiconductor industry, with some engineers spending 40% or more of their time debugging. Despite the critical importance of this skill, undergraduate students often need help to develop it. In this paper, we administered a circuit debugging test to second and third-year electrical and computer engineering (ECE) students in an introductory microelectronics class. The buggy circuit was a non-inverting amplifier printed circuit board with a misoriented op-amp. The pilot results on 26 students revealed concerns about misconceptions and biases in their debugging methodology. 54% of students focused predominantly on scrutinizing resistors, neglecting a broader exploration of potential issues. Furthermore, 46% limited their search for errors to a single potential problem, and 15% could not accurately measure resistance. Ultimately, 31% successfully identified and corrected the bug, indicating exam expectations were achievable and giving us hope that debugging skills are within reach for our students. However, specialized training may be needed to get them there.  more » « less
Award ID(s):
2321255
PAR ID:
10626188
Author(s) / Creator(s):
;
Publisher / Repository:
IEEE
Date Published:
Journal Name:
IEEE International Symposium on Circuits and Systems proceedings
ISSN:
2158-1525
ISBN:
979-8-3503-5683-0
Page Range / eLocation ID:
1 to 5
Subject(s) / Keyword(s):
microelectronics, debugging, troubleshooting, undergraduate, semiconductor workforce development
Format(s):
Medium: X
Location:
London, United Kingdom
Sponsoring Org:
National Science Foundation
More Like this
  1. Popular platforms for teaching physical computing like the LilyPad Arduino and Adafruit Circuit Playground have simplified programming and wiring, enabling students to quickly engineer physical computing projects. But enabling students to rapidly design and build is a double-edged sword: Students can create functioning prototypes without fully understanding the underlying principles. With limited knowledge and experience, students struggle to locate and fix bugs, or errors, in their projects. Absent appropriate debugging tools, students rely on their instructor for locating errors, or worse, turn toward destructive tactics such as tearing apart and rebuilding their project, hoping the bug fixes itself. Students need tools targeted to their ability that scaffold debugging and help them locate bugs in the mixed hardware/software environment of physical computing. I developed Circuit Check to scaffold the debugging process for students. It enables students to observe real-time sensor data and test hardware components through a novel adaptation of the traditional breakpoint for physical computing. 
    more » « less
  2. Debugging, a recurrent practice while programming, can reveal significant information about student learning. Making electronic textile (e-textile) artifacts entails numerous opportunities for students to debug across circuitry, coding, crafting and designing domains. In this study, 69 high school students worked on a series of four different e-textiles projects over eight weeks as a part of their introductory computer science course. We analyzed debugging challenges and resolutions reported by students in their portfolios and interviews and found not only a wide range of computational concepts but also the development of specific computational practices such as being iterative and incremental in students’ debugging e-textiles projects. In the discussion, we address the need for more studies to recognize other computational practices such as abstraction and modularization, the potential of hybrid contexts for debugging, and the social aspects of debugging. 
    more » « less
  3. Debugging, a recurrent practice while programming, can reveal significant information about student learning. Making electronic textile (e-textile) artifacts entails numerous opportunities for students to debug across circuitry, coding, crafting and designing domains. In this study, 69 high school students worked on a series of four different e-textiles projects over eight weeks as a part of their introductory computer science course. We analyzed debugging challenges and resolutions reported by students in their portfolios and interviews and found not only a wide range of computational concepts but also the development of specific computational practices such as being iterative and incremental in students’ debugging e-textiles projects. In the discussion, we address the need for more studies to recognize other computational practices such as abstraction and modularization, the potential of hybrid contexts for debugging, and the social aspects of debugging. 
    more » « less
  4. Today’s STEM classrooms have expanded the domain of computer science education from a basic two-toned terminal screen to now include helpful Integrated Development Environments(IDE) (BlueJ, Eclipse), block-based programming (MIT Scratch, Greenfoot), and even physical computing with embedded systems (Arduino, LEGO Mindstorm). But no matter which environment a student starts programming in, all students will eventually need help in finding and fixing bugs in their code. While the helpful IDE’s have debugger tools built in (breakpoints for pausing your program, ways to view/modify variable values, and "stepping" through code execution), in many of the other programming environments, students are limited to using print statements to try and "see" what is happening inside their program. Most students who learn to write code for Arduino microcontrollers will start within the Arduino IDE, but the official Arduino IDE does not currently provide any debugging tools. Instead, a student would have to move on to a professional IDE such as Atmel Studio or acquire a hardware debugger in order to add breakpoints or view their program’s variables. But each of these options has a steep learning curve, additional costs, and can require complex configurations. Based on research of student debugging practices[3, 7] and our own classroom observations, we have developed an Arduino software library, called Arduino Debugger, which provides some of these debugging tools (ex. breakpoints) while staying within the official Arduino IDE. This work continues a previous library, (redacted), which focused on features specific to e-textiles development boards. The Arduino Debugger library has been modified to support not only e-textile boards (Lilypad, Adafruit Circuit Playground) but most AVR and ARM based Arduino boards.We are also in the process of testing a set of Debugging Code Templates to see how they might increase student adoption of debugging tools. 
    more » « less
  5. Physical computing projects provide rich opportunities for students to design, construct, and program machines that can sense and interact with the environment. However, students engaging in these activities often struggle to decipher the behavior of hardware components, software, and the interaction between the two. I report on the experiences of middle school students using a software tool, Circuit Check, designed to scaffold the debugging process in physical computing systems. Through think-aloud problem-solving exercises, I found Circuit Check facilitated rich instructor-student discussions. Incorporating these preliminary observations, I discuss design considerations for physical computing tools that support productive struggles and student sense-making 
    more » « less