A code completion problem in java programming learning assistant system

Htoo Htoo Sandi Kyaw, Su Sandy Wint, Nobuo Funabiki, Wen Chung Kao

Research output: Contribution to journalArticlepeer-review

11 Citations (Scopus)


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.

Original languageEnglish
Pages (from-to)350-359
Number of pages10
JournalIAENG International Journal of Computer Science
Issue number3
Publication statusPublished - 2020


  • Blank element selection algorithm
  • Code completion problem
  • Difficulty level
  • Hint function
  • Index terms-java programming

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'A code completion problem in java programming learning assistant system'. Together they form a unique fingerprint.

Cite this