Testing and Debugging Habits of Intermediate Student Programmers

C. Izu,A. Weerasinghe
DOI: https://doi.org/10.1109/EDUCON60312.2024.10578650
2024-05-08
Abstract:Testing and debugging studies at undergraduate level have focused on the needs of novice programmers. Novice struggles have been identified and activities have been developed to expose CS1 students to a range of bug types and debugging techniques. As computer science students gain coding experience and complete further programming courses, they are expected to become competent debuggers with limited or no further instruction. However, not all students advance at the same pace and more work is needed to understand the debugging skills of an average CS2 student. This study is focused on exploring the practices and habits developed by those intermediate students to validate this expectation and identify possible gaps that require more support. To become competent debuggers, students should test and debug their code locally before submission instead of relying on the assignment's testing script to report failed test cases. Thus, we designed an online quiz in order to capture student's testing and debugging habits before and after students submit their code to an automatic grading system. The quiz answers from a second-year elective programming subject indicates that the average student used at least 3 techniques for bug investigation, with 55% of students using diagnostic print statements (DPS), tracing of failed test cases, and reading code. Note that “reading code” to check the steps of computation was the only technique to be statistically significant in relation to course performance.
Computer Science
What problem does this paper attempt to address?