Grywalizacja w nauce programowania – platforma FGPE

ISBN: 978-83-7972-708-7    ISBN (online): 978-83-7972-709-4    ISSN: 0860-2751    OAI    DOI: 10.18276/978-83-7972-709-4
CC BY-SA   Open Access 

Issue archive / T. (MCCCLXXX) 1306

Year of publication:2023
Dziedzina:Dziedzina nauk społecznych
Dyscyplina:nauki o zarządzaniu i jakości
Authors: Jakub Swacha ORCID
Uniwersytet Szczeciński

Information

Electronic version of the publication available under CC BY-SA 4.0 license after 12 months from the date of launch: April 2024

Abstract

The aim of the FGPE platform is to provide necessary specifications, toolset and programming exercise base for an effective application of gamification in programming education, primarily in higher education institutions. It comprises programming exercise gamification model, gamified exercise format specification, FGPE Gamification Service capable of automatic assessment of programming exercise solutions and processing gamification rules, the FGPE AuthorKit tool for authoring and conversion of programming exercises, the gamified interactive learning environment FGPE PLE, and a collection of ready-to-use gamified programming exercises (available in English and selected other languages). All these elements are freely available in the Internet under open source licenses. This study describes the background, genesis, and architecture of this platform, and then presents its main components and basic functionality.

Bibliography

1.Aggarwal, S. (2018). Modern web-development using ReactJS. International Journal of Recent Research Aspects, nr 5(1), s. 133–137.
2.Ala-Mutka, K.M. (2005). A Survey of Automated Assessment Approaches for Programming Assignments. Computer Science Education, nr 15(2), s. 83–102.
3.Albó, L., Hernández-Leo, D. (2020). edCrumble, a data–enriched visual authoring design tool for blended learning. IEEE Transactions on Learning Technologies, nr 14(1), s. 55–68.
4.Apollo Graph (2022). Introduction to Apollo Client, https://www.apollographql.com/docs/react (29.09.2022).
5.bin Uzayr, S., Cloud, N., Ambler, T. (2019). Vue.js. W: JavaScript Frameworks for Modern Web Development (s. 523–539). Berkeley: Apress.
6.Bosse, Y., Gerosa, M.A. (2017). Why is programming so difficult to learn?: Patterns of Difficulties Related to Programming Learning Mid–Stage. ACM SIGSOFT Software Engineering Notes, nr 41, s. 1–6.
7.Brooke, J. (1996). SUS–A quick and dirty usability scale. Usability Evaluation in Industry, nr 189(194), s. 4–7.
8.Burke, B. (2014). Gamify: how gamification motivates people to do extraordinary things. Gartner, Brookline, USA.
9.Carlson, J. (2013). Redis in action. New York: Simon and Schuster.
10.Carreño-León, M., Sandoval–Bringas, A., Álvarez–Rodríguez, F., Camacho-González,
11.Y. (2018). Gamification technique for teaching programming. Proceedings of the 2018 IEEE Global Engineering Education Conference (EDUCON). IEEE, Santa Cruz de Tenerife, s. 2009–2014.
12.Chou, Y.-K. (2016). Actionable gamification: Beyond points, badges, and leaderboards. Fremont: Octalysis Media.
13.Code Combat (2022). https://codecombat.com (19.09.2022).
14.Code Miner (2022). https://play.google.com/store/apps/details?id=com.codinggame.mining (19.09.2022).
15.Codefights (2022). https://codefights.net/#/buildstuff (19.09.2022).
16.CodinGame (2022). https://www.codingame.com (19.09.2022).
17.Csikszentmihalyi, M. (1975). Beyond Boredom and Anxiety. San Francisco: Jossey-Bass Publishers.
18.Çubukçu, Ç., Wang, B., Goodman, L., Mangina, E. (2017). Gamification for assessment of object oriented programming. Proceedings of the International Conference on Information Communication Technologies in Education. Rhodes: ICICTE, s. 1–6.
19.Divyabharathi, D.N., Cholli, N.G. (2020). A review on identity and access management server (Keycloak). International Journal of Security and Privacy in Pervasive Computing (IJSPPC), nr 12(3), s. 46–53.
20.Esper, S., Foster, S., Griswold, W. (2013). CodeSpells: Embodying the Metaphor of Wizardry for Programming. W: Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2013) (s. 249–254). New York: ACM.
21.Facebook (2022). Jest: a delightful JavaScript Testing Framework, https://jestjs.io/ (29.09.2022).
22.FGPE (2018). Framework for Gamified Programming Education. Project website, https:// fgpe.usz.edu.pl/ (19.09.2022).
23.FGPE (2019). FGPE Erasmus+. Code repository, https://github.com/orgs/FGPE–Erasmus/ (19.09.2022).
24.FGPE Plus (2021). FGPE Plus: Learning Tools Interoperability for gamified programming education. Project website, https://fgpeplus.usz.edu.pl/ (19.09.2022).
25.Finstad, K. (2010). The Usability Metric for User Experience. Interacting with Computers, nr 22, s. 323–327.
26.Frania, M. (2012). Wybrane dylematy współczesnej edukacji w kontekście „zmediatyzowanej rzeczywistości”. Colloquium, nr 4(3), s. 81–94.
27.Fresneau, V. (2020). Women coders: Meet these 10 European coding academies improving gender equality. Barcelona: EU Startups, https://www.eu–startups.com/2020/06/ women-coders-meet-these-10-coding-startups-and-academies-improving-gender- equality (19.09.2022).
28.Gill, G. (2013). Growing CHECKIO. Journal of Information Technology Education: Discussion Cases, nr 2(1).
29.Google (2022). Google Scholar. https://scholar.google.pl/ (26.09.2022).
30.Google (2020). Code with Google. https://edu.google.com/code-with-google/ (29.09.2022).
31.GraphQL Foundation (2022). GraphQL Specification, https://spec.graphql.org (29.09.2022).
32.Griffith, E. (2014). With 24 million students, Codecademy revamps its offerings. Fortune Magazine, 23 April, http://fortune.com/2014/04/23/with-24-million-students-codecademy- revamps-its-offerings (26.07.2023).
33.HackerRank (2011). HackerRank. https://www.hackerrank.com/ (29.09.2022).
34.Herzig, P., Jugel, K., Momm, C., Ameling, M., Schill, A. (2013). GaML – A modeling language for gamification. W: 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing (s. 494–499). Los Alamitos: IEEE.
35.Hows, D., Membrey, P., Plugge, E. (2014). MongoDB Basics. New York: Apress.
36.Hu, R., Shang, J. (2018). Application of gamification to blended learning in elementary math instructional design. W: International Conference on Blended Learning (s. 93–104). Cham: Springer.
37.Hudak, P. (1989). Conception, evolution, and application of functional programming languages. ACM Computing Surveys (CSUR), nr 21(3), s. 359–411.
38.Ibanez, M.-B., Di-Serio, A., Delgado-Kloos, C. (2014). Gamification for Engaging Computer Science Students in Learning Activities: A Case Study. IEEE Transactions on Learning Technologies, nr 7(3), s. 291–301.
39.IMS (2019). Learning Tools Interoperability core specification, version 1.3. IMS Global Learning Consortium, http://www.imsglobal.org/spec/lti/v1p3/ (19.09.2022).
40.Kapp, K.M. (2012). The Gamification of Learning and Instruction: Game–Based Methods and Strategies for Training and Education. San Francisco: Pfeiffer.
41.Kiraly, S., Balla, T. (2016). Code School: A gamified learning portal for computer programming education. W: Proceedings of XXIX. DIDMATTECH 2016 (s. 89–94). Budapest: Eötvös Loránd University.
42.Kotini, I., Tzelepi, S. (2015). A Gamification–Based Framework for Developing Learning Activities of Computational Thinking. W: T. Reiners, L.C. Wood (red.), Gamification in Education and Business (s. 219–252). Cham: Springer International Publishing. Leach, P., Mealling, M., Salz, R. (2005). RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace. RFC 4122.
43.Leal, J.P., Silva, F. (2003). Mooshak: a Web–based multi–site programming contest system. Software: Practice & Experience, nr 33, s. 567–581.
44.Leek Wars (2022). https://leekwars.com (19.09.2022).
45.LeetCode (2015). LeetCode. https://leetcode.com/ (29.09.2022).
46.Lehtonen, T. (2005). Javala – addictive e-learning of the Java programming language. W: Proceedings of the Koli Calling–Fifth Annual Baltic Conference on Computer Science Education (s. 41–48). Joensuu: University of Turku.
47.Lewis, J.R. (2019). Measuring perceived usability: SUS, UMUX, and CSUQ ratings for four everyday products. International Journal of Human–Computer Interaction, nr 35(15), s. 1404–1419.
48.Lieby, V. (2019). Worldwide Professional Developer Population of 24 Million Projected to Grow amid Shifting Geographical Concentrations. Santa Cruz: Evans Data Corporation, https://evansdata.com/press/viewRelease.php?pressID=278 (19.09.2022).
49.Lund, A. (2001). Measuring Usability with the USE Questionnaire. Usability Interface, nr 8(2), s. 3–6.
50.Maloney, J., Resnick, M., Rusk, N., Silverman, B., Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education (TOCE), nr 10(4), s. 1–15.
51.Marczewski, A. (2014). Defining gamification – what do people really think?, http://www. gamified.uk/2014/04/16/defining–gamification–people–really–think (25.05.2023).
52.Marczewski, A. (2015a). 52 Gamification Mechanics and Elements, https://www.gamified. uk/user–types/gamification–mechanics–elements (25.05.2023).
53.Marczewski, A. (2015b). User Types. W: Even Ninja Monkeys like to Play: Gamification, Game Thinking & Motivational Design (s. 65–80). Addlestone: Gamified UK.
54.Microsoft (2021). Monaco Editor, https://microsoft.github.io/monaco–editor/ (29.09.2022).
55.Miernik, F. (2023). FGPE+ Platform Installation Manual. Version 1.0, https://fgpeplus. usz.edu.pl/wp–content/uploads/FGPE–Platform–Installation–Manual.pdf (27.05.2023).
56.Moreno, J., Pineda, A.F. (2018). Competitive programming and gamification as strategy to engage students in computer science courses. Revista ESPACIOS, nr 39(35).
57.Morrison, B.B., DiSalvo, B. (2014). Khan Academy gamifies Computer Science. W: Proceedings of the 45th ACM technical symposium on Computer Science Education (s. 39–44).
58.Morzy, M. (2014). Grywalizacja kursów akademickich – pierwsze doświadczenia. W: M. Dąbrowski, M. Zając (red.), E-edukacja w praktyce – wyzwania i bariery (s. 165–171). Warszawa: Fundacja Promocji i Akredytacji Kierunków Ekonomicznych. Myśliwiec, K. (2018). NestJS: A Progressive Node.js Framework, https://nestjs.com (29.09.2022).
59.Nielsen, J. (1994). Usability Engineering. Burlington: Morgan Kaufmann.
60.Nilsson, H., Courtney, A., Peterson, J. (2002). Functional reactive programming, continued. W: Proceedings of the 2002 ACM SIGPLAN workshop on Haskell (s. 51–64).
61.O’Connor, P. (2020). The Craft and Science of Game Design: A Video Game Designer’s Manual. Boca Raton: CRC Press.
62.Oliveira, W., Pastushenko, O., Rodrigues, L., Toda, A.M., Palomino, P.T., Hamari, J., Isotani, S. (2021). Does gamification affect flow experience? A systematic literature review. CEUR Workshop Proceedings, nr 2883 (5th International GamiFIN Conference, GamiFIN 2021), s. 110–119.
63.Paiva, J.C. (2021). FGPE Framework Docker, https://github.com/FGPE–Erasmus/framework– docker (27.05.2023).
64.Paiva, J.C., Haraszczuk, A., Queirós, R., Leal, J.P., Swacha, J., Kosta, S. (2021). FGPE Gamification Service: A GraphQL Service to Gamify Online Education. W: World Conference on Information Systems and Technologies (s. 480–489). Cham: Springer.
65.Paiva, J.C., Queirós, R., Leal, J. P., Swacha, J., Miernik, F. (2022). Managing Gamified Programming Courses with the FGPE Platform. Information, nr 13(2), art. 45.
66.Paiva, J.C., Queirós, R., Leal, J.P., Swacha, J. (2020a). FGPE Authorkit – a tool for authoring gamified programming educational content. W: Proceedings of the 2020
67.ACM Conference on Innovation and Technology in Computer Science Education (s. 564–564). Trondheim: ACM.
68.Paiva, J.C., Queirós, R., Leal, J.P., Swacha, J. (2020b). Yet Another Programming Exercises Interoperability Language. W: 9th Symposium on Languages, Applications and Technologies (SLATE 2020). Dagstuhl: Schloss Dagstuhl–Leibniz – Zentrum für Informatik.
69.Pastushenko, O., Oliveira, W., Isotani, S., Hruška, T. (2020). A methodology for multimodal learning analytics and flow experience identification within gamified assignments. W: Extended abstracts of the 2020 CHI conference on human factors in computing systems (s. 1–9). New York: ACM..
70.Polito, G., Temperini, M. (2021). A gamified web based system for computer programming learning. Computers and Education: Artificial Intelligence, nr 2, art. 100029.
71.Prykhodchenko, S.D., Prykhodchenko, O.Y., Shevtsova, O.S., Semenov, S.Y. (2020). Gamification of Learning Scratch in Elementary School. W: First International Computer Programming Education Conference (ICPEC 2020). Dagstuhl: Schloss Dagstuhl– Leibniz – Zentrum fur Informatik.
72.Queirós, R., Leal, J.P. (2011). PExIL: Programming exercises interoperability language. W: Conferência Nacional XATA: XML, aplicações e tecnologias associadas (s. 37–48). Vila do Conde: ESEIG
73.Queirós, R., Leal, J.P. (2012). BabeLO − an extensible converter of programming exercises formats. IEEE Transactions on Learning Technologies, nr 6(1), s. 38–45. Robocode (2022). https://robocode.sourceforge.io (19.09.2022).
74.Roh, S., Seo, K., Lee, J., Kim, J., Ryu, H.B., Jung, C., Lee, H., Shin, J. (2016). Goal-based manufacturing gamification: bolt tightening work redesign in the automotive assembly line. W: Advances in ergonomics of manufacturing: managing the enterprise of the future (s. 293–304). Cham: Springer.
75.Ruby Warrior (2012). https://github.com/ryanb/ruby–warrior (19.09.2022).
76.Ryan, R.M., Deci, E.L. (2000). Self-Determination Theory and the Facilitation of Intrinsic Motivation, Social Development, and Well–Being. American Psychologist, nr 55, s. 68–78.
77.Sailer, M., Hense, J.U., Mayr, S.K., Mandl, H. (2017). How gamification motivates: An experimental study of the effects of specific game design elements on psychological need satisfaction. Computers in Human Behavior, nr 69, s. 371–380.
78.Sarkar, S.P., Sarker, B., Hossain, S.K.A. (2016). Cross platform interactive programming learning environment for kids with edutainment and gamification. W: Proceedings of the 2016 19th International Conference on Computer and Information Technology (ICCIT)(s. 218–222). Los Alamitos: IEEE.
79.Schacht, M., Schacht, S. (2012). Start the Game: Increasing User Experience of Enterprise Systems Following a Gamification Mechanism. W: A. Maedche, A. Botzenhardt, L. Neer (red.), Software for People (s. 181–199). Berlin–Heidelberg: Springer.
80.Shuermans, S., Voskoglou, Ch. (2019). Global developer population report 2019. London: SlashData, https://sdata.me/GlobalDevPop19 (19.09.2022).
81.Sims, Z., Bubinski, C. (2018). Codecademy, http://www.codecademy.com (19.09.2022).
82.Staller, M.S., Koerner, S. (2021). Beyond Classical Definition: The Non–definition of Gamification. SN Computer Science, nr 2, art. 88.
83.Statista.com (2022). Largest software and programming companies worldwide by sales revenue from 2017 to 2022, https://www.statista.com/statistics/790179/worldwide–largest– software–programming–companies–by–sales (19.09.2022).
84.Stroustrup, B. (1988). What is object–oriented programming?. IEEE Software, nr 5(3), s. 10–20.
85.Swacha, J. (2016). Webowe środowiska do nauki programowania. W: A.B. Kwiatkowska, M.M. Sysło (red.), Informatyka w edukacji. Kształcenie informatyczne i programowanie dla wszystkich uczniów (s. 109–118). Toruń: Wydawnictwo Naukowe Uniwersytetu Mikołaja Kopernika.
86.Swacha, J. (2018). SIPE: A Domain–Specific Language for Specifying Interactive Programming Exercises. W: P. Kosiuczenko, L. Madeyski (red.), Towards a Synergistic Combination of Research and Practice in Software Engineering. Studies in Computational Intelligence (s. 15–29). Cham: Springer.
87.Swacha, J. (2020). Kurs języka Python 3 w formule MOOC: implementacja i wstępna ewaluacja. W: A.B. Kwiatkowska M.M. Sysło (red.), Informatyka w edukacji. Edukacja informatyczna a rozwój społeczeństwa: kształcenie na odległość (s. 168–179). Toruń: Wydawnictwo Naukowe Uniwersytetu Mikołaja Kopernika.
88.Swacha, J., Baszuro, P. (2013). Gamification-based e–learning platform for computer programming education. W: N. Reynolds, M. Webb (red.), Learning while we are connected. Volume 1. Research papers (s. 122–130). Toruń: Wydawnictwo Naukowe UMK.
89.Swacha, J., Ittermann, R. (2017). Enhancing the tourist attraction visiting process with gamification: key concepts. Engineering Management in Production and Services, nr 9 (4), s. 59–66.
90.Swacha, J., Miernik, F., Ignasiak, M.S., Montella, R., De Vita, C.G., Mellone, G., Queirós, R., Paiva, J.C., Leal, J.P., Kosta, S. (2022). Students’ Usability Evaluation of the FGPE Gamified Programming Learning Environment. W: R.A. Buchmann, G.C. Silaghi, D. Bufnea, V. Niculescu, G. Czibula, C. Barry, M. Lang, H. Linger, C. Schneider (red.), Information Systems Development: Artificial Intelligence for Information Systems Development and Operations (ISD2022 Proceedings). Cluj-Napoca: Babeș- Bolyai University.
91.Swacha, J., Naprawski, T. (2020). Python for beginners in 12 Lessons, https://github.com/ jcpaiva–fgpe/b110a4ad–3596–409e–b17c–90fe013804ed (19.05.2023).
92.Swacha, J., Paiva, J. C., Leal, J. P., Queirós, R., Montella, R., Kosta, S. (2020). GEdIL: Gamified Education Interoperability Language. Information, 11(6), art. 287.
93.Swacha, J., Queirós, R., Paiva, J.C., Leal, J.P., Kosta, S., Montella, R. (2020). A roadmap to gamify programming education. W: 1st International Computer Programming Education Conference, ICPEC 2020. Dagstuhl: Schloss Dagstuhl–Leibniz – Zentrum fur Informatik.
94.Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science, nr 12(2), s. 257–285.
95.Syahid, A., Kamri, K.A., Azizan, S.N. (2021). Usability of Massive Open Online Courses (MOOCs): Malaysian Undergraduates’ Perspective. Journal of Educators Online, nr 18(3), art. nr 3.
96.Tasadduq, M., Khan, M.S., Nawab, R.M.A., Jamal, M.H., Chaudhry, M.T. (2021). Exploring the effects of gamification on students with rote learning background while learning computer programming. Computer Applications in Engineering Education, nr 29(6), s. 1871–1891.
97.Tilkov, S., Vinoski, S. (2010). Node.js: Using JavaScript to build high–performance network programs. IEEE Internet Computing, nr 14(6), s. 80–83.
98.TopCoder. (2001). TopCoder, https://www.topcoder.com/ (29.09.2022).
99.Tunnicliffe, S.D. (2022). Play and STEM Foundations in the Earliest Years. W: S.D Tunnicliffe, T.J. Kennedy (red.), Play and STEM Education in the Early Years. Cham: Springer.
100.Vansteenkiste, M., Ryan, R.M. (2013). On psychological growth and vulnerability: Basic psychological need satisfaction and need frustration as a unifying principle. Journal of Psychotherapy Integration, nr 23(3), art. 263e280.
101.Vansteenkiste, M., Williams, G.C., Resnicow, K. (2012). Toward systematic integration between self–determination theory and motivational interviewing as examples of top–down and bottom–up intervention development: Autonomy or volition as a fundamental theoretical principle. International Journal of Behavioral Nutrition and Physical Activity, nr 9(23).
102.Vranić, V. (2002). Towards multi-paradigm software development. Journal of Computing and Information Technology, nr 10(2), s. 133–147.
103.Wanstrath, Ch. (2008). We Launched. GitHub, https://github.com/blog/40–we–launched (29.09.2022).
104.Werbach, K., Hunter, D. (2015). The gamification toolkit: Dynamics, mechanics, and components for the win. Philadelphia: Wharton Digital Press.
105.Yadav, A.K., Oyelere, S.S. (2021). Contextualized mobile game–based learning application for computing education. Education and Information Technologies, nr 26(3), s. 2539–2562.