A Feedback System Supporting Students Approaching a High-Level Programming Course
Source abstract
Abstract
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.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Testing and Debugging Techniques · Software Reliability and Analysis Research · Software Engineering Research
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Computer Science and Information Engineering, National Taipei University of Technology, Taipei 106344, Taiwan
Institute for Information Industry, Taipei 10622, Taiwan
School of Information and Electronics Beijing, Institute of Technology, Beijing 100081, China
Funding
National Taipei University of Technology- Beijing Institute of Technology Joint Research Program
References (30)
Show source-provided references
1. Chen, I.-L. (2022, June 10). Research and Analysis of International Digital Skills Training Strategies, Available online: https://ws.ndc.gov.tw/001/administrator/10/relfile/0/11615/7d9e04a0-977e-4c0a-9248-3fb953c4572b.pdf.
2. Patil, S., Bhosale, M., and Kamble, R. (2020, January 30–31). Program Recommendation System for Students or Coder through View Histories and Feedback Systems. Proceedings of the 2020 International Conference on Smart Innovations in Design, Environment, Management, Planning, and Computing (ICSIDEMPC), Aurangabad, India.10.1109/ICSIDEMPC49020.2020.9299652 ↗
3. Paiva, J.C., Queirós, R., Leal, J.P., Swacha, J., and Miernik, F. (2022). Managing Gamified Programming Courses with the FGPE Platform. Information, 13.10.3390/info13020045 ↗
4. Jung, E., Lim, R., and Kim, D. (2022). A Schema-Based Instructional Design Model for Self-Paced Learning Environments. Educ. Sci., 12.10.3390/educsci12040271 ↗
5. Baniassad, E., Zamprogno, L., Hall, B., and Holmes, R. (2021, January 13–20). STOP THE (AUTOGRADER) INSANITY: Regression Penalties to Deter Autograder Overreliance. Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE ’21), Virtual Event.10.1145/3408877.3432430 ↗
6. Zamprogno, L., Holmes, R., and Baniassad, E. (2020, January 20). Nudging student learning strategies using formative feedback in automatically graded assessments. Proceedings of the 2020 ACM SIGPLAN Symposium on SPLASH-E (SPLASH-E 2020), Virtual.10.1145/3426431.3428654 ↗
7. Using a Notification, Recommendation and Monitoring System to Improve Interaction in an Automated Assessment Tool: An Analysis of Students’ Perceptions10.1080/10447318.2021.1938400 ↗
8. Malysheva, Y., and Kelleher, C. (2022–5, January 29). Assisting Teaching Assistants with Automatic Code Corrections. Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems (CHI ’22), New Orleans, LA, USA.10.1145/3491102.3501820 ↗
9. Sychev, O. (2022, January 22–24). Write a Line: Tests with Answer Templates and String Completion Hints for Self-Learning in a CS1 Course. Proceedings of the 2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET), Pittsburgh, PA, USA.10.1109/ICSE-SEET55299.2022.9794157 ↗
10. A program data flow analysis procedure10.1145/360018.360025 ↗
11. Control flow analysis10.1145/390013.808479 ↗
12. The program dependence graph and its use in optimization10.1145/24039.24041 ↗
13. A model for spectra-based software diagnosis10.1145/2000791.2000795 ↗
14. Étude comparative de la distribution florale dans une portion des Alpes et des Jura
15. Tang, C.M., Chan, W.K., and Yu, Y.T. (2017, January 4–8). Theoretical, Weak and Strong Accuracy Graphs of Spectrum-based Fault Localization Formulas. Proceedings of the 2017 IEEE 41st Annual Computer Software and Applications Conference, Turin, Italy.10.1109/COMPSAC.2017.239 ↗
16. Spectrum-Based Fault Localization in Model Transformations10.1145/3241744 ↗
17. Die Pflanzenassoziationen der Pieninen
18. The DStar method for effective software fault localization10.1109/TR.2013.2285319 ↗
19. Zoogeographic studies on the soleoid fishes found in Japan and its neighboring regions10.2331/suisan.22.526 ↗
20. Janssen, T., Abreu, R., and van Gemund, A.J. (2009, January 16–20). Zoltar: A toolset for automatic fault localization. Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, Auckland, New Zealand.10.1109/ASE.2009.27 ↗
21. Pearson, S., Campos, J., Just, R., Fraser, G., Abreu, R., Ernst, M.D., Pang, D., and Keller, B. (2017, January 20–28). Evaluating and Improving Fault Localization. Proceedings of the 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), Buenos Aires, Argentina.10.1109/ICSE.2017.62 ↗
22. A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization10.1145/2522920.2522924 ↗
23. Xie, X.Y., Kuo, F.C., Chen, T.Y., Yoo, S., and Harman, M. (2013, January 24–26). Provably optimal and human-competitive results in subset for spectrum based fault localization. Proceedings of the International Symposium on Search Based Software Engineering, SSBSE 2013, St. Petersburg, Russia.10.1007/978-3-642-39742-4_17 ↗
24. Programmers use slices when debugging10.1145/358557.358577 ↗
25. Program slicing10.1109/TSE.1984.5010248 ↗
26. Negi, G., Elias, E., Kohli, R., and Bibhu, V. (2016, January 3–5). Reliability analysis of test cases for program slicing. Proceedings of the 2016 International Conference on Innovation and Challenges in Cyber Security (ICICCS-INBUSH), Greater Noida, India.10.1109/ICICCS.2016.7542336 ↗
27. Horgan, Dynamic program slicing10.1145/93548.93576 ↗
28. Computer Program Decomposition and Dynamic/Behavioral Modeling
29. Henard, C., Papadakis, M., Harman, M., Jia, Y., and Traon, Y.L. (2016, January 14–22). Comparing White-Box and Black-Box Test Prioritizationd. Proceedings of the 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), Austin, TX, USA.10.1145/2884781.2884791 ↗
30. Borodin, A.V., and Zavyalova, Y.V. (2016, January 7–11). An Ontology-Based Semantic Design of the Survey Questionnaires. Proceedings of the 2016 19th Conference of Open Innovations Association (FRUCT), Jyvaskyla, Finland.10.23919/FRUCT.2016.7892177 ↗