{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,7]],"date-time":"2026-03-07T07:17:53Z","timestamp":1772867873724,"version":"3.50.1"},"reference-count":54,"publisher":"MDPI AG","issue":"11","license":[{"start":{"date-parts":[[2020,10,24]],"date-time":"2020-10-24T00:00:00Z","timestamp":1603497600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100001871","name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","doi-asserted-by":"publisher","award":["UIDB\/50014\/2020"],"award-info":[{"award-number":["UIDB\/50014\/2020"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Information"],"abstract":"<jats:p>Loss of motivation is one of the most prominent concerns in programming education as it negatively impacts time dedicated to practice, which is crucial for novice programmers. Of the distinct techniques introduced in the literature to engage students, gamification, is likely the most widely explored and fruitful. Game elements that intrinsically motivate students, such as graphical feedback and game-thinking, reveal more reliable long-term positive effects, but those involve significant development effort. This paper proposes a game-based assessment environment for programming challenges, built on top of a specialized framework, in which students develop a program to control the player, henceforth called Software Agent (SA). During the coding phase, students can resort to the graphical feedback demonstrating how the game unfolds to improve their programs and complete the proposed tasks. This environment also promotes competition through competitive evaluation and tournaments among SAs, optionally organized at the end by the teacher. Moreover, the validation of the effectiveness of Asura in increasing undergraduate students\u2019 motivation and, consequently, the practice of programming is reported.<\/jats:p>","DOI":"10.3390\/info11110498","type":"journal-article","created":{"date-parts":[[2020,10,26]],"date-time":"2020-10-26T02:34:54Z","timestamp":1603679694000},"page":"498","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":15,"title":["Fostering Programming Practice through Games"],"prefix":"10.3390","volume":"11","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0394-0527","authenticated-orcid":false,"given":"Jos\u00e9 Carlos","family":"Paiva","sequence":"first","affiliation":[{"name":"Center for Research in Advanced Computing Systems (CRACS)\u2013Institute for Systems and Computer (INESC) Porto LA, 4169-007 Porto, Portugal"},{"name":"Department of Computer Science, Faculty of Sciences, University of Porto, 4169-007 Porto, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8409-0300","authenticated-orcid":false,"given":"Jos\u00e9 Paulo","family":"Leal","sequence":"additional","affiliation":[{"name":"Center for Research in Advanced Computing Systems (CRACS)\u2013Institute for Systems and Computer (INESC) Porto LA, 4169-007 Porto, Portugal"},{"name":"Department of Computer Science, Faculty of Sciences, University of Porto, 4169-007 Porto, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1985-6285","authenticated-orcid":false,"given":"Ricardo","family":"Queir\u00f3s","sequence":"additional","affiliation":[{"name":"Center for Research in Advanced Computing Systems (CRACS)\u2013Institute for Systems and Computer (INESC) Porto LA, 4169-007 Porto, Portugal"},{"name":"Unidade de Investiga\u00e7\u00e3o em Media Artes e Design (uniMAD)\u2013Escola Superior de Media Artes e Design (ESMAD), Polytechnic of Porto, 4480-876 Vila do Conde, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2020,10,24]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"137","DOI":"10.1076\/csed.13.2.137.14200","article-title":"Learning and teaching programming: A review and discussion","volume":"13","author":"Robins","year":"2003","journal-title":"Comput. Sci. Educ."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Piteira, M., and Costa, C. (2013, January 11). Learning Computer Programming: Study of Difficulties in Learning Programming. Proceedings of the 2013 International Conference on Information Systems and Design of Communication, Lisbon, Portugal.","DOI":"10.1145\/2503859.2503871"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Moser, R. (1997, January 1\u20135). A Fantasy Adventure Game As a Learning Environment: Why Learning to Program is So Difficult and What Can Be Done About It. Proceedings of the 2nd Conference on Integrating Technology into Computer Science Education, TUppsala, Sweden.","DOI":"10.1145\/268819.268853"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"103","DOI":"10.1145\/1083431.1083474","article-title":"Why the High Attrition Rate for Computer Science Students: Some Thoughts and Observations","volume":"37","author":"Beaubouef","year":"2005","journal-title":"ACM Sigcse"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"121","DOI":"10.1016\/S0360-1315(03)00030-7","article-title":"On automated grading of programming assignments in an academic institution","volume":"41","author":"Cheang","year":"2003","journal-title":"Comput. Educ."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1080\/08993400500150747","article-title":"A Survey of Automated Assessment Approaches for Programming Assignments","volume":"15","year":"2005","journal-title":"Comput. Sci. Educ."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Enstr\u00f6m, E., Kreitz, G., Niemel\u00e4, F., S\u00f6derman, P., and Kann, V. (2011, January 12\u201315). Five years with kattis\u2013Using an automated assessment system in teaching. Proceedings of the 2011 Frontiers in Education Conference (FIE), Rapid City, SD, USA.","DOI":"10.1109\/FIE.2011.6142931"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"1-es","DOI":"10.1145\/1029994.1029995","article-title":"Improving Student Performance by Evaluating How Well Students Test Their Own Programs","volume":"3","author":"Edwards","year":"2003","journal-title":"J. Educ. Resour. Comput."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"218","DOI":"10.1016\/j.compedu.2010.01.007","article-title":"Learning motivation in e-learning facilitated computer programming courses","volume":"55","author":"Law","year":"2010","journal-title":"Comput. Educ."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"459","DOI":"10.1016\/S0883-0355(99)00015-4","article-title":"The role of motivation in promoting and sustaining self-regulated learning","volume":"31","author":"Pintrich","year":"1999","journal-title":"Int. J. Educ. Res."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"291","DOI":"10.1109\/TLT.2014.2329293","article-title":"Gamification for engaging computer science students in learning activities: A case study","volume":"7","year":"2014","journal-title":"IEEE Trans. Learn. Technol."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1162","DOI":"10.1080\/10494820.2014.964263","article-title":"Gamification and student motivation","volume":"24","author":"Buckley","year":"2016","journal-title":"Interact. Learn. Environ."},{"key":"ref_13","unstructured":"Zichermann, G., and Cunningham, C. (2011). Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps, O\u2019Reilly Media, Inc."},{"key":"ref_14","unstructured":"Cristea, A., Bittencourt, I., and Lima, F. (2017). The dark side of gamification: An overview of negative effects of gamification in education. Higher Education for All. From Challenges to Novel Technology-Enhanced Solutions, Springer."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"593","DOI":"10.1080\/02564602.2017.1315965","article-title":"Affluent Gaming Experience Could Fail Gamification in Education: A Review","volume":"34","author":"Chee","year":"2017","journal-title":"IETE Tech. Rev."},{"key":"ref_16","unstructured":"IBM Community (2019, November 01). CodeRally. Available online: http:\/\/www.alphaworks.ibm.com\/tech\/coderally."},{"key":"ref_17","first-page":"287","article-title":"Robocode: Using Games to Teach Artificial Intelligence","volume":"19","author":"Hartness","year":"2004","journal-title":"J. Comput. Sci. Coll."},{"key":"ref_18","first-page":"311","article-title":"Robocode throughout the Curriculum","volume":"19","author":"Bonakdarian","year":"2004","journal-title":"J. Comput. Sci. Coll."},{"key":"ref_19","unstructured":"Auer, M.E., and Tsiatsos, T. (2020). Authoring Game-Based Programming Challenges to Improve Students\u2019 Motivation. The Challenges of the Digital Transformation in Education, Springer International Publishing."},{"key":"ref_20","first-page":"1","article-title":"Game-Based Coding Challenges to Foster Programming Practice","volume":"Volume 81","author":"Portela","year":"2020","journal-title":"First International Computer Programming Education Conference (ICPEC 2020)"},{"key":"ref_21","unstructured":"Jenkins, T. (2002, January 27\u201329). On the difficulty of learning to program. Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, Loughborough, UK."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Paiva, J.C., Leal, J.P., and Queir\u00f3s, R.A. (2016, January 25\u201326). Enki: A Pedagogical Services Aggregator for Learning Programming Languages. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, Arequipa, Peru.","DOI":"10.1145\/2899415.2899441"},{"key":"ref_23","unstructured":"Leal, J.P., and Silva, F. (2008). Using Mooshak as a Competitive Learning Tool. Compet. Learn. Symp."},{"key":"ref_24","first-page":"38","article-title":"Enhancing elementary programming courses using e-learning with a competitive attitude","volume":"10","author":"Guerreiro","year":"2008","journal-title":"Int. J. Int. Educ."},{"key":"ref_25","first-page":"160","article-title":"Learner participation and engagement in open online courses: Insights from the Peer 2 Peer University","volume":"9","author":"Ahn","year":"2013","journal-title":"J. Online. Learn. Teach."},{"key":"ref_26","first-page":"242","article-title":"A web-based educational setting supporting individualized learning, collaborative learning and assessment","volume":"10","author":"Gogoulou","year":"2007","journal-title":"J. Educ. Technol. Soc."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"524","DOI":"10.1016\/j.intcom.2008.07.002","article-title":"A web-based programming learning environment to support cognitive development","volume":"20","author":"Hwang","year":"2008","journal-title":"Interact. Comput."},{"key":"ref_28","unstructured":"Kohn, A. (1992). No Contest: The Case against Competition, Houghton Mifflin. [2nd ed.]."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1080\/1355800032000038840","article-title":"Development and evaluation of multiple competitive activities in a synchronous quiz game system","volume":"40","author":"Chang","year":"2003","journal-title":"Innov. Educ. Teach. Int."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"459","DOI":"10.1109\/TE.2004.825053","article-title":"Teaching data structures using competitive games","volume":"47","author":"Lawrence","year":"2004","journal-title":"IEEE Trans. Educ."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"566","DOI":"10.1016\/j.compedu.2010.02.018","article-title":"Using game theory and competition-based learning to stimulate student motivation and performance","volume":"55","author":"Burguillo","year":"2010","journal-title":"Comput. Educ."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"821","DOI":"10.1016\/j.compedu.2006.08.008","article-title":"Programming contest strategy","volume":"50","author":"Trotman","year":"2008","journal-title":"Comput. Educ."},{"key":"ref_33","unstructured":"Georgouli, K., and Guerreiro, P. (2019, January 23\u201325). Incorporating an automatic judge into blended learning programming activities. Proceedings of the International Conference on Web-Based Learning, Magdeburg, Germany."},{"key":"ref_34","first-page":"131","article-title":"Competitive learning in informatics: The UVa online judge experience","volume":"2","author":"Revilla","year":"2008","journal-title":"Olymp. Inf."},{"key":"ref_35","unstructured":"Eldering, J., Kinkhorst, T., and van de Warken, P. (2020, October 23). DOM Judge\u2013Programming Contest Jury System. Available online: https:\/\/www.domjudge.org."},{"key":"ref_36","unstructured":"Ashoo, S.E., Boudreau, T., and Lane, D.A. (2020, October 23). CSUS Programming Contest Control System (PC2). Available online: https:\/\/pc2.ecs.csus.edu."},{"key":"ref_37","unstructured":"Pengcheng, X., Fuchen, Y., and Di, X. (2020, October 23). PKU JudgeOnline. Available online: http:\/\/poj.org."},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"567","DOI":"10.1002\/spe.522","article-title":"Mooshak: A Web-based multi-site programming contest system","volume":"33","author":"Leal","year":"2003","journal-title":"Softw. Pract. Exp."},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"Eagle, M., and Barnes, T. (,  2008). Wu\u2019s castle: Teaching arrays and loops in a game. Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education, New York, NY, USA.","DOI":"10.1145\/1384271.1384337"},{"key":"ref_40","unstructured":"Bloom, B.S., Max, D.E., Edward, J.F., Walker, H.H., and David, R.K. (1956). Taxonomy of Educational Objectives, Addison-Wesley Longman Ltd."},{"key":"ref_41","unstructured":"Barnes, T., Richter, H., Powell, E., Chaffin, A., and Godwin, A. Game2Learn: Building CS1 Learning Games for Retention. Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, New York, NY, USA."},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Chaffin, A., Doran, K., Hicks, D., and Barnes, T. Experimental Evaluation of Teaching Recursion in a Video Game. Proceedings of the 2009 ACM SIGGRAPH Symposium on Video Games, New York, NY, USA.","DOI":"10.1145\/1581073.1581086"},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1111\/j.1467-8659.2010.01829.x","article-title":"Experimental Feedback on Prog&Play: A Serious Game for Programming Practice","volume":"30","author":"Muratet","year":"2010","journal-title":"Comput. Gr. Forum"},{"key":"ref_44","unstructured":"Ostrovsky, I. (2020, October 23). RoboZZle. Available online: http:\/\/robozzle.com."},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Aedo Lopez, M., Vidal Duarte, E., Castro Gutierrez, E., and Paz Valderrama, A. (,  2016). Teaching Abstraction, Function and Reuse in the First Class of CS1: A Lightbot Experience. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, New York, NY, USA.","DOI":"10.1145\/2899415.2925505"},{"key":"ref_46","first-page":"1","article-title":"Exploiting TALENT as a Tool for Teaching and Learning","volume":"18","author":"Maragos","year":"2011","journal-title":"Int. J. Learn."},{"key":"ref_47","doi-asserted-by":"crossref","unstructured":"Phelps, A.M., Bierre, K.J., and Parks, D.M. (2003, January 16\u201318). MUPPETS: Multi-user Programming Pedagogy for Enhancing Traditional Study. Proceedings of the 4th Conference on Information Technology Curriculum, Lafayette, IN, USA.","DOI":"10.1145\/947121.947143"},{"key":"ref_48","doi-asserted-by":"crossref","unstructured":"Paliokas, I., Arapidis, C., and Mpimpitsos, M. (2011, January 4). PlayLOGO 3D: A 3D Interactive Video Game for Early Programming Education: Let LOGO Be a Game. Proceedings of the 2011 Third International Conference on Games and Virtual Worlds for Serious Applications, Athens, Greece.","DOI":"10.1109\/VS-GAMES.2011.10"},{"key":"ref_49","unstructured":"Lee, M.J., and Ko, A. (2020, October 23). Gidget. Available online: https:\/\/www.helpgidget.org."},{"key":"ref_50","first-page":"1","article-title":"The Greenfoot Programming Environment","volume":"10","year":"2010","journal-title":"Trans. Comput. Educ."},{"key":"ref_51","doi-asserted-by":"crossref","unstructured":"Dietrich, J., Tandler, J., Sui, L., and Meyer, M. (October, January 28). The PrimeGame Revolutions: A Cloud-based Collaborative Environment for Teaching Introductory Programming. Proceedings of the ASWEC 2015 24th Australasian Software Engineering Conference, Adelaide, SA, Australia.","DOI":"10.1145\/2811681.2811683"},{"key":"ref_52","first-page":"3","article-title":"Measuring Usability with the USE Questionnaire","volume":"8","author":"Lund","year":"2001","journal-title":"Usability Interface"},{"key":"ref_53","unstructured":"Barr, M. (2020, October 23). The Bartle Test of Gamer Psychology. Available online: https:\/\/matthewbarr.co.uk\/bartle."},{"key":"ref_54","first-page":"19","article-title":"Hearts, clubs, diamonds, spades: Players who suit MUDs","volume":"1","author":"Bartle","year":"1996","journal-title":"J. MUD Res."}],"container-title":["Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2078-2489\/11\/11\/498\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T10:27:26Z","timestamp":1760178446000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2078-2489\/11\/11\/498"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,10,24]]},"references-count":54,"journal-issue":{"issue":"11","published-online":{"date-parts":[[2020,11]]}},"alternative-id":["info11110498"],"URL":"https:\/\/doi.org\/10.3390\/info11110498","relation":{},"ISSN":["2078-2489"],"issn-type":[{"value":"2078-2489","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,10,24]]}}}