O2: Data Exchange Format for Gamified Programming Exercises

In order to make it possible to share the programming exercises having the gamification layer among different universities and courses, they have to conform to a common data format.

The idea implemented in the FGPE project is to separate programming exercise definition and gamification definition to make it easier to gamify existing non-gamified exercises as well as to let the same exercises be used in different gamification scenarios. Therefore, the document provided below actually defines two data formats, both being a direct result of the work done during the second phase of the Framework for Gamified Programming Education project:

  • YAPExIL (Yet Another Programming Exercises Interoperability Language) is the format for defining programming exercises. It conveys no gamification information itself, but the gamification layer relies on its components. With many existing formats of this kind, any of them could be used for this purpose, but actually none met all of the requirements, therefore a new format has been defined, to some extent based on the earlier PExIL format (developed by University of Porto), extending some of its elements and simplifying others, also changing serialization format from XML to JSON. The document introduces YAPExIL and describes all its four facets: Metadata (needed to manage and search for the exercises), Presentation (needed to present an exercise to the student), Assessment (needed to automatically check the correctness of the solution) and Tools (for additional functionality such as automatically generating relevant precise feedback).
  • GEdIL (Gamified Education Interoperability Language) is the format for specifying gamification information for programming exercises and programming courses. GEdIL consists of five parts, respectively devoted to: gamification layer (defining the structure of gamification and associated metadata), challenge (providing the gamification aspect for the elements of a programming course), reward (defining the rewards to be given for solving the challenges), rule (providing the link between user actions and rewards) and leaderboard (defining an ordered set of metrics according to which players will be ranked). The document describes all its parts and explains how the gamification concepts presented in IO1 can be represented using the format (with detailed examples given in the attached appendices).

The format constitutes a necessary base for the development of the further project outputs, primarily, the gamified programming exercises and the tools for editing and presenting them.