DIGITAL LIBRARY
AN EFFICIENT PERFORMER-BASED MODEL FOR AUTOMATIC FEEDBACK GENERATION FOR TEACHING OBJECT-ORIENTED PROGRAMMING
Ming Chuan University (TAIWAN)
About this paper:
Appears in: EDULEARN22 Proceedings
Publication year: 2022
Pages: 2167-2174
ISBN: 978-84-09-42484-9
ISSN: 2340-1117
doi: 10.21125/edulearn.2022.0563
Conference name: 14th International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2022
Location: Palma, Spain
Abstract:
Object-oriented programming (OOP) is an essential programming skill that has evolved into a programming paradigm, which aims to develop solid and flexible software using object-oriented concepts and principles. As an elementary programming course for information-engineering departments in universities, most students perceive the course among the most difficult ones. In the complicated debugging process of programming, the information about code syntax errors provided by a compiler is not sufficient to help students solve problems of object-oriented program design. On the other hand, teachers cannot help students solve problems immediately due to the large number of students in a classroom. Therefore, there is a great need for computer tools that can help student learn OOP concepts and skills, and research has been conducted on how to provide immediate feedback and assistance to students when solving OOP problems.

Intelligent tutoring systems (ITS) has long attracted the attention of researchers aiming to apply artificial intelligence to educational research and practice. Among the many design features of ITS, we focus on one feature of the tutor model that generates feedback in natural language in an intelligent programming tutor (IPT) that teaches students to program. Feedback includes information conveyed to the learner that is intended to change his or her thinking or behavior to improve learning. Such type of feedback is formative and is an important factor in learning. In this study, we focus on formative feedback of explanations on subject matter, feedback of knowledge about mistakes, and feedback of knowledge about how to proceed, rather than superficial feedback such as grades.

With the advancement of deep learning technology, practical applications in many fields have been developed with great success. Nevertheless, its educational application in helping students learn computer programming is still in its infancy. In our previous study, a Performer-based encoder-decoder deep-learning model has been developed for classifying OOP errors and generating feedback in natural language to help students fix Java codes. Using the codes written by previous students in the course, the model was trained to identify code errors, make appropriate suggestions in the design of object-oriented programs, and identify the locations of the erroneous codes. These capabilities of the model can be used to build intelligent programming tutors (IPT) that support students in learning object-oriented programming.

However, the inference speed of this model is too slow, taking about 6 seconds per word, to be practical for teaching OOP in a learning environment. This is because of the intrinsic word-by-word generation process inherent in the encoder-decoder model. This study addresses this performance issue by proposing an incremental version of the inference algorithm. The model inference time is significantly improved, nearly 80 times faster than the original inference method, making the advanced technology-enhanced tutoring system feasible in educational practice. The educational implications of the model are also discussed.
Keywords:
Intelligent programming tutor, deep learning, Performer, feedback generation, object-oriented programming.