A Code Completion Problem in C Programming Learning Assistant System (original) (raw)
2021 9th International Conference on Information and Education Technology (ICIET)
As an efficient object-oriented programming language, Java has been extensively used in a variety of applications around the world. To assist Java programming educations, we have developed a Java Programming Learning Assistant System (JPLAS), which provides a great number of programming assignments to cover different levels of learning. For the first learning stage, JPLAS offers the element fill-in-blank problem (EFP) to study Java grammar through code reading. EFP asks students to fill in the blank elements in a given source code. However, EFP can be solved relatively easily, because the choice of the correct answer is limited for each explicit blank. In this paper, we propose a code completion problem (CCP) to overcome this drawback in EFP. To be specific, CCP does not explicitly show the locations of missing elements in the code. Instead, CCP will ask students to complete every statement in the code by filling in the correct elements at the correct locations. When the whole statement becomes equal to the original one, it is regarded as the correct answer. For evaluations, we generated CCP instances in both online/offline JPLAS, and asked university students from Myanmar, Japan, China, Indonesia, and Kenya to solve them. The results confirmed that CCP is harder than EFP, the two-level marking and the hint function are effective in improving solution performances of students, and the difficulty level for EFP is applicable in CCP.