ABSTRACT
Scratch users often struggle to detect and correct 'code smells' (bad programming practices) such as duplicated blocks and large scripts, which can make programs difficult to understand and debug. These 'smells' can be caused by a lack of abstraction, a skill that plays a key role in computer science and computational thinking. We created Pirate Plunder, a novel educational block-based programming game, that aims to teach children to reduce smells by reusing code in Scratch. This work describes an experimental study designed to measure the efficacy of Pirate Plunder with children aged 10 and 11. The findings were that children who played the game were then able to use custom blocks (procedures) to reuse code in Scratch, compared to non-programming and programming control groups.
Supplemental Material
Available for Download
Preview video captions
- Efthimia Aivaloglou, Felienne Hermans, Jesús Moreno-León, and Gregorio Robles. 2017. A Dataset of Scratch Programs: Scraped, Shaped and Scored. In Proceedings of the 14th International Conference on Mining Software Repositories. 511--514. Google ScholarDigital Library
- Michal Armoni. 2013. On Teaching Abstraction in Computer Science to Novices. Journal of Computers in Mathematics and Science Teaching 32, 3 (2013), 265--284.Google Scholar
- Paulo Blikstein. 2018. Pre-College Computer Science Education: A Survey of the Field. Technical Report. Google. 45 pages.Google Scholar
- Karen Brennan and Mitchel Resnick. 2012. New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada. 1--25.Google Scholar
- Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. 1--337 pages.Google ScholarDigital Library
- Fredrik Heintz, Linda Mannila, and Tommy Farnqvist. 2016. A Review of Models for Introducing Computational Thinking, Computer Science and Computing in K-12 Education. In Proceedings of the 2016 IEEE Frontiers in Education Conference (FIE). 1--9.Google ScholarCross Ref
- Felienne Hermans and Efthimia Aivaloglou. 2016. Do Code Smells Hamper Novice Programming? A Controlled Experiment on Scratch Programs. In Proceedings of the IEEE 24th International Conference on Program Comprehension (ICPC). 1--10.Google ScholarCross Ref
- Jesús Moreno-León, Gregorio Robles, and Marcos Román-González. 2015. Dr. Scratch: Automatic Analysis of Scratch Projects to Assess and Foster Computational Thinking. Revista de Educación a Distancia (RED) 46 (2015).Google Scholar
- Seymour Papert. 1980. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc. Google ScholarDigital Library
- Marcos Román-González, Juan-Carlos Pérez-González, and Carmen Jiménez-Fernández. 2016. Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior 72 (2016), 678--691. Google ScholarDigital Library
- Simon P. Rose, M. P. Jacob Habgood, and Tim Jay. 2018. Pirate Plunder: Game-Based Computational Thinking Using Scratch Blocks. In Proceedings of the 12th European Conference for Game Based Learning. 556--564.Google Scholar
- Valerie J. Shute, Chen Sun, and Jodi Asbell-Clarke. 2017. Demystifying computational thinking. Educational Research Review 22 (2017), 142--158.Google ScholarCross Ref
- Peeratham Techapalokul and Eli Tilevich. 2017. Understanding Recurring Software Quality Problems of Novice Programmers. In Proceedings of the 2017 IEEE Symposium on Visual Languages and Human-Centric Computing. 43--51.Google ScholarCross Ref
- The Royal Society. 2012. Shut down or restart? The way forward for computing in UK schools. Technical Report. London. 122 pages.Google Scholar
- Twinkl Educational Publishing. 2018. Computing Year 6. https://twinkl.co.uk.Google Scholar
- Jeannette M. Wing. 2006. Computational Thinking. Commun. ACM 49, 3 (2006), 33. Google ScholarDigital Library
Index Terms
- Using Pirate Plunder to Develop Children's Abstraction Skills in Scratch
Recommendations
Gender Differences in Scratch Programs of Primary School Children
WiPSCE '17: Proceedings of the 12th Workshop on Primary and Secondary Computing EducationIt is commonly believed that the attitudes towards programming are strongly dependent on gender among adolescents or adults. Regarding younger children, these differences in the attitudes might be less relevant. To investigate this, we have analyzed the ...
Learning Abstraction in Computer Science: A Gender Perspective
WiPSCE '17: Proceedings of the 12th Workshop on Primary and Secondary Computing EducationIn a previous study, we investigated a framework for teaching abstraction in computer science (CS) in the context of an introductory CS course for 7th-grade students. The framework was found effective for developing CS abstraction skills. In this paper, ...
Gender Characteristics and Computational Thinking in Scratch
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2This study investigates the Computational Thinking skill differences among novice programmers in relation to gender. Block-based visual programming languages such as Scratch particularly benefit K-12 programmers because they learn how to code ...
Comments