A Study of Exercise Problems in Java Programming Learning Assistant System

Khin Khin Zaw · Institutional Repositories DataBase (IRDB) · 2018

As a reliable and portable object-oriented programming language, Java has been extensively used in a variety of practical systems.A large number of universities and professional schools are offering Java programming courses to meet these needs.To assist Java programming educations in schools, we have developed the Web-based Java Programming Learning Assistant System (JPLAS).JPLAS mainly provides two types of exercise problems, called the element fill-in-blank problem, and the code writing problem, to support self-studies by students at various learning levels.The element fill-in-blank problem intends for a novice student to learn the Java grammar and basic programming through code reading.To generate the feasible problem, we also proposed the graph-based blank element selection algorithm that selects the blank elements that satisfy the unique correct answers.The code writing problem intends for a student to learn the Java source code writing from scratch, after completing the grammar study.In this problem, we adopted the test-driven development (TDD) method using JUnit to verify its correctness of the answer code from the student.It tests the behaviors of the code via the test code.However, through applications to students, we have observed that several drawbacks exist in the current exercise problems in JPLAS.First, in the element fill-in-blank problem, generally, students can solve the problems mechanically without reading carefully and understanding the code behaviors correctly, if they know the Java grammar, because of the limited choices for each blank.Thus, the difficulty of the problem should be controlled by changing the number and importance of blank elements.Then, in the code writing problem, on the other hand, a lot of students cannot solve harder problems that require multiple classes and methods.More detailed code specifications should be provided to help the students to design the proper classes and methods for the code.In this thesis, we present the five contributions on advancements of exercise problems in JPLAS.In the first contribution, we present the extensions of the blank element selection algorithm to change the number of blank elements to control the difficulty level of the generated problem, and to additionally blank key elements such as conditional expressions.We verify the effectiveness of these extensions through applications to various Java codes and evaluations of how they affect the solution performances of the students.The results show that these extensions can control the number of blank elements and the problem difficulty, where the solution performance is greatly affected by them.In the second contribution, we propose the core element fill-in-blank problem to enhance the code reading studies by novice students.In this problem, to control the importance of blank elements in terms of algorithm/logic implementations, we adopt the program dependence graph (PDG) in the blank element selection algorithm.We verify the effectiveness of this problem through applications of the problems using the codes for the graph theory or i It is my great pleasure to thank those who made this dissertation possible.I want to say so much, but I can hardly find the words.So, I'll just say that you are the greatest blessing in my life.I owe my deepest gratitude to my supervisor,

Read the paper · More papers on PaperTik