A Proposal of Statement Fill-in-blank Problem Using Program Dependence Graph in Java Programming Learning Assistant System
Nobuo Funabiki, Nobuya Ishihara, Wen-Chung Kao · Information Engineering Express · 2015
To assist Java educations, we have developed a Web-based Java Programming Learning Assistant System (JPLAS), that provides the element fill-in-blank problem and the code writing problem.The former problem is designed for novice students to study the grammar and coding style of Java by filling in correct words to the blanks in a given Java code which are marked automatically through checking for coincidences of correct ones.The latter problem is for students to study writing Java codes for given specifications described in natural language that are automatically verified using the test-driven development (TDD) method.Unfortunately, rough transition exists due to different difficulties found between the two problems.In this paper, we propose the statement fill-in-blank problem in JPLAS by asking students to fill in the gap and write one whole statement in a code where the correctness is verified by the TDD method.The blank statement is selected by generating the Program Dependence Graph (PDG) of the code and finding the statement that has the largest dependence in PDG.We verify the effectiveness through applications of the Java programming course in our department.