[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Pyrates: Design and Evaluation of a Serious Game Aimed at Introducing Python Programming and Easing the Transition from Blocks

Published: 19 February 2024 Publication History

Abstract

This article reports on a design-based research study centered on the conception and the assessment of the Pyrates application. This online serious game aims at introducing Python programming to K–12 students while easing the transition from block-based to text-based languages. After we present the various aspects underlying the block-to-text transition as well as the related existing applications, we describe the design of Pyrates. First, we built the levels of the game to deal with the different fundamental concepts of programming in a constructivist approach. Next, we were inspired by advantageous characteristics of block-based programming editors to create the editing environment of Pyrates. To assess this conception, we tested the application in eight classrooms with 240 French 14–15 years old students. Students’ activity traces have been collected and were augmented by a qualitative online survey. By analyzing this dataset, we showed that the levels’ design generally allows to apprehend the targeted concepts consistently with the constructivist principles. Regarding the editing environment, we established that it supports the block-to-text transition in several aspects: concept transposition (general models and illustrative examples), reduction of errors (beginners aware syntax analyzer), command catalog (programming memo for discovery and syntax reference), and program composition (copy button that limits keyboarding). Finally, Pyrates, which has already been played over 140,000 times, offers practitioners an environment that facilitates the transition from blocks to text, as well as a serious game to master the fundamental concepts of Python programming, and novel avenues to follow for tool designers.

References

[1]
Algorea 2023. Algoréa home page. Retrieved from: https://www.algorea.org
[2]
Amjad Altadmri and Neil C. C. Brown. 2015. 37 million compilations: Investigating novice programming mistakes in large-scale student data. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE’15). Association for Computing Machinery, New York, NY, 522–527. DOI:
[3]
Julian Alvarez. 2007. Du jeu Vidéo au Serious Game: Approches Culturelle, Pragmatique et Formelle. Ph. D. Dissertation. Université de Toulouse. Retrieved from: https://hal.archives-ouvertes.fr/tel-01240683
[4]
Emma Andrews, David Bau, and Jeremiah Blanchard. 2021. From Droplet to Lilypad: Present and future of dual-modality environments. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’21). 1–2. DOI:
[5]
Michal Armoni, Orni Meerbaum-Salant, and Mordechai Ben-Ari. 2015. From Scratch to “Real” programming. ACM Trans. Comput. Educ. 14, 4, Article 25 (Feb.2015), 15 pages. DOI:
[6]
Michèle Artigue. 1988. Ingénierie didactique. Recher. Didact. Mathém. 9, 3 (1988), 281–308.
[7]
A. Bart, J. Tibau, E. Tilevich, C. A. Shaffer, and D. Kafura. 2017. BlockPy: An open access data-science environment for introductory programmers. Computer 50, 05 (May2017), 18–26. DOI:
[8]
David Bau, D. Anthony Bau, Mathew Dawson, and C. Sydney Pickens. 2015. Pencil code: Block code for a text world. In Proceedings of the 14th International Conference on Interaction Design and Children (IDC’15). Association for Computing Machinery, New York, NY, 445–448. DOI:
[9]
David Bau, Jeff Gray, Caitlin Kelleher, Josh Sheldon, and Franklyn Turbak. 2017. Learnable programming: Blocks and beyond. Commun. ACM 60, 6 (May2017), 72–80. DOI:
[10]
Brett A. Becker. 2016. An effective approach to enhancing compiler error messages. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE’16). Association for Computing Machinery, New York, NY, 126–131. DOI:
[11]
Annie Bessot. 2003. Une introduction á la théorie des situation didactiques. Cahiers Laborat. Leibn. 91 (2003), 1–28.
[12]
Matthieu Branthôme. 2021. Apprentissage de la programmation informatique à la transition collège-lycée. STICEF (Sci. Technol. l’Inf. Commun. l’Éduc. Format.) 28, 3 (2021), 1–35. DOI:
[13]
Matthieu Branthôme. 2022. Pyrates: A serious game designed to support the transition from block-based to text-based programming. In Educating for a New Future: Making Sense of Technology-enhanced Learning Adoption, Isabel Hilliger, Pedro J. Muñoz-Merino, Tinne De Laet, Alejandro Ortega-Arranz, and Tracie Farrell (Eds.). Springer International Publishing, Cham, 31–44. DOI:
[14]
Guy Brousseau. 1998. Théorie Des Situations Didactiques. La Pensée Sauvage, Grenoble.
[15]
Codecombat 2023. Code Combat Home Page. Retrieved from: https://codecombat.com
[16]
Codemonkey 2023. CodeMonkey Home Page. Retrieved from: https://www.codemonkey.com
[17]
Codingpark 2023. CodingPark Home Page. Retrieved from: https://codingpark.io
[18]
Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. Understanding the syntax barrier for novices. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE’11). Association for Computing Machinery, New York, NY, 208–212. DOI:
[19]
Raymond Duval. 2006. A cognitive analysis of problems of comprehension in a learning of mathematics. Educ. Stud. Math. 61, 1 (01 Feb.2006), 103–131. DOI:
[20]
Edublocks 2023. Edublocks Home Page. Retrieved from: https://app.edublocks.org/
[21]
Stephen H. Edwards. 2004. Using software testing to move students from trial-and-error to reflection-in-action. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE’04). Association for Computing Machinery, New York, NY, 26–30. DOI:
[22]
David Ginat, Eyal Shifroni, and Eti Menashe. 2011. Transfer, cognitive load, and program design difficulties. In Informatics in Schools. Contributing to 21st Century Education, Ivan Kalaš and Roland T. Mittermeir (Eds.). Springer Berlin, 165–176. DOI:
[23]
Joint Task Force on Computing Curricula, ACM and IEEE CS. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY. DOI:
[24]
Majeed Kazemitabaar, Viktar Chyhir, David Weintrop, and Tovi Grossman. 2022. CodeStruct: Design and evaluation of an intermediary programming environment for novices to transition from Scratch to Python. In Proceedings of the Conference on Interaction Design and Children (IDC’22). Association for Computing Machinery, New York, NY, 261–273. DOI:
[25]
Jonathan M. Kevan and Paul R. Ryan. 2016. Experience API: Flexible, decentralized and activity-centric data collection. Technol., Knowl. Learn. 21, 1 (01 Apr2016), 143–149. DOI:
[26]
B. Khazaei and M. Jackson. 2002. Is there any difference in novice comprehension of a small program written in the event-driven and object-oriented styles? In Proceedings of the IEEE Symposia on Human Centric Computing Languages and Environments. 19–26. DOI:
[27]
Tobias Kohn. 2017. Teaching Python Programming to Novices: Addressing Misconceptions and Creating a Development Environment. Ph. D. Dissertation. ETH Zurich, Zürich. DOI:
[28]
Michael Kölling, Neil C. C. Brown, and Amjad Altadmri. 2015. Frame-based editing: Easing the transition from blocks to text-based programming. In Proceedings of the Workshop in Primary and Secondary Computing Education (WiPSCE’15). Association for Computing Machinery, New York, NY, 29–38. DOI:
[29]
Yuhan Lin and David Weintrop. 2021. The landscape of block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming. J. Comput. Lang. 67 (2021), 1–18. DOI:
[30]
Yoshiaki Matsuzawa, Takashi Ohata, Manabu Sugiura, and Sanshiro Sakai. 2015. Language migration in non-CS introductory programming through mutual language translation environment. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE’15). Association for Computing Machinery, New York, NY, 185–190. DOI:
[31]
Davin McCall and Michael Kölling. 2014. Meaningful categorisation of novice programmer errors. In Proceedings of the IEEE Frontiers in Education Conference (FIE’14). 1–8. DOI:
[32]
Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. 2011. Habits of programming in Scratch. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE’11). Association for Computing Machinery, New York, NY, 168–172. DOI:
[33]
Orni Meerbaum-Salant, Michal Armoni, and Mordechai (Moti) Ben-Ari. 2010. Learning computer science concepts with Scratch. In Proceedings of the 6th International Workshop on Computing Education Research (ICER’10). Association for Computing Machinery, New York, NY, 69–76. DOI:
[34]
Jean Piaget. 1975. L’équilibration des Structures Cognitives. Presse Universitaire de France, Paris.
[35]
Thomas W. Price and Tiffany Barnes. 2015. Comparing textual and block interfaces in a novice programming environment. In Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER’15). Association for Computing Machinery, New York, NY, 91–99. DOI:
[36]
Pypl 2023. PYPL - PopularitY of Programming Language. Retrieved from: https://pypl.github.io/PYPL.html
[37]
PyratesHP 2023. Pyrates Home Page. Retrieved from: https://py-rates.org
[38]
PyratesPG 2023. Pyrates Pedagogical Guide. Retrieved from: https://py-rates.org/guide/EN/
[39]
Pyscripter 2023. Pyscripter Github Page. Retrieved from: https://github.com/pyscripter/pyscripter
[40]
Yizhou Qian and James D. Lehman. 2016. Correlates of success in introductory programming: A study with middle school students. J. Educ. Learn. 5, 2 (2016), 73–83. DOI:
[41]
Reeborg 2023. Reeborg’s World Home Page. Retrieved from: https://reeborg.ca
[42]
Virginia Richardson. 2005. Constructivist teaching and teacher education: Theory and practice. In Constructivist Teacher Education: Building a World of New Understandings. Falmer Press, 3–14.
[43]
William Robinson. 2016. From Scratch to Patch: Easing the blocks-text transition. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education (WiPSCE’16). Association for Computing Machinery, New York, NY, 96–99. DOI:
[44]
Andreas Stefik and Susanna Siebert. 2013. An empirical investigation into programming language syntax. ACM Trans. Comput. Educ. 13, 4, Article 19 (Nov.2013), 40 pages. DOI:
[45]
Allison Elliott Tew and Mark Guzdial. 2011. The FCS1: A language independent assessment of CS1 knowledge. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE’11). Association for Computing Machinery, New York, NY, 111–116. DOI:
[46]
Adilson Vahldick, Antonio José Mendes, and Maria José Marcelino. 2014. A review of games designed to improve introductory computer programming competencies. In Proceedings of the IEEE Frontiers in Education Conference (FIE’14). 1–7. DOI:
[47]
Feng Wang and Michael J. Hannafin. 2005. Design-based research and technology-enhanced learning environments. Educ. Technol. Res. Devel. 53, 4 (2005), 5–23. DOI:
[48]
Pierre Weill-Tessier, Charalampos Kyfonidis, Neil Brown, and Michael Kölling. 2022. Strype: Bridging from blocks to Python, with Micro: Bit support. In Proceedings of the 27th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’22). Association for Computing Machinery, New York, NY, 585–586. DOI:
[49]
David Weintrop. 2019. Block-based programming in computer science education. Commun. ACM 62, 8 (July2019), 22–25. DOI:
[50]
David Weintrop, Alexandria K. Hansen, Danielle B. Harlow, and Diana Franklin. 2018. Starting from Scratch: Outcomes of early computer science learning experiences and implications for what comes next. In Proceedings of the ACM Conference on International Computing Education Research (ICER’18). Association for Computing Machinery, New York, NY, 142–150. DOI:
[51]
David Weintrop and Uri Wilensky. 2015. Using commutative assessments to compare conceptual understanding in blocks-based and text-based programs. In Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER’15). Association for Computing Machinery, New York, NY, 101–110. DOI:
[52]
David Weintrop and Uri Wilensky. 2017. Comparing block-based and text-based programming in high school computer science classrooms. ACM Trans. Comput. Educ. 18, 1, Article 3 (Oct.2017), 25 pages. DOI:
[53]
David Weintrop and Uri Wilensky. 2019. Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms. Comput. Educ. 142 (2019), 1–17. DOI:
[54]
Garry White and Marcos Sivitanides. 2005. Cognitive differences between procedural programming and object oriented programming. Inf. Technol. Manag. 6, 4 (01 Oct.2005), 333–350. DOI:
[55]
Zehui Zhan, Luyao He, Yao Tong, Xinya Liang, Shihao Guo, and Xixin Lan. 2022. The effectiveness of gamification in programming education: Evidence from a meta-analysis. Comput. Educ.: Artif. Intell. 3 (2022), 100096. DOI:

Index Terms

  1. Pyrates: Design and Evaluation of a Serious Game Aimed at Introducing Python Programming and Easing the Transition from Blocks

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Computing Education
      ACM Transactions on Computing Education  Volume 24, Issue 1
      March 2024
      412 pages
      EISSN:1946-6226
      DOI:10.1145/3613506
      • Editor:
      • Amy J. Ko
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 19 February 2024
      Online AM: 29 December 2023
      Accepted: 30 November 2023
      Revised: 31 October 2023
      Received: 28 June 2023
      Published in TOCE Volume 24, Issue 1

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Block-based programming
      2. CS1
      3. design-based research
      4. learning analytics
      5. Python
      6. secondary education
      7. serious game
      8. Scratch
      9. text-based programming

      Qualifiers

      • Research-article

      Funding Sources

      • Region Bretagne
      • Université de Bretagne Occidentale

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 288
        Total Downloads
      • Downloads (Last 12 months)288
      • Downloads (Last 6 weeks)39
      Reflects downloads up to 13 Dec 2024

      Other Metrics

      Citations

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      Full Text

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media