Leipzig Autotool

learning management system with automation for exercises in computer science.

This page here just gives an overview. For more detail, including source code and issue tracker, see https://gitlab.imn.htwk-leipzig.de/autotool/all0/


core functionalities:

  • for each exercise type, autotool contains a function that gets an instance (written by the tutor) and a submission (by the student) and produces an answer (yes/no, with explanation)
  • for a lot of exercise types, autotool contains a function that gets a configuration (written by the tutor) and a pseudo-random seed (e.g., hash code of student identification) and produces an instance (so each student gets a separate instance)


  • autotool has a database and a web front-end for managing semesters, lectures, configurations/instances, students, results, high scores.
  • there is an open-olat plug-in for autotool exercises.

try online examples now (no account required) (this uses the “old” web front-end, not the yesod front-end)

How can you use this at your institution?

  • Run an instance of the (yesod) front-end at your site. You could use the back-end provided by me, or run your own back-end instance.
    (The back-end does not process personally identifiable data.)
  • Use my front-end anonymously, see issue.
  • Use the open-olat plug-in.
  • write an autotool-plugin for your e-learning platform.

Documentation (Papers, Talks, Theses)

  • Automatische Erzeugung und Bewertung von Aufgaben zu Algorithmen und Datenstrukturen (submitted) (draft)

  • How I Teach Functional Programming (submitted) (draft)

  • Automatisierte Bewertung und Erzeugung von Übungsaufgaben zu Prinzipien von Programmiersprachen (18. Kolloquium Programmiersprachen und Grundlagen der Programmierung KPS 2015, Pörtschach, 5. Oktober) (paper)

  • Automated Exercises for Constraint Programming (28th Workshop on (Constraint) Logic Programming (WLP 2014), Wittenberg, September 15-17) (draft)

  • Semantische Bewertung und personalisierte Erzeugung von Übungsaufgaben zu Mathematik, Logik, Informatik (Netzwerktreffen Mathematik/Physik E-Learning, HTWK Leipzig, 3. September) (Folien)

  • Marcellus Siegburg: REST-orientierte Refaktorisierung des E-Learning-Systems Autotool (master’s thesis)

  • Notes on Practical Software Engineering describes tool support for autotool management.

(more here)