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 journalArticle

Abstract

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
Volume47
Issue number3
Publication statusPublished - 2020

Keywords

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

ASJC Scopus subject areas

  • Computer Science(all)

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

  • Cite this