A graph-based blank element selection algorithm for fill-in-blank problems in Java programming learning assistant system

Nobuo Funabiki, Tana, Khin Khin Zaw, Nobuya Ishihara, Wen Chung Kao

Research output: Contribution to journalArticle

6 Citations (Scopus)


As a reliable and portable object-oriented programming language, Java has been extensively used in industries and taught in schools. To assist Java programming educations, we have developed a Web-based Java Programming Learning Assistant System (JPLAS). JPLAS provides a fill-inblank problem for novice students who have started learning Java programming including grammar and basic programming through code reading. In this problem, students are asked to fill in the blank elements in a high-quality Java code. In this paper, we propose a graph-based blank element selection algorithm to select as many blanks as possible that have grammatically correct and unique answers from a given code. First, the algorithm generates a graph by selecting each candidate element in the code as a vertex, and connecting any pair of vertices by an edge if they can be blanked together. Then, it extracts a maximal clique of the graph for a solution. For evaluations, the correctness of the algorithm is verified manually by applying it to 100 Java codes. Eventually, the educational effects in Java programming learning are confirmed by assigning generated fill-in-blank problems to students in our Java programming course.

Original languageEnglish
Pages (from-to)247-260
Number of pages14
JournalIAENG International Journal of Computer Science
Issue number2
Publication statusPublished - 2017



  • Algorithm
  • Blank element selection
  • Clique
  • Fill-inblank problem
  • Graph
  • Java programming education

ASJC Scopus subject areas

  • Computer Science(all)

Cite this