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

12 Citations (Scopus)

Abstract

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
Volume44
Issue number2
Publication statusPublished - 2017

Keywords

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

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint Dive into the research topics of 'A graph-based blank element selection algorithm for fill-in-blank problems in Java programming learning assistant system'. Together they form a unique fingerprint.

  • Cite this