O2: Client-side Evaluation Engine

So far, the FGPE programming learning environment, depended on Mooshak server to evaluate students’ submissions and server-side gamification service to trigger gamification events. This meant delayed student feedback after submitting an exercise solution and unability to submit a solution if an active Internet connection was temporarily not available.

FGPE++ has removed this barrier by providing a way to assess the programming exercise solutions client-side thus both greatly improving the FGPE platform usability in areas in which users experience Internet connection problems and also reducing the load on university servers, now freed from 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 newly developed code consists of the following components, all released as open-source code on GitHub:

The following three publications have been published that describe the project results obtained with regard to O2:

  1. The explanation of the concept:
    Queirós, R., Damaševičius, R., Maskeliūnas, R., & Swacha, J. (2024). Client-Side Gamification Engine for Enhanced Programming Learning. In 5th International Computer Programming Education Conference: ICPEC 2024, June 27-28, 2024, Lisbon, Portugal, Volume 122. https://doi.org/10.4230/OASIcs.ICPEC.2024.11
  2. The implementation and testing of the in-browser gamification engine:
    Swacha, J., & Przetacznik, W. (2024). In-Browser Implementation of a Gamification Rule Definition Language Interpreter. Information, 15(6). https://doi.org/10.3390/info15060310
  3. The implementation and testing of the in-browser C++ interpreter:
    Blažauskas, T., Rauba, A., Swacha, J., Montella, R., & Maskeliunas, R. (2025). In-Browser C++ Interpreter for Lightweight Intelligent Programming Learning Environments. In 6th International Computer Programming Education Conference (ICPEC 2025) (Vol. 133, p. 14:1-14:15). Schloss Dagstuhl – Leibniz-Zentrum für Informatik. https://doi.org/10.4230/OASIcs.ICPEC.2025.14

The demonstrational video below shows the immediate submission feedback provided by the updated FGPE Programming Learning Environment (in less than one second at 0:22).

Demonstration of client-side evaluation engine: immediate feedback after submission.