FIRST EXPERIENCES IN THE GENERATION OF REASONABLE FEEDBACK FOR JAVA BEGINNERS
TU Ilmenau (GERMANY)
About this paper:
Conference name: 14th International Technology, Education and Development Conference
Dates: 2-4 March, 2020
Location: Valencia, Spain
Abstract:
For most people learning to program is a very difficult task. Without appropriate support beginners often feel frustrated and helpless if their program doesn't work.
At TU Ilmenau engineering students have to learn Java in their first semester. Since several years the students use the Eclipse IDE (Integrated Development Environment) for practicing Java. This IDE is one of the most used open source applications for programming with Java. Unfortunately it is designed for experts, thus most error messages can't be understood by the students which frustrates them and leads soon to less practicing activities outside the classroom. Also, in the classroom, the “necessary tutors per students” ratio could be improved if the students would get better automatically generated error descriptions which fit their current knowledge and/or provide helpful links into the used teaching material.
Therefore, an automatic analysis of Java source code written by beginners with the aim of providing really helpful hints was identified as a very important technology for the course “Algorithms and Programming for Engineers”. From a pessimistic point of view the possible number of errors beginners could make is infinite, but fortunately the beginners are making mostly the same mistakes when starting to learn to program – even if the teachers warn about the most common mistakes, the mistakes usually will be done anyway.
To tackle the problem, research about common beginner programming mistakes in Java was made and a database with name, type, description and sample code of the single mistakes was created. Based on this, a prototype of a framework was developed, which is able to find different kinds of mistakes in beginner Java source code. Currently, the framework can verify the correct usage of many parts of the Java language which are relevant for our course and, much more important, it can also find about half of the errors described in the database. When the framework has detected a mistake it generates a feedback message. Those feedback messages are currently available in German and English language. Usually they are parametrized and provide helpful information which has been extracted during the mistake detection process.
The feedback templates are defined in an XML file. Thus, they can be changed easily without recompiling the software. This way it is possible to experiment with different styles of feedback or to allow teachers to adjust the feedback according to their needs.
Currently, first usage tests of the software during tutorials are prepared. For this, the tool is integrated into a web front end which shall in the future replace the Eclipse IDE at least in the first tutorials and seminars.
The full paper is about the error database, the framework itself as well as the first usage experiences concerning understandability as well as adaptability of the feedback. Implementation details will be discussed in another paper.Keywords:
Algorithms and programming for engineers, Java, typical beginner errors, error database, source code analysis, adjustable feedback generation.