Abstract :
To assist Java programming educations, we have developed a Web-based Java Programming Learning Assistant System (JPLAS). JPLAS provides the fill-in-blank problem to help novice students studying Java programming at home, where some elements in a high-quality code including reserved words, identifiers, and control symbols are blanked to be filled by students. Unfortunately, this problem may be solved without reading out the algorithm in the code if students are familiar with Java grammar to some extent. In this paper, to further cultivate the code reading capability of students, we propose a concept of the value trace problem to ask the actual values of important variables in a code implementing some fundamental data structure or algorithm. A value trace problem can be generated by: 1) selecting a high-quality class code for the algorithm to be studied, 2) making the main class to instantiate the class in 1) if it does not contain the main method, 3) adding the functions to output variable values in questions into a text file, 4) preparing the input file to the code in 3) if necessary, 5)running this code to obtain the set of variable values in the text file, 6) blanking some values from the text file to be filled by students, and 7) uploading the final code, the blanked text file, and the correct answer file into the JPLAS server, and adding the brief description on the algorithm for a new assignment. To verify the feasibility of this concept, we manually generated five problems and asked four students with high Java programming skills in our group to solve them. Then, we analyzed the difficulty of the value trace problem for Quick Sort.
Keywords :
"Java","Programming profession","Servers","Education","Grammar"