A Feedback System Supporting Students Approaching a High-Level Programming Course
This study analyzes the mistakes students are prone to make in programming and uses the GDB and Valgrind tools to implement dynamic analysis techniques for their eventual application to programs created by students. In the analysis process, spectral error localization technology is used to strengthe...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2022-07-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/12/14/7064 |
_version_ | 1797407591091929088 |
---|---|
author | Jong-Yih Kuo Hui-Chi Lin Ping-Feng Wang Zhen-Gang Nie |
author_facet | Jong-Yih Kuo Hui-Chi Lin Ping-Feng Wang Zhen-Gang Nie |
author_sort | Jong-Yih Kuo |
collection | DOAJ |
description | This study analyzes the mistakes students are prone to make in programming and uses the GDB and Valgrind tools to implement dynamic analysis techniques for their eventual application to programs created by students. In the analysis process, spectral error localization technology is used to strengthen the dynamic analysis to find errors more accurately. The analyzed results are sorted and corresponding feedback is given to students in order for them to better understand the content of errors when revising the program and classifying and counting the types of errors made. This study sorts mistakes frequently made by students and topics in which students are likely to make certain mistakes. The developed system was implemented in experiments including students from a programming course who were divided into two groups, namely the experimental group and the control group. A system for both groups of students to upload and submit assignments and a code analysis and feedback improvement system were used. Students in the control group only used the assignment uploading and submitting system for basic assignment uploading, verification, and the comparison of test data. After the program was entered, declarative sentence disassembly and dynamic slicing were suggested. Data were sent to GNU Debugger (GDB) and Valgrind for spectral error location; the classification and recording of error types; and the interpretation of the number of error lines, error types, and related variables. Feedback and a generated report were sent back to the student interface to provide effective and useful feedback to the students in the experimental group for them to revise their homework and record the types and number of errors they made in that week’s homework in the database. The answers provided by the students to the questions were recorded. The analysis of the pass rates of the students in the experimental and control groups for each homework test aided the understanding of the differences in the learning success of the two groups of students each week. The weekly pass rates and the numbers of measured errors in the experimental group compared with in the control group were input into a distribution map to allow us to better understand whether there was any positive correlation between the detected information, feedback to the students, pass rates of the tests, and other related data. The system statistically obtained feedback and the degree of improvement of homework programs; then, it distributed specially designed questionnaires to all students to directly obtain and quantify their feedback and perceived benefits of this system, thereby verifying the effectiveness of the system and its practicality. |
first_indexed | 2024-03-09T03:44:45Z |
format | Article |
id | doaj.art-b82e9432ec8b4dea825fada138882abb |
institution | Directory Open Access Journal |
issn | 2076-3417 |
language | English |
last_indexed | 2024-03-09T03:44:45Z |
publishDate | 2022-07-01 |
publisher | MDPI AG |
record_format | Article |
series | Applied Sciences |
spelling | doaj.art-b82e9432ec8b4dea825fada138882abb2023-12-03T14:36:09ZengMDPI AGApplied Sciences2076-34172022-07-011214706410.3390/app12147064A Feedback System Supporting Students Approaching a High-Level Programming CourseJong-Yih Kuo0Hui-Chi Lin1Ping-Feng Wang2Zhen-Gang Nie3Department of Computer Science and Information Engineering, National Taipei University of Technology, Taipei 106344, TaiwanDepartment of Computer Science and Information Engineering, National Taipei University of Technology, Taipei 106344, TaiwanInstitute for Information Industry, Taipei 10622, TaiwanSchool of Information and Electronics Beijing, Institute of Technology, Beijing 100081, ChinaThis study analyzes the mistakes students are prone to make in programming and uses the GDB and Valgrind tools to implement dynamic analysis techniques for their eventual application to programs created by students. In the analysis process, spectral error localization technology is used to strengthen the dynamic analysis to find errors more accurately. The analyzed results are sorted and corresponding feedback is given to students in order for them to better understand the content of errors when revising the program and classifying and counting the types of errors made. This study sorts mistakes frequently made by students and topics in which students are likely to make certain mistakes. The developed system was implemented in experiments including students from a programming course who were divided into two groups, namely the experimental group and the control group. A system for both groups of students to upload and submit assignments and a code analysis and feedback improvement system were used. Students in the control group only used the assignment uploading and submitting system for basic assignment uploading, verification, and the comparison of test data. After the program was entered, declarative sentence disassembly and dynamic slicing were suggested. Data were sent to GNU Debugger (GDB) and Valgrind for spectral error location; the classification and recording of error types; and the interpretation of the number of error lines, error types, and related variables. Feedback and a generated report were sent back to the student interface to provide effective and useful feedback to the students in the experimental group for them to revise their homework and record the types and number of errors they made in that week’s homework in the database. The answers provided by the students to the questions were recorded. The analysis of the pass rates of the students in the experimental and control groups for each homework test aided the understanding of the differences in the learning success of the two groups of students each week. The weekly pass rates and the numbers of measured errors in the experimental group compared with in the control group were input into a distribution map to allow us to better understand whether there was any positive correlation between the detected information, feedback to the students, pass rates of the tests, and other related data. The system statistically obtained feedback and the degree of improvement of homework programs; then, it distributed specially designed questionnaires to all students to directly obtain and quantify their feedback and perceived benefits of this system, thereby verifying the effectiveness of the system and its practicality.https://www.mdpi.com/2076-3417/12/14/7064program analysisautomated debuggingfault localizationdynamic slicingdebugquestionnaire |
spellingShingle | Jong-Yih Kuo Hui-Chi Lin Ping-Feng Wang Zhen-Gang Nie A Feedback System Supporting Students Approaching a High-Level Programming Course Applied Sciences program analysis automated debugging fault localization dynamic slicing debug questionnaire |
title | A Feedback System Supporting Students Approaching a High-Level Programming Course |
title_full | A Feedback System Supporting Students Approaching a High-Level Programming Course |
title_fullStr | A Feedback System Supporting Students Approaching a High-Level Programming Course |
title_full_unstemmed | A Feedback System Supporting Students Approaching a High-Level Programming Course |
title_short | A Feedback System Supporting Students Approaching a High-Level Programming Course |
title_sort | feedback system supporting students approaching a high level programming course |
topic | program analysis automated debugging fault localization dynamic slicing debug questionnaire |
url | https://www.mdpi.com/2076-3417/12/14/7064 |
work_keys_str_mv | AT jongyihkuo afeedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT huichilin afeedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT pingfengwang afeedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT zhengangnie afeedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT jongyihkuo feedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT huichilin feedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT pingfengwang feedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse AT zhengangnie feedbacksystemsupportingstudentsapproachingahighlevelprogrammingcourse |