Skip to main content

A Review of Serious Games for Programming

  • Conference paper
  • First Online:
Serious Games (JCSG 2018)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11243))

Included in the following conference series:

Abstract

A large number of games are available to students and instructors that aid in developing a basic understanding of how to read and write programs. In this paper we review the existing serious programming game literature and examine the educational content and game evaluations of 49 games. First, we assess all games with respect to the programming fundamentals specified in the ACM 2013 Computer Science Curricula guidelines. Next, we review how each game is evaluated with respect to likability, accessibility, learning effect and engagement. In addition to the evaluated research questions, we also review the research methods used in the evaluations. Based on the results of our survey we conclude by identifying a number of open problems in the serious programming games literature.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Commercial sources such as the iOS game store, Google Play Store, HourOfCode.com, and Tynker.com offer over 100 different programming games, typically aimed at children. However, many of these games follow a similar approach or share visual programming environments. We chose to only include a small sample from these websites due to the high degree of game overlap and similarity.

  2. 2.

    Serious games with evaluations are primarily a subset of those that have accompanying research papers, technical reports or theses.

References

  1. Codingame: Coding games and programming challenges to code better. https://www.codingame.com/ (2012). Accessed 12 Apr 2017

  2. CodeCombat: Learn how to code by playing a game. https://codecombat.com/ (2013). Accessed 12 Apr 2017

  3. Super Markup Man. http://store.steampowered.com/app/502210/ (2013). Accessed 12 Apr 2017

  4. Codefights: Test your code. https://codefights.com/ (2015). Accessed 12 Apr 2017

  5. Human Resource Machine. https://tomorrowcorporation.com/humanresourcemachine (2015). Accessed 12 Apr 2017

  6. Minecraft: Hour of code tutorials. https://code.org/minecraft (2017). Accessed 12 Apr 2017

  7. ACM/IEEE-CS Joint Task Force on Computing Curricula: Computer science curricula 2013. Technical report, ACM Press and IEEE Computer Society Press, December (2013)

    Google Scholar 

  8. Adamo-Villani, N., Haley-Hermiz, T., Cutler, R.: Using a serious game approach to teach ‘operator precedence’ to introductory programming students. In: Proceedings of the International Conference on Information Visualisation (IV 2013), pp. 523–526 (2013)

    Google Scholar 

  9. Barnes, T., Powell, E., Chaffin, A., Lipford, H.: Game2Learn : improving the motivation of CS1 students. In: Proceedings of the 3rd International Conference on Game Development in Computer Science Education (GDCSE 2008), pp. 1–5 (2008)

    Google Scholar 

  10. Bates, Ryan: Ruby warrior: popular free ruby programming tutorial game. https://www.bloc.io/ruby-warrior/ (2010). Accessed 13 April 2017

  11. Begel, A.: LogoBlocks: a graphical programming language for interacting with the world. Master’s thesis, Electrical Engineering and Computer Science, MIT (1996)

    Google Scholar 

  12. Bonakdarian, E., White, L.: Robocode throughout the curriculum. J. Comput. Sci. Coll. 19(3), 311–313 (2004)

    Google Scholar 

  13. Buckley, C.: Design and implementation of a genre hybrid video game that integrates the curriculum of an introductory programming course. Master’s thesis, Clemson University (2012)

    Google Scholar 

  14. Chaffin, A., Doran, K., Hicks, D., Barnes, T.: Experimental evaluation of teaching recursion in a video game. In: Proceedings of the 2009 ACM SIGGRAPH Symposium on Video Games, vol. 1, pp. 79–86 (2009)

    Google Scholar 

  15. Chivchalov, A., Chivchalov, A., Gunyakov, S.: Screeps. https://screeps.com/ (2016). Accessed 12 Apr 2017

  16. Coelho, A., Kato, E., Xavier, J., Gonçalves, R.: Serious game for introductory programming. In: Ma, M., Fradinho Oliveira, M., Madeiras Pereira, J. (eds.) SGDA 2011. LNCS, vol. 6944, pp. 61–71. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23834-5_6

    Chapter  Google Scholar 

  17. Connolly, T.M., Boyle, E.A., MacArthur, E., Hainey, T., Boyle, J.M.: A systematic literature review of empirical evidence on computer games and serious games. Comput. Educ. 59(2), 661–686 (2012)

    Article  Google Scholar 

  18. Desurvire, H., Wiberg, C.: Game usability heuristics (PLAY) for evaluating and designing better games: the next iteration. In: Ozok, A.A., Zaphiris, P. (eds.) OCSC 2009. LNCS, vol. 5621, pp. 557–566. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02774-1_60

    Chapter  Google Scholar 

  19. Dondlinger, M.J.: Educational video game design: a review of the literature. J. Appl. Educ. Technol. 4(1), 21–31 (2007)

    Google Scholar 

  20. Eagle, M., Barnes, T.: Experimental evaluation of an educational game for improved learning in introductory computing. In: Proceedings of the 40th ACM Technical Symposium on Computer science education (SIGCSE 2009), pp. 321–325 (2009)

    Google Scholar 

  21. Hartness, K.: Robocode: using games to teach artificial intelligence. J. Comput. Sci. Coll. 19(4), 287–291 (2004)

    Google Scholar 

  22. Hicks, A.: Towards social gaming methods for improving game-based computer science education. In: Proceedings of the Fifth International Conference on the Foundations of Digital Games - FDG 2010, pp. 259–261 (2010)

    Google Scholar 

  23. Jemmali, C., Zijian, Y.: May’s journey: a serious game to teach middle and high school girls programming. Master’s thesis, Worcester Polytechnic Institute (2016)

    Google Scholar 

  24. Jiau, H.C., Chen, J.C., Ssu, K.F.: Enhancing self-motivation in learning programming using game-based simulation and metrics. IEEE Trans. Educ. 52(4), 555–562 (2009)

    Article  Google Scholar 

  25. Johnsen, A.L., Ushakov, G.: Python programming game. Master’s thesis, Norwegian University of Science and Technology (2011)

    Google Scholar 

  26. Kahn, K.: A computer game to teach programming introduction to ToonTalk. In: Proceedings of the National Educational Computing Conference, pp. 127–135 (1999)

    Google Scholar 

  27. Kazimoglu, C., Kiernan, M., Bacon, L., Mackinnon, L.: A serious game for developing computational thinking and learning introductory computer programming, vol. 47, pp. 1991–1999. Elsevier (2012)

    Google Scholar 

  28. Kelleher, C., Cosgrove, D., Culyba, D., Forlines, C., Pratt, J., Pausch, R.: Alice2: programming without syntax errors. In: Proceedings of the 15th International Symposium on User Interface Software and Technology (UIST 2002) - Demonstrations, pp. 35–36 (2002)

    Google Scholar 

  29. Kelly, J.O., Maynooth, N.U.I., Gibson, J.P.: RoboCode & problem-based learning: a non-prescriptive approach to teaching programming. ACM SIGCSE Bull. 38(3), 217–221 (2006)

    Article  Google Scholar 

  30. Khenissi, M., Essalmi, F., Jemni, M.: Presentation of a learning game for programming languages education. In: Proceedings of IEEE 13th International Conference on Advanced Learning Technologies (ICALT 2013), pp. 324–326 (2013)

    Google Scholar 

  31. Laupretre, P.: Leek wars. https://leekwars.com/ (2016). Accessed 12 Apr 2017

  32. Lawrence, R.: Teaching data structures using competitive games. IEEE Trans. Educ. 47(4), 459–466 (2004)

    Article  Google Scholar 

  33. Lee, M.J., Ko, A.J.: Investigating the role of purposeful goals on novices’ engagement in a programming game. In: Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, pp. 163–166 (2012)

    Google Scholar 

  34. Liu, C.C., Cheng, Y.B., Huang, C.W.: The effect of simulation games on the learning of computational problem solving. Comp. and Edu. 57(3), 1907–1918 (2011)

    Article  Google Scholar 

  35. Ljungkvist, P., Mozelius, P.: Educational games for self learning in introductory programming courses - a straightforward design approach with progression mechanisms. In: Proceedings of the 6th European Conference on Games Based Learning, pp. 285–293 (2012)

    Google Scholar 

  36. Long, J.: Just for fun: using programming games in software programming training and education - a field study of IBM robocode community. J. Inf. Technol. Educ. 6, 279–290 (2007)

    Google Scholar 

  37. Malliarakis, C., Satratzemi, M., Xinogalos, S.: CMX: implementing an MMORPG for learning programming. In: Proceedings of the 8th European Conference on Games Based Learning (ECGBL2014), pp. 346–355 (2014)

    Google Scholar 

  38. Mathrani, A., Christian, S., Ponder-Sutton, A.: PlayIT: game based learning approach for teaching programming concepts. Educ. Technol. Soc. 19(5), 5–17 (2016)

    Google Scholar 

  39. Miljanovic, M.A., Bradbury, J.S.: Robot ON!: a serious game for improving programming comprehension. In: Proceedings of the 5th International Workshop on Games and Software Engineering, pp. 33–36 (2016)

    Google Scholar 

  40. Miljanovic, M.A., Bradbury, J.S.: RoboBUG: a serious game for learning debugging techniques. In: Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER 2017), pp. 93–100 (2017)

    Google Scholar 

  41. Muratet, M., Delozanne, E., Torguet, P., Viallet, F.: Serious game and students’ learning motivation: effect of context using Prog&Play. In: Proceedings of the 11th International Conference on Intelligent Tutoring Systems (ITS 2012), pp. 123–128, Jun 2012

    Chapter  Google Scholar 

  42. O’Kelly, J., Gibson, J.P.: RoboCode & problem-based learning : a non-prescriptive approach to teaching programming. In: Proceedings of the Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2006), pp. 26–28 (2006)

    Google Scholar 

  43. Paliokas, I., Arapidis, C., Mpimpitsos, M.: Game based early programming education: the more you play, the more you learn. In: Pan, Z., Cheok, A.D., Müller, W., Liarokapis, F. (eds.) Transactions on Edutainment IX. LNCS, vol. 7544, pp. 115–131. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37042-7_7

    Chapter  Google Scholar 

  44. Pandeliev, V.T., Baecker, R.M.: A framework for the online evaluation of serious games. In: Proceedings of the International Academic Conference on the Future of Game Design and Technology, pp. 239–242. ACM (2010)

    Google Scholar 

  45. Pellas, N.: Exploring interrelationships among high school students engagement factors in introductory programming courses via a 3D multi-user serious game created in open Sim. J. Univers. Comput. Sci. 20(12), 1608–1628 (2014)

    Google Scholar 

  46. Piteira, M., Haddad, S.R.: Innovate in your program computer class: an approach based on a serious game. In: Proceedings of the Workshop on Open Source and Design of Communication, pp. 49–54 (2011)

    Google Scholar 

  47. Ralph, T., Barnes, T.: The Catacombs: a study on the usability of games to teach introductory programming (2006)

    Google Scholar 

  48. Ramirez-Rosales, S., Vazquez-Reyes, S., Villa-Cisneros, J.L., De Leon-Sigg, M.: A serious game to promote object oriented programming and software engineering basic concepts learning. In: Proceedings of the 4th Interenational Conference in Software Engineering Research and Innovation (CONISOFT 2016), pp. 97–103 (2016)

    Google Scholar 

  49. Romo, E.K.: Game design for a serious game to help learn programming. Master’s thesis, Faculdade de Engenharia da Universidade do Porto (2011)

    Google Scholar 

  50. Singh, J., et al.: Designing computer games to introduce programming to children. In: Proceedings of the 4th International Conference on Information Technology and Multimedia, pp. 643–647 (2008)

    Google Scholar 

  51. Tessler, J., Beth, B., Lin, C.: Using cargo-bot to provide contextualized learning of recursion. In: Proceedings of the 9th Annual International ACM Conference on International Computing Education Research (ICER 2013), pp. 161–168 (2013)

    Google Scholar 

  52. Theodorou, C., Kordaki, M.: Super Mario: a collaborative game for the learning of variables in programming. Int. J. Acad. Res. 2(4), 111–118 (2010)

    Google Scholar 

  53. Tillmann, N., Bishop, J.: Code hunt: searching for secret code for fun. In: Proceedings of the 7th International Workshop on Search-Based Software Testing (SBST 2014), pp. 23–26 (2014)

    Google Scholar 

  54. Tillmann, N., Halleux, J.D., Bishop, J.: Teaching and learning programming and software engineering via interactive gaming. In: Proceedings of the International Conference on Software Engineering (ICSE 2013), pp. 1117–1126 (2013)

    Google Scholar 

  55. Vahldick, A., Mendes, A.J., Marcelino, M.J.: A review of games designed to improve introductory computer programming competencies. In: Proceedings of the Frontiers in Education Conference (FIE 2014), pp. 1–7. IEEE (2014)

    Google Scholar 

  56. Vahldick, A., Mendes, A.J., Marcelino, M.J.: Analysing the enjoyment of a serious game for programming learning with two unrelated higher education audiences. In: Proceedings of the European Conference on Games-based Learning, pp. 523–531 (2015)

    Google Scholar 

  57. Vassilev, T.I., Mutev, B.I.: An approach to teaching introductory programming using games. In: Proceedings of the International Conference on e-Learning, pp. 246–253 (2014)

    Google Scholar 

  58. Wang, M., Hu, X.: SoccerCode: A game system for introductory programming courses in computer science. In: Proceedings of the World Congress on Engineering and Computer Science (WCECS 2011), pp. 282–287, Oct 2011

    Google Scholar 

  59. Weintrop, D., Wilensky, U.: RoboBuilder: video game program-to-play constructionist. Proc. Constr. 2012, 1–5 (2012)

    Google Scholar 

  60. Wong, W., Chou, Y.: An interactive Bomberman game-based teaching/learning tool for introductory C programming. In: Proceedings of the International Conference on Technologies for E-Learning and Digital Entertainment, pp. 433–444 (2007)

    Google Scholar 

  61. Yan, L.: Teaching object-oriented programming with games. In: Proceedings of the 6th International Conference on Information Technology: New Generations, pp. 969–974. IEEE (2009)

    Google Scholar 

  62. Yeh, K.c.M., Chen, W.f.: WIP: Using a computer gaming strategy to facilitate undergraduates’ learning in a computer programming course: an experimental study. In: Proceedings of the 41st ASEE/IEEE Frontiers in Education Conference, pp. 11–12 (2011)

    Google Scholar 

  63. Yue, W.S., Wan, W.L.: The effectiveness of digital game for introductory programming concepts. In: Proceedings of the 10th International Conference for Internet Technology and Secured Transactions (ICITST 2015), pp. 421–425 (2015)

    Google Scholar 

  64. Zapušek, M., Rugelj, J.: Learning programming with serious games. EAI Endorsed Trans. Game-Based Learn. 13(1), 1–8 (2013)

    Google Scholar 

Download references

Acknowledgment

This research was partially funded by the Natural Sciences and Engineering Research Council of Canada (NSERC).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jeremy S. Bradbury .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Miljanovic, M.A., Bradbury, J.S. (2018). A Review of Serious Games for Programming. In: Göbel, S., et al. Serious Games. JCSG 2018. Lecture Notes in Computer Science(), vol 11243. Springer, Cham. https://doi.org/10.1007/978-3-030-02762-9_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-02762-9_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-02761-2

  • Online ISBN: 978-3-030-02762-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics