AutoTeach: incremental hints for programming exercises

Paolo Antonucci · Repository for Publications and Research Data (ETH Zurich) · 2014

In recent years, e-learning platforms and MOOCs (Massive Open Online Courses) have gained great popularity, and the Computer Science area is not excluded from this trend.A challenge for MOOCs is providing effective exercises to the students, and this is even more important in applied disciplines such as programming.A major difficulty of this challenge is ensuring that students do not get stuck in solving the exercises, which eventually leads to giving up.This is one of the most significant drawbacks of MOOCs over more traditional forms of teaching, where teachers can provide direct guidance to students who lack the necessary idea for solving an exercise.We designed AutoTeach, an incremental hint system for programming exercises.Given a complete solution of a programming exercise, AutoTeach can generate several stripped out versions of it, numbered by hint level, which initially only contain the skeleton of the solution's code, and then, for higher hint levels, gradually reveal more parts of the code and/or hints on how to write it.Students who get stuck on an exercise can ask for a hint (one or multiple times) and receive versions of the code where more and more parts of the solution are revealed, until they are able to proceed on their own.This way we ensure that students who happen to lack the necessary idea for solving an exercise can receive the help they need, instead of immediately giving up.I thank the whole group of the Chair of Software Engineering for reviewing my code and providing abundant and extremely useful feedback.I am also grateful to the Eiffel Software developers, in particular Emmanuel Stapf, for the support I received when working on Eiffel Inspector and Eweasel.Many thanks to my friend Alessandra, who was a great listener during the development of the ideas of this thesis, helping me refining them as I presented them to her.She even managed not to look too bored.Finally, special thanks to my father, who was also a great listener, and spent several hours proof-reading my final report instead of sleeping.

Read the paper · More papers on PaperTik