• JACK
  • JACK

JACK - A System for Computer-Aided Assessments and Exercises

JACK is a server-based system for the management of computer-aided assessments and exercises, and for automated grading and feedback generation. The current version 2.3 is based on a flexible architecture that is capable of handling different kinds of exercises, checking mechanisms and presentation frontends. At the moment, JACK is used for checking Java exercises by means of static and dynamic tests and for visualizing data structures from exercise solutions. Generic capabilities for multiple choice and fill in exercises can be used for math exercises, including the automated generation of exercises with random values and connections to computer algebra systems. Extensions for other programming languages, design artifacts like UML diagrams or other general assessment techniques are planned for future versions.

Latest news about JACK

Screenshots

Auto-generated feedback for a programming exercise in the student's view.
Detailed result statistics for an exercise in the teacher's view.
Visualization of a data structure as created by JACK.
Multi-step exercise with auto-generated values and single-choice answers.
Logical exercises with multiple fill-in fields.
Multi-step exercise with auto-generated values and fill-in fields.

Features

General Features

  • Teacher's interface for managing exercises, setting up examinations and reviewing results.
  • Free student's access by matriculation number for self-training exercises and result review.
  • Personalized student's access via generated TANs for examinations with designated tasks for each student.
  • Statistics for submitted solutions, participating students and different results.

Programming Exercises

  • Extensive automated checks for each submitted solution with configurable textual feedback for each detected flaw.
  • Flexible Java exercises with custom code templates, custom code snipplets that may not be changed and requests for source files that are not provided as template.
  • Eclipse-plugin for easy access to Java exercises and easy setup of computer pools and system environments for examinations.
  • Configurable visualizations of object structures and textual representation of full program traces.

Math Exercises

  • Exercises with variable content that is generated each time a student attends the exercise.
  • LaTeX rendering of math formulas and dynamic generation of graphs in the web interface.
  • Exercises with several steps including branches and repeated steps.
  • Communication with computer algebra systems via phrasebooks.

Some publications in the context of JACK, E-Assessment and Intelligent Tutoring

  • Benjamin Otto, Till Massing, Nils Schwinning, Natalie Reckmann, Alexander Blasberg, Sandy Schumann, Christoph Hanck and Michael Goedicke: Evaluation einer Statistiklehrveranstaltung mit dem JACK R-Modul. In: DeLFI 2017 – Die 15. e-Learning Fachtagung Informatik der Gesellschaft für Informatik, Volume 273 of Lecture Notes in Informatics, 2017, 75-86.
  • Michael Goedicke and Michael Striewe: 10 Jahre automatische Bewertung von Programmieraufgaben mit JACK – Rückblick und Ausblick. In: 7,5. HDI-Workshop des GI-Fachbereichs Informatik und Ausbildung / Didaktik der Informatik, 2017.
  • Benjamin Otto and Michael Goedicke: Auf dem Weg zu variablen Programmieraufgaben: Requirements Engineering anhand didaktischer Aspekte. In: Proceedings of the Third Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2017), 2017.
  • Michael Striewe: An architecture for modular grading and feedback generation for complex exercises.Science of Computer Programming, Volume 129, 2016, 35-47. [DOI]
  • Michael Fellmann, Peter Fettke, Constantin Houy, Peter Loos, Andreas Oberweis, Andreas Schoknecht, Michael Striewe, Tom Thaler and Meike Ullrich: Evaluation automatisierter Ansätze für die Bewertung von Modellierungsaufgaben. In: DeLFI 2016 - Die 14. E-Learning Fachtagung Informatik, Volume 262 of LNI, 2016, 203-214.
  • Melanie Schypula, Nils Schwinning, Alina Doekels and Michael Goedicke: Beobachtungen zum Abbruchverhalten von Studierenden in einem webbasierten Mathematik-Vorkurs. In: DeLFI 2016 - Die 14. E-Learning Fachtagung Informatik, Volume 262 of LNI, 2016, 221-232.
  • Michael Striewe: Auf dem Weg zur intelligenten E-Prüfung. In: e-Prüfungs-Symposium ePS Paderborn, 2015, 76-79.
  • Melanie Schypula, Filiz Kurt-Karaoglu, Nils Schwinning, Michael Striewe, Björn Zurmaar and Michael Goedicke: Aufwand und Nutzen parametrisierbarer, pfadbasierter Aufgaben. In: Proceedings of DeLFI 2015: Die 13. e-Learning Fachtagung Informatik, 2015.
  • Sven Strickroth, Michael Striewe, Oliver Müller, Uta Priss, Sebastian Becker, Oliver Rod, Robert Garmann, J. Oliver Bott and Niels Pinkwart: ProFormA: An XML-based exchange format for programming tasks.eleed, Volume 11, Number 1, 2015.
  • Nils Schwinning, Michael Striewe, Marinko Savija and Michael Goedicke: On Flexible Multiple Choice Questions with Parameters. In: Proceedings of the 14th European Conference on e-Learning (ECEL-2015), 2015.
  • Nils Schwinning, Filiz Kurt-Karaoglu, Michael Striewe, Björn Zurmaar and Michael Goedicke: A Framework for Generic Exercises with Mathematical Content. In: Proceedings of the International Conference on Learning and Teaching in Computing and Engineering (LaTiCE 2015), 2015, 70-75.
  • Michael Striewe: Automatisierte Bewertung von Programmieraufgaben: Szenarien, Werkzeuge, Perspektiven. In: Grundfragen Multimedialen Lehrens und Lernens (GML² 2015), 2015, 134-144.
  • Michael Striewe and Michael Goedicke: A Review of Static Analysis Approaches for Programming Exercises. In: Proceedings of the International Conference on Computer Assisted Assessment (CAA 2014), Number 439 in CCIS, , Zeist, Netherlands, 2014, 100-113.
  • Michael Striewe and Michael Goedicke: Code reading exercises using run time traces. In: Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE 2014), 2014, 346.
  • Michael Striewe and Michael Goedicke: Automated Assessment of UML Activity Diagrams. In: Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE 2014), 2014, 336.
  • Michael Striewe: Automated Assessment of Software Artefacts - A Use Case in E-Assessment. PhD thesis, University of Duisburg-Essen, 2014.
  • Filiz Kurt-Karaoglu and Patrick Hintze: E-Assessment von Mathematikaufgaben mit JACK. In: Janina Tosic (eds.): Lehren, Lernen und Beraten auf Augenhöhe, 2014, 135-142.
  • Filiz Kurt-Karaoglu, Patrick Hintze, Melanie Schypula, Nils Schwinning, Michael Striewe, Björn Zurmaar and Michael Goedicke: Begleitende E-Assessments als Unterstützung großer Grundlagenveranstaltungen in der Studieneingangsphase. In: Grundfragen Multimedialen Lehrens und Lernens 2014, 2014, 150-163.
  • Nils Schwinning, Melanie Schypula, Michael Striewe and Michael Goedicke: Concepts and Realisations of Flexible Exercise Design and Feedback Generation in an e-Assessment System for Mathematics. In: Joint Proceedings of the MathUI, OpenMath and ThEdu Workshops and Work in Progress track at CICM, co-located with Conferences on Intelligent Computer Mathematics (CICM 2014), 2014.
  • Nils Schwinning, C. Neugebauer, K. Winter, S. Krusekamp, Michael Striewe, Filiz Kurt-Karaoglu and Michael Goedicke: JACK und MaStEr: Universitätsübergreifende Weiterentwicklung zweier Mathematik-Vorkurs-Konzepte mit computerbasierter Diagnose und Förderung. In: Tagungsband Hansekolloquium 2014, 2014.
  • Melanie Schypula, Filiz Kurt-Karaoglu, Nils Schwinning, Michael Striewe and Michael Goedicke: Beobachtungen zur Motivation der Studierenden bei verschiedenen Frageformaten. In: Proceedings of DeLFI 2013: Die 11. e-Learning Fachtagung Informatik, 2013.
  • Martin Filipczyk, Michael Striewe and Michael Goedicke: Bewertung von kurzen Freitextantworten in automatischen Prüfungssystemen. In: Proceedings of DeLFI 2013: Die 11. e-Learning Fachtagung Informatik, 2013.
  • Marco Konersmann, Zoya Durdik, Michael Goedicke and Ralf H. Reussner: Towards Architecture-Centric Evolution of Long-Living Systems (The ADVERT Approach). In: Proceedings of the 9th international ACM Sigsoft conference on Quality of software architecturesQoSA '13, ACM, New York, NY, USA, 2013, 163-168. [DOI]
  • Michael Striewe and Michael Goedicke: JACK revisited: Scaling up in multiple dimensions. In: Proceedings of Eighth European Conference on Technology Enhanced Learning (EC-TEL 2013), , Paphos, Cyprus, 2013, 635-636.
  • Michael Striewe and Michael Goedicke: Trace Alignment for Automated Tutoring. In: Proceedings of International Computer Assisted Assessment (CAA) Conference 2013, , Southampton, 2013.
  • Michael Striewe: Generierung von Zusatzinformationen in automatischen Systemen zur Bewertung von Programmieraufgaben. In: Proceedings of the First Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2013), 2013.
  • Michael Striewe and Michael Goedicke: Analyse von Programmieraufgaben durch Softwareproduktmetriken. In: SEUH, 2013, 59-68.
  • Michael Striewe and Michael Goedicke: Using Run Time Traces in Automated Programming Tutoring. In: Proceedings of the 16th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2011, Darmstadt, Germany, June 27-29, 2011, 303-307. [DOI]
  • Michael Striewe and Michael Goedicke: Automated checks on UML diagrams. In: Proceedings of the 16th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE 2011, Darmstadt, Germany, June 27-29, 2011, 38-42. [DOI]
  • Michael Striewe and Michael Goedicke: Studentische Interaktion mit automatischen Prüfungssystemen. In: DeLFI 2011 - Die 9. e-Learning Fachtagung Informatik der Gesellschaft für Informatik e.V., Number 188 in LNI, GI, 2011, 209-220.
  • Michael Striewe and Michael Goedicke: Feedback-Möglichkeiten in automatischen Prüfungssystemen. In: DeLFI 2010 - 8. Tagung der Fachgruppe E-Learning der Gesellschaft fÜr Informatik e.V., Number 169 in LNI, GI, 2010, 85-96.
  • Michael Striewe and Michael Goedicke: Visualizing Data Structures in an E-Learning System. In: Proceedings of the 2nd International Conference on Computer Supported Education (CSEDU), 07 - 10 April 2010, Valencia, Spain, Volume 1, INSTICC, 2010, 172-179.
  • Michael Striewe, Moritz Balz and Michael Goedicke: A Flexible and Modular Software Architecture for Computer Aided Assessments and Automated Marking. In: Proceedings of the First International Conference on Computer Supported Education (CSEDU), 23 - 26 March 2009, Lisboa, Portugal, Volume 2, INSTICC, 2009, 54-61.
  • Michael Striewe and Michael Goedicke: Effekte automatischer Bewertungen für Programmieraufgaben in Übungs- und Prüfungssituationen. In: DeLFI 2009 - Die 7. E-Learning Fachtagung Informatik, Number 153 in LNI, GI, 2009, 223-234.
  • Michael Striewe, Michael Goedicke and Moritz Balz.Computer Aided Assessments and Programming Exercises with JACK.Technical report 28,ICB, University of Duisburg-Essen, 2008.

Students' Theses and Projects in the Context of JACK

  • Sebastian Wannicke: C#-Checker für JACK, Project Work, finished in 2016
  • Mark Wittpoth: Konzeption und Implementierung eines Prototypen zur Überprüfung semantischer Übereinstimmung von Diagrammlabels, Bachelor Thesis, finished in 2016
  • Matthias Verholen: Mensch vs. JACK - Eine empirische Studie zur Bewertung von Programmieraufgaben (in Java), Master Thesis, finished in 2016
  • Reem Kabbani: Checking Eligibility of Google and Microsoft Machine Learning Frameworks for use by JACK e-Learning System, Master Thesis, finished in 2016
  • Mario Schwanke: Performance-Feedback in einem E-Assessment-System auf Basis statischer Code-Checks, Bachelor Thesis, finished in 2016
  • Yavuz Uslubas: Generierung von Sequenzdiagrammen aus Traces, Projekt Work, finished in 2016
  • Fabian Peters: Modul zur Prüfung des Programmierstils von verschiedenen Programmiersprachen, Project Work, finished in 2016
  • Julian Bellendorf: Prototypische Erweiterung eines E-Assessment-Systems um eine Fehlererkennung für Programmieraufgaben mit Hilfe von UML-Sequenzdiagrammen, Bachelor Thesis, finished in 2016
  • Klaas Weibring: Verbesserung der Adaptivität eines E-Assessment Systems durch Ontologien, Bachelor Thesis, finished in 2016
  • Marvin Kern: Evaluation des Prototypens zur Automatischen Prüfung von Aufgaben zum Programmverständnis, Projekt Work, finished in 2016
  • Natalie Hofstra and Melek Gülsoy: Development of a Testing Module for an E-Assessment-System (A Grader for UML State Charts), Project Work, finished in 2016
  • Julian Bellendorf: Prototypische Erweiterung eines E-Assessment-Systems um die Erstellung und Ausgabe von UML-Sequenzdiagrammen, Project Work, finished in 2016
  • Matthias Verholen: Entwicklung eines prototypischen Frameworks für interaktive Tests mit JACK, Projekt Work, finished in 2016
  • Mark Wittpoth: Entwicklung eines Prototypen für eine automatische Überprüfung von Excelaufgaben, Project Work, finished in 2016
  • Reem Kabbani: Developing a prototype framework for interactive tests, Project Work, finished in 2016
  • Enno Lohmann: Entwicklung und prototypische Implementierung einer Plagiatsprüfung im E-Assessment-System JACK, Bachelor Thesis, finished in 2015
  • Tobias Geiger: Unterstützung von individuellen lernzielen in E-Assessment-Systemen, Bachelor Thesis, finished in 2015
  • Mario D'Amico: Konzeption und Implementierung universeller automatischer Bewertungsverfahren für Programmieraufgaben der .NET-Sprachfamilie, Bachelor Thesis, finished in 2015
  • Enno Lohmann: Entwicklung und prototypische Implementierung von Prüfmodulen für die Programmiersprache Python im E-Assessment-System JACK, Project Work, finished in 2015
  • Christian Geßner: Generierung von nutzerspezifischem Feedback für SQL-Übungsaufgaben, Master Thesis, finished in 2015
  • Sebastian Jockenhöfer: Nutzung von Java Web Start in einem E-Assessment-System, Project Work, finished in 2015
  • Christoph Konnertz: Flexibilisierung von Aufgaben durch dynamische HTML5-Elemente, Project Work, finished in 2015
  • Marina Gateva: Implementierung einer temporalen Logik zur dynamischen Überprüfung von Programmieraufgaben auf Basis von Programmtraces, Project Work, finished in 2015
  • Mario D'Amico: Entwicklung und prototypische Implementierung von Prüfmodulen für die VB.NET-Sprachfamilie im E-Assessment-System JACK, Project Work, finished in 2015
  • Felix Buhlert: Entwicklung und prototypische Implementierung eines auf „Gamification“ basierenden Designs für eine Lernumgebung zum Erlernen von Java, Bachelor Thesis, finished in 2015
  • Nils Dechant: Syntax-Highlighting und Quellcode-Annotationen als Feedback in einem E-Learning-System, Bachelor Thesis, finished in 2015
  • Kai Borowiak: Grafische Annotation von Objektstrukturen im Rahmen eines E-Learning-Systems, Bachelor Thesis, finished in 2015
  • Tobias Geiger, Jan-Niklas Troschke, Klaas Weibring: Prototypische Erweiterung eines E-Assessment Systems um adaptive Lerninhalte am Beispiel JACK, Project Work, finished in 2014
  • Jaroslaw Schmidt: Automatische Bewertung von Freitextantworten mittels Latent Semantic Analysis, Bachelor Thesis, finished in 2014
  • Dominik Schacht: Metriken für UML-Diagramme, Bachelor Thesis, finished in 2014
  • Rene Lopez-Barrilao: Statistische Methoden zur Analyse von Lösungen für Programmieraufgaben, Bachelor Thesis, finished in 2014
  • Christian Heiming: Visualisierung von Programmen im Kontext einer Programmiervorlesung, Project Work, finished in 2013
  • Martin Filipczyk: Bewertung von Freitextaufgaben in automatischen Prüfungssystemen, Master Thesis, finished in 2012
  • Dominik Schacht, Sebastian Meis: Automatische Prüfung von Aufgaben zum Programmverständnis, Project Work, finished in 2012
  • Martin Filipczyk: Heuristische Erkennung von Endlosschleifen in laufenden Programmen, Project Work, finished in 2012
  • Sebastian Okon: Visualisierung von Programmtraces in einem eLearning-System, Bachelor Thesis, finished in 2011
  • Alexander Jung: Bewertung der Eignung von Software-Metriken für den Einsatz in einem automatisierten Prüfsystem, Bachelor Thesis, finished in 2011
  • Zongyuan Li: Semi-Automatische Generierung von Pruefregeln fuer ein E-Learning-Werkzeug, Bachelor Thesis, finished in 2011
  • Martin Filipczyk: Mustersuche in graphbasierten Repräsentationen von Programmen , Bachelor Thesis, finished in 2010
  • Mobasher Ullah: Visualisierung von Objektstrukturen aus Übungsaufgaben zur Programmierung, Bachelor Thesis, finished in 2009
  • Alexander Trops: Manipulation von Java-Quellcode durch Transformation des Syntaxgraphen zur Verbesserung des dynamischen Model Checking, Master Thesis, finished in 2008

Contact Information