DIGITAL LIBRARY
A REPOSITORY FOR JAVA QUIZ QUESTIONS
TH Mittelhessen (GERMANY)
About this paper:
Appears in: ICERI2023 Proceedings
Publication year: 2023
Pages: 3173-3177
ISBN: 978-84-09-55942-8
ISSN: 2340-1095
doi: 10.21125/iceri.2023.0825
Conference name: 16th annual International Conference of Education, Research and Innovation
Dates: 13-15 November, 2023
Location: Seville, Spain
Abstract:
Introduction:
In the past few years we have developed a quiz (https://quiz.mnd.thm.de/quiz/) for an introductory course in Java programming. The questions cover topics starting from data types and control structures to basic concepts of Object-Oriented Programming. The quiz use basically a CSV format to store the questions. Various question types such as yes-no, multiple choice and open are supported. A lot of work has been invested in formulating the questions and they might be useful for others. Therefore we developed a repository to maintain the questions and export them into other formats.

Requirements:
First of all the application should provide basic CRUD functionalities (create, read, update, delete) for questions. Further functional requirements include
• Import and export questions in various formats (CSV, JSON, XML, …)
• Translation of questions in different languages (e. g. German to French) on demand using machine translation
• Tagging: assigning keywords to questions
• Rating system
• User management with authentication
In a first step we need the import from our SimpQui format in order to transfer the questions from the quiz into the repository. Then the export should support XML and JSON formats. In particular, the Moodle XML format is intended. Furthermore, generating LATEX text allows the easy integration of questions into all kind of documents.

Prototype:
The first prototype of a repository named Quiz Manager (https://quiz.mnd.thm.de/quizVerwaltung/) has been implemented. One focus was on supporting multiple languages. The application has built-in support for 3 languages for the user interface and there is a choice of 31 languages available for translating the quiz questions (currently using DeepL). The prototype already provides the core functionalities. The questions are stored as records in MongoDB. Up to now only basic question types are implemented, but due to the flexible structure the extension to further types is easily possible. Registered users can import, edit and translate questions and rate questions from other users (Karma system). In addition, the user can combine questions into a catalogue in order to group these questions. Another way to collect questions is a kind of shopping cart. The user can collect any question from the repository in his shopping cart. From there the questions can be exported to the above mentioned export formats. Also the created catalogues can be exported to the supported formats.
We are particularly interested in the questions on multilingualism: How good is the automatic translation of the quiz questions? Are programming language keywords preserved? Should tags also be translated? First tests show that the translation is good but not perfect. E. g. translation of “What are valid double values?” into German does not preserve the keyword double. DeepL, however, offers as a second alternative “Double Werte” – very close to the correct “double Werte”.

Further work:
As the next step evaluating and optimizing the user interface is planned. In addition to numerous extensions of the functionalities, the expansion of the database is also planned. Basically, we want to gain experience with the prototype. An important question is how well the application scales with the growing number of questions.
Keywords:
Java, Quiz, Multiple languages.