The RWTH Aachen University offers a preliminary course in computer science before the start of each winter term. The course provides an introduction to the basics of programming and algorithms within one week. Students from different fields attend this course as a preperation for programming and computer science lectures in their studies. This course is designed for students who have very little or no programming knowledge and it provides an easier start into the topic with much hands-on exercises. The course takes place in the rooms of the university and a team of tutors is there to support the students in their learning path. The hands-on exercises take place twice a day after a short lecture introduced a new programming-related concept. (variables, distinction of cases with if, etc.). Each concept is then trained in practice by solving multiple given tasks. For each solution the students need to do some programming in Java.
The course was designed with great care and further improved over the years, yet we know little how well the students respond to this teaching method. Currently, feedback is received from the attending students as well as the tutors supervising the students. However, this feedback only draws a general picture and does not show whether there are structural differences in the learning behavior of the students (e.g., whether some students do not respond well to specific tasks). Further, the course’s intention is that the students learn in their own pace, but we do not know whether the students do this, It is could be possible that some slower students skip tasks in attempt to be “on the track again”. Another unknown is how well the students solve the individual tasks. The current feedback mechanism might not uncover problematic tasks.
This bachelor or master thesis should improve the feedback mechanism by observing the student’s progress. For most of the tasks it is possible to implement an automatic test that checks whether the task was solved correctly. With such tests working the background, it is possible to monitor the work and the point of time when a task was solved. Both of these aspects can be implemented in the integrated development environment that the students use for the programming. The goal of the thesis is to develop such a progress measurement system.