DIGITAL LIBRARY
WEB-BASED TOOLS FOR INTERACTIVE TRAINING IN IMPLEMENTING JAVA METHODS
Technische Universität Ilmenau (GERMANY)
About this paper:
Appears in: INTED2019 Proceedings
Publication year: 2019
Pages: 3974-3979
ISBN: 978-84-09-08619-1
ISSN: 2340-1079
doi: 10.21125/inted.2019.1002
Conference name: 13th International Technology, Education and Development Conference
Dates: 11-13 March, 2019
Location: Valencia, Spain
Abstract:
Teaching "Algorithms and Programming for Engineers" to students in the 1st semester is quite challenging, because of the wide variety of their previous knowledge, the partially existing aversion to computer science as well as resignation ("I will never understand that!").

Nevertheless, it is very important for the students to acquire at least basic knowledge and pass the exam. In the last years it was possible to increase the pass rate significantly without decreasing the evaluation standards. This was achieved by the engagement of more trainers and tutors as well as the usage of new browser based tools. The use of such tools gives the students the possibility to acquire knowledge about algorithms and programming patterns outside of the lectures. One purpose of those tools is to generate a variety of tasks, matching solution hints and example solutions [1]. They may also give the opportunity to "play" with algorithms within a web browser in a way which is similar to an integrated development environment (like Eclipse, NetBeans or Visual Studio). The handling of the self-developed tools is much easier and adapted to the needs of novice programmers [2]. Finally, the development of those tools is very important for the sustainability of the teaching success at our university because it is already clear that the amount of human teaching resources has to be reduced again.

Based on the positive experiences with the tools and the feedback from the students it became obvious that a combination of the existing approaches would be much more powerful. The combination is realized by generating not only example solutions for given programming tasks but by generating suitable interactive structograms (Nassi-Shneiderman-Diagrams) too which allow students to analyze the behavior of the algorithms using a simulation of the single execution steps. During such simulations the students can see the current values of variables, they have also special views to the contents of arrays and they can even step back in the execution history.

From a didactical point of view example based learning is now much better supported, i.e. students can now select a certain task, have a look at the solution and actively explore the solution. During this self-controlled exploration process the students see automatically generated textual or graphical hints. After the solution exploration and the learning of facts about the used programming language or algorithm the students can try to solve the same or similar tasks by themselves and get automatically generated feedback on the correctness of their solution. This process is repeated by the students several times with minor or major changes of the tasks. This way the Java programming language as well as algorithmic patterns are actively trained and the needed knowledge is provided just in time. This approach is better than supplying needed knowledge during lectures and train the usage of the knowledge later, because without immediate training the knowledge is usually forgotten very fast. Of cause, the presented tools cannot replace lectures but they lessen the work load for teaching personal in hands on training sessions.

References:
[1] U. Döring, S. Fincke, "Interaktive Ansätze zur Vermittlung von Programmierfähigkeiten im Rahmen des Ingenieurstudiums", IPW2017, Ilmenau, Germany, May 2017.
[2] U. Döring, B. Artelt, "On the Usefulness of Animated Structograms in Teaching Algorithms and Programming", IMCL2018, Hamilton, Canada, October 2018.
Keywords:
HTML5, automatic task and hint generation, automatic solution evaluation, Nassi–Shneiderman diagrams, self-controlled learning, example based learning.