ViDA: A virtual debugging advisor for supporting learning in computer programming courses

被引:20
作者
Lee, V. C. S. [1 ]
Yu, Y. T. [1 ]
Tang, C. M. [2 ]
Wong, T. L. [3 ]
Poon, C. K. [4 ]
机构
[1] City Univ Hong Kong, Dept Comp Sci, Hong Kong, Hong Kong, Peoples R China
[2] City Univ Hong Kong, Dept Informat Syst, Hong Kong, Hong Kong, Peoples R China
[3] Douglas Coll, Dept Comp Studies & Informat Syst, New Westminster, BC, Canada
[4] Caritas Inst Higher Educ, Sch Comp & Informat Sci, Hong Kong, Hong Kong, Peoples R China
关键词
computer science education; debugging; novice programmers; PERSONALIZED SYSTEM; AUTOMATED-SYSTEM; EXPERIENCES; INSTRUCTION; DESIGN;
D O I
10.1111/jcal.12238
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
Many students need assistance in debugging to achieve progress when they learn to write computer programs. Face-to-face interactions with individual students to give feedback on their programs, although definitely effective in facilitating their learning, are becoming difficult to achieve with ever-growing class sizes. This paper proposes a novel approach to providing practical automated debugging advice to support students' learning, based on the strong relationship observed between common wrong outputs and the corresponding common bugs in students' programs. To implement the approach, we designed a generic system architecture and process, and developed a tool called Virtual Debugging Advisor (ViDA) that was put into use in classes in a university. To evaluate the effectiveness of ViDA, a controlled experiment and a survey were conducted with first year engineering students in an introductory computer programming course. Results are encouraging, showing that (a) a higher proportion of students could correct their faulty code themselves with ViDA enabled, (b) an overwhelming majority of respondents found ViDA helpful for their learning of programming, and (c) most respondents would like to keep ViDA enabled when they practice writing programs.
引用
收藏
页码:243 / 258
页数:16
相关论文
共 44 条
[1]  
Ahmadzadeh M., 2005, SIGCSE Bulletin, V37, P84, DOI 10.1145/1151954.1067472
[2]   A Survey of Automated Assessment Approaches for Programming Assignments [J].
Ala-Mutka, Kirsti M. .
COMPUTER SCIENCE EDUCATION, 2005, 15 (02) :83-102
[3]   Dereferee: instrumenting C plus plus pointers with meaningful runtime diagnostics [J].
Allevato, Anthony ;
Edwards, Stephen H. .
SOFTWARE-PRACTICE & EXPERIENCE, 2014, 44 (08) :973-997
[4]  
Atkinson R.C., 1977, PSYCHOL LEARNING MOT, P7, DOI [10.1016/B978-0-12-121050-2.50006-5, DOI 10.1016/S0079-7421(08)60422-3, 10.1016/S0079-7421(08)60422-3]
[5]   Working memory [J].
Baddeley, Alan .
CURRENT BIOLOGY, 2010, 20 (04) :R136-R140
[6]  
Choy M, 2005, LECT NOTES COMPUT SC, V3583, P267
[7]  
Choy M, 2008, LECT NOTES COMPUT SC, V4823, P584, DOI 10.1007/978-3-540-78139-4_51
[8]   Integrated program verification tools in education [J].
de Caso, Guido ;
Garbervetsky, Diego ;
Gorin, Daniel .
SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (04) :403-418
[9]  
Douce Christopher, 2005, Journal on Educational Resources in Computing (JERIC), V5, DOI [10.1145/1163405.1163409, DOI 10.1145/1163405.1163409]
[10]   The teaching and learning of programming:: A survey of supporting software tools [J].
Gómez-Albarrán, M .
COMPUTER JOURNAL, 2005, 48 (02) :130-144