
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 new in-browser gamification engine: https://github.com/FGPE-Erasmus/clientside-rule-processing
- the new lightweight server side for storing gamification-related data: https://github.com/FGPE-Erasmus/lightweight-fgpe-server
- the updated FGPE Programming Learning Environment: https://github.com/Eucl2/fgpe-ple-v2
- the adapted in-browser C++ interpreter (third-party open-source Python and JavaScript interpreters are also used yet without adaptation): https://github.com/blaztoma/JSCPP
The following three publications have been published that describe the project results obtained with regard to O2:
- 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 - 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 - 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).
