Design Exploration and Considerations When Designing Python Debuggers for Novice Programmers

Fuller, Sabrina, School of Engineering and Applied Science, University of Virginia
Pettit, Raymond, University of Virginia

For students taking their first computer science course there is a steep learning curve in learning computer science concepts. Thus, developing tools to help students develop strong computational thinking habits that will support them as they progress through upper-level computing courses. The topic of metacognition of helping students to not only learn CS concepts but also learn how to think about fundamental computer science concepts, has been shown to be invaluable to students learning how to program. In this paper, I investigated how a debugger design for python would realistically work in the form of a web application. This debugger is intended to use existing frameworks to extract relevant debugger information and represent it in a form that a front-end web app could then use to present the data to the user in an intuitive and understandable format. In doing so, this debugger hopes to develop a novice student’s metacognition skills regarding programming and reduce the working memory load for the student.

BS (Bachelor of Science)
Computing Education, Novice Programmers, CS1
Issued Date: