M. Ebert, W. Haupt

Coburg University of Applied Sciences (GERMANY)
Interactive eBooks leverage multiple choice questions or Parson’s programming puzzles for assessments and progress monitoring of learners. Those quizzes provide immediate feedback and, therefore, can be also used as self-assessments. However, there are other possible question types for engaging students. Especially, when the results of the quiz are used for lecture preparation and just-in-time teaching settings.

In this paper, we introduce duoquiz – a JavaScript library to embed a quiz that provides besides multiple choice and true-false questions a special type of Parson’s puzzles that focus on simple statements (mostly on a single-line). In addition, duoquiz introduces code fragment questions, which requires the learners to type in the answer as code. Currently, only the C programming language is supported. The novelty of duoquiz is the client-side syntactical evaluation of the answers and its generated feedback.

Our work focuses on requirements for such a tool and its in-class usage. We describe our first experience evaluating those special type of questions and present ways how to incorporate students’ answers for lecture preparation.

The quiz is used during the first weeks on an introductory programming course in order to review the syntax of the language. Each quiz consists of a set of questions that target a single concept such as the declaration of an array. Those questions are part of weekly assignments and are strongly connected to the exercises. In fact, each quiz is crafted as a preliminary test for students to provide indicators which chapters they need to review in order to succeed the assignments.

One of the strengths of the quiz is the solution validation which provides three different types of immediate feedback for the students. Those feedback types apply to the special code fragment and simple statement Parsons problems questions. While validating the students’ answers syntactical errors (e. g. invalid name for a variable) are detected and shown to the user. Grammatical errors, like the misuse of round braces for arrays, represent the next phase of validation. Lastly, a solution-checking algorithm compares students’ answers with multiple valid solutions. If a wrong token is encountered the expected token will be shown to the students, which allows a fast error correction.

Despite the generation of the feedback for the students, the quiz also contains a logging feature that allows us to analyse frequent errors and to monitor overall student results. As being designed for the lab-work use, the logging feature allows a live data-analysis.

Moreover, it allows instructors (question authors) to randomize questions, and, thus, enables a repetition of a quiz without having the same questions or values.

To sum up, duoquiz is used for self-assessment of programming language syntax and lecture preparation during the first weeks of the course and embeddable in interactive teaching materials.