Abstract—To enhance Java programming educations, we have proposed a Web-based Java Programming Learning Assistant System (JPLAS) that provides a variety of programming assignments to cover different learning levels. As fundamental programming exercises for novice students, JPLAS offers the Code Fill-in-blank Problem (CFP) and the Code Fixing Problem (CXP), to learn Java grammar and basic programming skills through code reading. A CFP instance requires filling in the blank elements in the problem code generated by applying the coding rule check function and the blank element selection algorithm. A CXP instance involves correcting the error elements made by the error injection algorithm. In both problems, all answers from the students will be marked through string matching with the stored correct one. In this paper, we propose the Code Amendment Problem (CAP) as a practical problem for learning the debugging process by combining CFP and CXP in JPLAS. As a mixture of CFP and CXP instances, a CAP instance is generated by randomly selecting either blank or error for each element with a given blank probability BP. For evaluations, we apply 12 CAP instances to 21 students in Japan and Myanmar, where the results show that BP = 50% offers the highest difficulty level, and CAP is harder than CFP and CXP.
Index Terms—Blank element selection algorithm, code amendment problem, coding rule check function, error injection algorithm, Java programming, JPLAS.
H. H. S. Kyaw and N. Funabiki are with Okayama University, Okayama, Japan (e-mail: pxs93q36@s.okayama-u.ac.jp, funabiki@okayama-u.ac.jp). W-C. Kao is with the Department of Electrical Engineering, National Taiwan Normal University, Taipei, Taiwan (e-mail: jungkao@ntnu.edu.tw).
Cite:Htoo Htoo Sandi Kyaw, Nobuo Funabiki, and Wen-Chung Kao, "A Proposal of Code Amendment Problem in Java Programming Learning Assistant System," International Journal of Information and Education Technology vol. 10, no. 10, pp. 751-756, 2020.
Copyright © 2020 by the authors. This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).