O2: Client-side Evaluation Engine

The FGPE programming learning environment, thanks to the development of the FGPE Plus project, is currently provided as a Progressive Web Application, which means, once loaded, it could be used without sustained Internet connection. The problem is, for the students’ solution of an exercise to be evaluated, and the relevant gamification rules triggered, there must be an active Internet connection at the time of submission. The goal of FGPE++ is to remove this barrier by providing a way to assess the programming exercise solutions client-side. This will both greatly improve the FGPE platform usability in areas in which users experience Internet connection problems and will also reduce the load on university servers, allowing to limit their role to batch processing of the student progress data on synchronization, instead of running the full evaluation server-side, which with many concurrent students on university servers having limited resources caused noticeable delays and sometimes even stalls that ruined all user experience. Consequently, this paves the way for providing large-scale gamified programming courses with limited technical resources, and will support the sustained growth of the number of the FGPE ecosystem users.

The envisaged client-side software layer for the assessment of gamified programming exercises and gamification rule processing will be capable of producing instant feedback to the users even without active connection with the server, caching data on user progress and achievements, and synchronizing students’ progress cached on the client with the global state stored at the server. The software will be published as an intrinsic part of the FGPE PLE package and freely distributed on the GitHub platform in the FGPE repository under the GNU General Public License v3 open-source license, so that any educational institution can use it and, if necessary, adopt it for their specific purposes free of charge.