Testing and Debugging Habits of Intermediate Student Programmers

被引:0
作者
Izu, Cruz [1 ]
Weeransinghe, Amali [1 ]
机构
[1] Univ Adelaide, Adelaide, SA, Australia
来源
2024 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE, EDUCON 2024 | 2024年
关键词
Programming; CS2; testing; debugging;
D O I
10.1109/EDUCON60312.2024.10578650
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
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.
引用
收藏
页数:10
相关论文
共 33 条
[1]  
Ahmadzadeh M., 2005, SIGCSE Bulletin, V37, P84, DOI 10.1145/1151954.1067472
[2]   Sometimes It's Just Sloppiness - Studying Students' Programming Errors and Misconceptions [J].
Albrecht, Ella ;
Grabowski, Jens .
SIGCSE 2020: PROCEEDINGS OF THE 51ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2020, :340-345
[3]   An Empirical Study of Debugging Patterns among Novices Programmers [J].
Alqadi, Basma S. ;
Maletic, Jonathan I. .
PROCEEDINGS OF THE 2017 ACM SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'17), 2017, :15-20
[4]   Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks [J].
Ardimento, Pasquale ;
Bernardi, Mario Luca ;
Cimitile, Marta ;
De Ruvo, Giuseppe .
ACM TRANSACTIONS ON COMPUTING EDUCATION, 2020, 20 (01)
[5]   Where Is the Bug and How Is It Fixed? An Experiment with Practitioners [J].
Bohme, Marcel ;
Soremekun, Ezekiel O. ;
Chattopadhyay, Sudipta ;
Ugherughe, Emamurho ;
Zeller, Andreas .
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, :117-128
[6]  
Chmiel R., 2004, SIGCSE Bulletin, V36, P17, DOI 10.1145/1028174.971310
[7]  
Edwards SH, 2008, ITICSE '08: PROCEEDINGS OF THE 13TH ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, P328
[8]  
Elbaum S, 2007, PROC INT CONF SOFTW, P688
[9]   Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers [J].
Fitzgerald, Sue ;
Lewandowski, Gary ;
McCauley, Renee ;
Murphy, Laurie ;
Simon, Beth ;
Thomas, Lynda ;
Zander, Carol .
COMPUTER SCIENCE EDUCATION, 2008, 18 (02) :93-116
[10]   Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories [J].
Izu, Cruz ;
Schulte, Carsten ;
Aggarwal, Ashish ;
Cutts, Quintin ;
Duran, Rodrigo ;
Gutica, Mirela ;
Heinemann, Birte ;
Kraemer, Eileen ;
Lonati, Violetta ;
Mirolo, Claudio ;
Weeda, Renske .
PROCEEDINGS OF THE WORKING GROUP REPORTS ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION (ITICSE-WGR '19), 2019, :27-52