Nowadays, Java has been extensively adopted in practical IT systems as a reliable and portable object-oriented programming language. To encourage self-studies of Java programming, we have developed a Web-based Java Programming Learning Assistant system (JPLAS). JPLAS provides several types of exercises to cover different levels. However, any type does not question grammar concepts of a source code directly, although it can be the first step for novice students. In this paper, we propose a Grammar-Concept Understanding Problem (GUP) as a new type in JPLAS. A GUP instance consists of a source code and a set of questions on grammar concepts or behaviors of the code. Each answer can be a number, a word, or a short sentence, whose correctness is marked through string matching with the correct one. We present the algorithm to automatically generate a GUP instance from a given source code by: 1) extracting the registered keywords in the code, 2) selecting the registered question corresponding to each keyword, and 3) detecting the data required in the correct answer from the code. As for evaluations, we first generate 20 GUP instances with a total of 99 questions from simple codes on fundamental Java grammar, and assign them to 100 university students in Indonesia. On the other hand, we additionally generate 8 instances with a total of 30 questions, and assign all the instances to 29 undergraduates in Myanmar as the comparative study. The results show that the proposal is effective to improve the performance of the students who are novices in Java programming.
- Automatic generation algorithm
- Grammar-concept understanding problem
ASJC Scopus subject areas
- Information Systems
- Computer Science Applications
- Computer Networks and Communications
- Artificial Intelligence