Managing Gamified Programming Courses with the FGPE Platform
Abstract
:1. Introduction
2. Related Work
- Have reported findings in high school and university subjects of the previously mentioned areas,
- Research methods are explained.
3. FGPE Platform Architecture
- FGPE AuthorKit [30], a web tool for preparing and managing the programming exercises and gamification rules,
- An open repository (hosted at GitHub), where the gamified programming exercises are stored,
- FGPE Gamification Service [33], which processes gamification rules and keeps the game state,
- Mooshak 2.0 [34], the sandbox for execution of the programs submitted by students and automatically assessing their correctness,
- FGPE Programming Learning Environment (PLE) [35], providing the user interface for both students (to interact with gamified programming exercises, edit, and test their solutions) and teachers (to arrange exercise sets for their students and follow the students’ progress with the exercises).
4. AuthorKit
4.1. Purpose and Design
4.2. Preparing Programming Exercises
- Metadata, which allows the author to enter information about the exercise such as the name, keywords, programming languages, among others;
- Presentation, which includes files that are presented to either the student or the teacher (e.g., problem statements, instructions, and skeletons);
- Evaluation, which encompasses files that enter in the evaluation phase (e.g., tests, solutions, and output/behavior checkers);
- Tools, which contains executable scripts that complement the exercise (e.g., test generators).
4.3. Adding Gamification
4.4. Managing and Sharing Projects
5. Programming Learning Environment
5.1. Purpose and Design
5.2. Student’s User Interface
- Code Editor is based on Monaco Editor [40], the very same editor that powers Visual Studio Code. This editor allows students to code starting from a skeleton provided by the exercise author, taking advantage of a vast set of features such as syntax highlighting, parameter hints, smart code navigation, and code completion. For challenges that can be solved in more than one programming language, a language switch is attached at the top of the editor allowing the student to choose the programming language of the editor.
- Console is where the results of the code execution and feedback based on the submission evaluation are presented. The code execution consists in taking the inputs provided by the student through a popup and running the program against these inputs. In distinction, on submission, the code is run against the complete set of test cases provided by the exercise author. While the execution is meant to help the students test their code, only after the submission, the code can be acknowledged as correct, triggering gamification rules, which in turn may result in a reward for the student or unlock a new section of the course.
- Statement Viewer is where the activity statement is displayed. This component can display HTML, MarkDown, PDF and raw text files.
- Leaderboard is the component responsible for displaying the usernames and scores, sorted according to certain metrics. Leaderboards can be challenge-scoped or course-scoped, use any of the available metrics to sort users by, and optionally have group visibility.
- Push Notifications are small rectangle boxes displayed based on events received from registered GraphQL subscriptions. For instance, received rewards, results of both processed submissions and validations, and other updates.
- Profile is the space to show off student’s achievements, including badges, virtual items, experience points, and course progress.
5.3. Teacher’s User Interface
- Setting up a game which lets the teacher provide the students a new game, consisting of a chosen set of programming exercises and the relevant gamification layer. The teacher can also limit the availability of the game to a specific time period as well as make it private, i.e., accessible only for the invited students (the public games are visible and can be played by anyone who registers at the platform).
- Supervising a running game which includes viewing the students’ progress in a particular game (i.e., how many exercises they have completed)—see Figure 6 for an exemplary screenshot, viewing how well the students dealt with a specific exercise (i.e., how many students have completed it) and letting the teacher modify game settings.
- Deleting a game, which lets the teacher make a finished game no longer available for students.
- Game participants management, which lets the teacher assign students to a particular game. This is especially important for private games, which cannot be joined by students on their own, unless the teacher provides them with a special link or adds them manually. This also allows the teacher to remove students from a game (because, e.g., they joined a wrong one).
- Student group management, which lets the teacher assign students to groups. This makes it easier to, e.g., analyze progress of students from one class, as the other players may be easily filtered out. The assignment pertains to a specific game—so one student may belong to different groups in different games. The students may also be automatically assigned to randomly chosen groups—this feature is dedicated to support gamification scenarios based on group competition.
- User profile, which gives teachers the access to any student’s basic profile data (name, username, and email address) and their status in each game he or she plays (the assigned group, the number of gathered points and rewards, the number of submissions and validations made, and the progress).
- Submission history, which lets the teacher see the code of any of the submissions made by a particular student (see Figure 7 for an exemplary screenshot). This serves a number of purposes—primarily, it lets the teacher know the reason for which some student struggles with a given exercise, and possibly be able to give him or her a hint; but it also allows the teacher to verify that a solution accepted by the automatic evaluation engine is actually correct—depending on the complexity of the exercise and the coverage of attached tests, it is more or less easy to make the engine accept a solution that is wrong yet produces the expected results.
6. Evaluation
6.1. Methodology
- UMUX.Q1 [The system’s] capabilities meet my requirements. (positive)
- UMUX.Q2 Using [the system] is a frustrating experience. (negative)
- UMUX.Q3 [The system] is easy to use. (positive)
- UMUX.Q4 I have to spend too much time correcting things with [the system]. (negative)
6.2. Results
6.3. Discussion
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Prenkaj, B.; Stilo, G.; Madeddu, L. Challenges and Solutions to the Student Dropout Prediction Problem in Online Courses. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management, CIKM ’20, Online, 19–23 October 2020; ACM: New York, NY, USA, 2020; pp. 3513–3514. [Google Scholar] [CrossRef]
- Ghaban, W.; Hendley, R. How Different Personalities Benefit From Gamification. Interact. Comput. 2019, 31, 138–153. [Google Scholar] [CrossRef]
- Deterding, S. The lens of intrinsic skill atoms: A method for gameful design. Hum.-Comput. Interact. 2015, 30, 294–335. [Google Scholar] [CrossRef]
- Bellon, J.J.; Bellon, E.C.; Blank, M.A. Teaching from a Research Knowledge Base. NASSP Bull. 1992, 76, 121–122. [Google Scholar] [CrossRef]
- Shute, V.J. Focus on Formative Feedback. Rev. Educ. Res. 2008, 78, 153–189. [Google Scholar] [CrossRef]
- Keuning, H.; Jeuring, J.; Heeren, B. Towards a Systematic Review of Automated Feedback Generation for Programming Exercises. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, Arequipa, Peru, 11–13 July 2016; ACM: New York, NY, USA, 2016; pp. 41–46. [Google Scholar] [CrossRef] [Green Version]
- Dicheva, D.; Irwin, K.; Dichev, C. OneUp: Supporting Practical and Experimental Gamification of Learning. Int. J. Ser. Games 2018, 5, 5–21. [Google Scholar] [CrossRef]
- FGPE Consortium. Framework for Gamified Programming Education. 2018. Available online: https://fgpe.usz.edu.pl (accessed on 19 November 2021).
- Swacha, J. State of Research on Gamification in Education: A Bibliometric Survey. Educ. Sci. 2021, 11, 69. [Google Scholar] [CrossRef]
- Utomo, A.Y.; Amriani, A.; Aji, A.F.; Wahidah, F.R.N.; Junus, K.M. Gamified E-learning model based on community of inquiry. In Proceedings of the 2014 International Conference on Advanced Computer Science and Information System, Jakarta, Indonesia, 18–19 October 2014; pp. 474–480. [Google Scholar] [CrossRef]
- Anderson, P.E.; Nash, T.; McCauley, R. Facilitating Programming Success in Data Science Courses Through Gamified Scaffolding and Learn2Mine. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE ’15, Vilnius, Lithuania, 4–8 July 2015; ACM: New York, NY, USA, 2015; pp. 99–104. [Google Scholar] [CrossRef]
- Auvinen, T.; Hakulinen, L.; Malmi, L. Increasing students’ awareness of their behavior in online learning environments with visualizations and achievement badges. IEEE Trans. Learn. Technol. 2015, 8, 261–273. [Google Scholar] [CrossRef]
- Bernik, A.; Bubas, G.; Radosevic, D. A Pilot Study of the Influence of Gamification on the Effectiveness of an e-Learning Course. In Central European Conference on Information and Intelligent Systems; Faculty of Organization and Informatics, University of Zagreb: Varaždin, Croatia, 2015; pp. 73–79. [Google Scholar]
- Hakulinen, L.; Auvinen, T.; Korhonen, A. The Effect of Achievement Badges on Students’ Behavior: An Empirical Study in a University-Level Computer Science Course. Int. J. Emerg. Technol. Learn. 2015, 10, 18–29. [Google Scholar] [CrossRef] [Green Version]
- Paiva, J.C.; Leal, J.P.; Queirós, R.A. Enki: A Pedagogical Services Aggregator for Learning Programming Languages. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, Arequipa, Peru, 11–13 July 2016; ACM: New York, NY, USA, 2016; pp. 332–337. [Google Scholar]
- Topîrceanu, A. Gamified learning: A role-playing approach to increase student in-class motivation. Procedia Comput. Sci. 2017, 112, 41–50. [Google Scholar] [CrossRef]
- Faghihi, U.; Brautigam, A.; Jorgenson, K.; Martin, D.; Brown, A.; Measures, E.; Maldonado-Bouchard, S. How Gamification Applies for Educational Purpose Specially with College Algebra. Procedia Comput. Sci. 2014, 41, 182–187. [Google Scholar] [CrossRef] [Green Version]
- Yildirim, I. The effects of gamification-based teaching practices on student achievement and students’ attitudes toward lessons. Internet High. Educ. 2017, 33, 86–92. [Google Scholar] [CrossRef]
- Christy, K.R.; Fox, J. Leaderboards in a virtual classroom: A test of stereotype threat and social comparison explanations for women’s math performance. Comput. Educ. 2014, 78, 66–77. [Google Scholar] [CrossRef]
- Pedersen, M.K.; Svenningsen, A.; Dohn, N.B.; Lieberoth, A.; Sherson, J. DiffGame: Game-based Mathematics Learning for Physics. Procedia-Soc. Behav. Sci. 2016, 228, 316–322. [Google Scholar] [CrossRef] [Green Version]
- Hasegawa, T.; Koshino, M.; Ban, H. An English vocabulary learning support system for the learner’s sustainable motivation. SpringerPlus 2015, 4, 99. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Perry, B. Gamifying French Language Learning: A Case Study Examining a Quest-based, Augmented Reality Mobile Learning-tool. Procedia-Soc. Behav. Sci. 2015, 174, 2308–2315. [Google Scholar] [CrossRef] [Green Version]
- Barata, G.; Gama, S.; Jorge, J.; Gonçalves, D. Studying student differentiation in gamified education: A long-term study. Comput. Hum. Behav. 2017, 71, 550–585. [Google Scholar] [CrossRef]
- Hanus, M.D.; Fox, J. Assessing the effects of gamification in the classroom: A longitudinal study on intrinsic motivation, social comparison, satisfaction, effort, and academic performance. Comput. Educ. 2015, 80, 152–161. [Google Scholar] [CrossRef]
- Holman, C.; Aguilar, S.J.; Levick, A.; Stern, J.; Plummer, B.; Fishman, B. Planning for Success: How Students Use a Grade Prediction Tool to Win Their Classes. In Proceedings of the Fifth International Conference on Learning Analytics And Knowledge, Poughkeepsie, NY, USA, 16–20 March 2015; ACM: New York, NY, USA, 2015; pp. 260–264. [Google Scholar] [CrossRef]
- Jang, J.; Park, J.J.Y.; Yi, M.Y. Gamification of Online Learning. In Artificial Intelligence in Education; Conati, C., Heffernan, N., Mitrovic, A., Verdejo, M.F., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 646–649. [Google Scholar]
- Pettit, R.K.; McCoy, L.; Kinney, M.; Schwartz, F.N. Student perceptions of gamified audience response system interactions in large group lectures and via lecture capture technology. BMC Med. Educ. 2015, 15, 92. [Google Scholar] [CrossRef] [Green Version]
- Nevin, C.R.; Westfall, A.O.; Rodriguez, J.M.; Dempsey, D.M.; Cherrington, A.; Roy, B.; Patel, M.; Willig, J.H. Gamification as a tool for enhancing graduate medical education. Postgrad. Med. J. 2014, 90, 685–693. [Google Scholar] [CrossRef] [Green Version]
- Bonde, M.T.; Makransky, G.; Wandall, J.; Larsen, M.V.; Morsing, M.; Jarmer, H.; Sommer, M.O.A. Improving biotech education through gamified laboratory simulations. Nat. Biotechnol. 2014, 32, 694–697. [Google Scholar] [CrossRef] [Green Version]
- Paiva, J.C.; Queirós, R.; Leal, J.P.; Swacha, J. FGPE AuthorKit—A Tool for Authoring Gamified Programming Educational Content. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE ’20, Trondheim, Norway, 15–19 June 2020; ACM: New York, NY, USA, 2020; p. 564. [Google Scholar] [CrossRef]
- Paiva, J.C.; Queirós, R.; Leal, J.P.; Swacha, J. Yet Another Programming Exercises Interoperability Language (Short Paper). In Proceedings of the 9th Symposium on Languages, Applications and Technologies (SLATE 2020), Online, 13–14 July 2020; Simões, A., Henriques, P.R., Queirós, R., Eds.; OpenAccess Series in Informatics (OASIcs). Schloss Dagstuhl–Leibniz-Zentrum für Informatik: Dagstuhl, Germany, 2020; Volume 83, pp. 14:1–14:8. [Google Scholar] [CrossRef]
- Swacha, J.; Paiva, J.C.; Leal, J.P.; Queirós, R.; Montella, R.; Kosta, S. GEdIL–Gamified Education Interoperability Language. Information 2020, 11, 287. [Google Scholar] [CrossRef]
- Paiva, J.C.; Haraszczuk, A.; Queirós, R.; Leal, J.P.; Swacha, J.; Kosta, S. FGPE Gamification Service: A GraphQL Service to Gamify Online Education. In Proceedings of the 9th World Conference on Information Systems and Technologies, Azores, Portugal, 30 March–2 April 2021; Springer: Azores, Portugal, 2021; Volume 1368, pp. 480–489. [Google Scholar] [CrossRef]
- Leal, J.P.; Silva, F. Mooshak: A Web-based multi-site programming contest system. Softw. Pract. Exp. 2003, 33, 567–581. [Google Scholar] [CrossRef]
- Paiva, J.C.; Queirós, R.; Leal, J.P.; Swacha, J.; Miernik, F. An Open-Source Gamified Programming Learning Environment. In Proceedings of the Second International Computer Programming Education Conference (ICPEC 2021), Braga, Portugal, 27–28 May 2021; Henriques, P.R., Portela, F., Queirós, R., Simões, A., Eds.; Open Access Series in Informatics (OASIcs). Schloss Dagstuhl–Leibniz-Zentrum für Informatik: Dagstuhl, Germany, 2021; Volume 91, pp. 5:1–5:8. [Google Scholar] [CrossRef]
- Paiva, J.C.; Queirós, R.; Leal, J.P. Mooshak’s Diet Update: Introducing YAPExIL Format to Mooshak. In Proceedings of the 10th Symposium on Languages, Applications and Technologies (SLATE 2021), Póvoa de Varzim, Portugal, 1–2 July 2021; Queirós, R., Pinto, M., Simões, A., Portela, F., Pereira, M.J.A., Eds.; Open Access Series in Informatics (OASIcs). Schloss Dagstuhl–Leibniz-Zentrum für Informatik: Dagstuhl, Germany, 2021; Volume 94, pp. 9:1–9:7. [Google Scholar] [CrossRef]
- Swacha, J. SIPE: A Domain-Specific Language for Specifying Interactive Programming Exercises. In Towards a Synergistic Combination of Research and Practice in Software Engineering; Kosiuczenko, P., Madeyski, L., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 15–29. [Google Scholar] [CrossRef]
- Facebook. React: A JavaScript Library for Building User Interfaces. 2021. Available online: https://reactjs.org (accessed on 16 January 2021).
- Keycloak. Keycloak: Open Source Identity and Access Management Solution. 2014. Available online: https://www.keycloak.org (accessed on 9 January 2021).
- Microsoft. Monaco Editor. 2021. Available online: https://microsoft.github.io/monaco-editor/ (accessed on 16 January 2021).
- Finstad, K. The Usability Metric for User Experience. Interact. Comput. 2010, 22, 323–327. [Google Scholar] [CrossRef]
- Brooke, J. SUS-A quick and dirty usability scale. Usability Eval. Ind. 1996, 189, 4–7. [Google Scholar]
- Babbitt, B.; Nystrom, C. Questionnaire construction manual (Research Product 89-20). In Fort Hood, TX: US Army Research Institute for the Behavioral and Social Sciences; Defense Technical Information Center: Fort Belvoir, VA, USA, 1989. [Google Scholar]
- Nielsen, J. Usability Engineering; Morgan Kaufmann: Burlington, MA, USA, 1994. [Google Scholar]
- Albó, L.; Hernández-Leo, D. edCrumble, a Data-Enriched Visual Authoring Design Tool for Blended Learning. IEEE Trans. Learn. Technol. 2021, 14, 55–68. [Google Scholar] [CrossRef]
- Lewis, J.R. Measuring Perceived Usability: SUS, UMUX, and CSUQ Ratings for Four Everyday Products. Int. J. Hum.-Comput. Interact. 2019, 35, 1404–1419. [Google Scholar] [CrossRef]
- FGPE Consortium. FGPE Plus. 2021. Available online: https://fgpeplus.usz.edu.pl/ (accessed on 19 November 2021).
CS/IT | Maths | FL | C&M | M/B | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Game Elements | [10] | [11] | [12] | [13] | [14] | [15] | [16] | [17] | [18] | [19] | [20] | [21] | [22] | [23] | [24] | [25] | [26] | [27] | [28] | [29] |
Badges | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
Collaboration | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
Direct Competition | ✓ | |||||||||||||||||||
Content Disclosure | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
Exhaustible Resources | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
Leaderboards | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
Levels | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||
Points | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Progress Indicator | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
Quests | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
Real-world Rewards | ✓ | |||||||||||||||||||
Serious Games/Immersion | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
SLP | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||||||
Status | ✓ | ✓ | ✓ | ✓ |
Question | Min. | 1st Qu. | Median | Mean | 3rd Qu. | Max. |
---|---|---|---|---|---|---|
UMUX.Q1 | 2 | 6 | 6 | 5.70 | 6 | 7 |
UMUX.Q2* | 3 | 5 | 6 | 5.91 | 7 | 7 |
UMUX.Q3 | 2 | 5 | 6 | 5.35 | 6 | 7 |
UMUX.Q4* | 3 | 4 | 5 | 4.70 | 6 | 6 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Paiva, J.C.; Queirós, R.; Leal, J.P.; Swacha, J.; Miernik, F. Managing Gamified Programming Courses with the FGPE Platform. Information 2022, 13, 45. https://doi.org/10.3390/info13020045
Paiva JC, Queirós R, Leal JP, Swacha J, Miernik F. Managing Gamified Programming Courses with the FGPE Platform. Information. 2022; 13(2):45. https://doi.org/10.3390/info13020045
Chicago/Turabian StylePaiva, José Carlos, Ricardo Queirós, José Paulo Leal, Jakub Swacha, and Filip Miernik. 2022. "Managing Gamified Programming Courses with the FGPE Platform" Information 13, no. 2: 45. https://doi.org/10.3390/info13020045
APA StylePaiva, J. C., Queirós, R., Leal, J. P., Swacha, J., & Miernik, F. (2022). Managing Gamified Programming Courses with the FGPE Platform. Information, 13(2), 45. https://doi.org/10.3390/info13020045