ABSTRACT
There are several educational games and tools that teach programming. However, very few offer a deep understanding of Computer Science concepts such as Abstraction, Modularity, Semantics, and Debugging. We present May's Journey, an educational game that supports learning of basic programming concepts, where players solve puzzles and interact with the environment by typing in a custom programming language. The game design seamlessly integrates learning goals, core mechanics, and narrative elements. We discuss how we integrate the CS concepts mentioned above using game mechanic metaphors.
- David Boud and Grahame Feletti. 2013. The challenge of problem-based learning. Routledge.Google Scholar
- Stephen Cooper, Wanda Dann, and Randy Pausch. 2000. Alice: a 3-D tool for introductory programming concepts. In Journal of Computing Sciences in Colleges, Vol. 15. Consortium for Computing Sciences in Colleges, 107--116. Google ScholarDigital Library
- Giuliana Dettori and Ana Paiva. 2009. Narrative learning in technology-enhanced environments. Technology-Enhanced Learning (2009), 55--69.Google Scholar
- Reinders Duit. 1991. On the role of analogies and metaphors in learning science. Science education 75, 6 (1991), 649--672.Google Scholar
- Shaun Gallagher and Robb Lindgren. 2015. Enactive metaphors: Learning through full-body engagement. Educational Psychology Review 27, 3 (2015), 391--404.Google Scholar
- Shuchi Grover and Satabdi Basu. 2017. Measuring student learning in introductory block-based programming: Examining misconceptions of loops, variables, and boolean logic. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. ACM, 267--272. Google ScholarDigital Library
- Chaima Jemmali, Sara Bunian, Andrea Mambretti, and Magy Seif El-Nasr. 2018. Educational Game Design: An Empirical Study of the Effects of Narrative. learning 66 (2018), 68.Google Scholar
- Chaima Jemmali and Zijian Yang. 2016. May's Journey: A serious game to teach middle and high school girls programming. Master's thesis. Worcester Polytechnic Institute.Google Scholar
- D Midian Kurland, Catherine A Clement, Ronald Mawby, and Roy D Pea. 1987. Mapping the cognitive demands of learning to program. In Mirrors of Minds: Patterns of experience in educational computing. Ablex Publishing Corp., 103--127. Google ScholarDigital Library
- Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A study of the difficulties of novice programmers. In Acm Sigcse Bulletin, Vol. 37. ACM, 14--18. Google ScholarDigital Library
- John H Maloney, Kylie Peppler, Yasmin Kafai, Mitchel Resnick, and Natalie Rusk. 2008. Programming by choice: urban youth learning programming with scratch. Vol. 40. ACM. Google ScholarDigital Library
- Richard E Mayer. 1992. Teaching for transfer of problem-solving skills to computer programming. In Computer-based learning environments and problem solving. Springer, 193--206.Google Scholar
- Michael A Miljanovic and Jeremy S Bradbury. 2018. A Review of Serious Games for Programming. In Joint International Conference on Serious Games. Springer, 204--216.Google ScholarCross Ref
- Kai Niebert and Harald Gropengießer. 2011. âĂIJCO 2 Causes a Hole in the AtmosphereâĂİ: Using LaypeopleâĂŹs Conceptions as a Starting Point to Communicate Climate Change. In The economic, social and political elements of climate change. Springer, 603--622.Google Scholar
- Kai Niebert, Sabine Marsch, and David F Treagust. 2012. Understanding needs embodiment: A theory-guided reanalysis of the role of metaphors and analogies in understanding science. Science Education 96, 5 (2012), 849--877.Google Scholar
- Velian T Pandeliev and Ronald M Baecker. 2010. A framework for the online evaluation of serious games. In Proceedings of the International Academic Conference on the Future of Game Design and Technology. ACM, 239--242. Google ScholarDigital Library
- Roy D Pea. 1987. Logo programming and problem solving. (1987).Google Scholar
- Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens Bennedsen, Marie Devlin, and James Paterson. 2007. A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin 39, 4 (2007), 204--223. Google ScholarDigital Library
- Miriam Reiner, James D Slotta, Michelene TH Chi, and Lauren B Resnick. 2000. Naive physics reasoning: A commitment to substance-based conceptions. Cognition and instruction 18, 1 (2000), 1--34.Google Scholar
- Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, et al. 2009. Scratch: programming for all. Commun. ACM 52, 11 (2009), 60--67. Google ScholarDigital Library
- Tanja Riemeier and Harald Gropengießer. 2008. On the roots of difficulties in learning about cell division: process-based analysis of studentsâĂŹ conceptual development in teaching experiments. International Journal of Science Education 30, 7 (2008), 923--939.Google ScholarCross Ref
- Ralf Romeike. 2008. What's my challenge? The forgotten part of problem solving in computer science education. Informatics Education-Supporting Computational Thinking (2008), 122--133. Google ScholarDigital Library
- Adilson Vahldick, António José Mendes, and Maria José Marcelino. 2014. A review of games designed to improve introductory computer programming competencies. In 2014 IEEE frontiers in education conference (FIE) proceedings. IEEE, 1--7.Google Scholar
- Marianne Wiser and Tamer Amin. 2001. âĂIJIs heat hot?âĂİ Inducing conceptual change by integrating everyday and scientific perspectives on thermal phenomena. Learning and Instruction 11, 4-5 (2001), 331--355.Google ScholarCross Ref
- Diana F Wood. 2003. ABC of learning and teaching in medicine: Problem based learning. BMJ: British Medical Journal 326, 7384 (2003), 328.Google ScholarCross Ref
- Haibin Zhu and MengChu Zhou. 2003. Methodology first and language second: A way to teach object-oriented programming. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. ACM, 140--147. Google ScholarDigital Library
Index Terms
- Using game design mechanics as metaphors to enhance learning of introductory programming concepts
Recommendations
Game design and didactic transposition of knowledge. The case of progo, a game dedicated to learning object-oriented programming
AbstractGame based-learning have been widely promoted to overcome the difficulties encountered by beginners to learn programming. However, there are many issues to address for the implementation of game-based learning. Indeed, game-based learning is not ...
Undergraduates Teach Game Programming Using Scratch
A new class at the University of Washington Bothell trains undergraduate computer science majors to teach coding concepts to middle school students using the game-programming language Scratch.
Non-Programming Activities for Engagement with Foundational Concepts in Introductory Programming
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationProgramming-in a text-based or visual language-is a complex activity that novices find difficult to learn. In this paper, we present an experience report on how novel activities designed for early conceptual exploration can support middle school ...
Comments