Computational concepts reflected on Scratch programs
Keywords:
Scratch, block-based programming, computer science education, novice programmer, computational thinkingAbstract
Evaluating the quality of students’ programs is necessary for better teaching and learning. Although many innovative learning environments for computer science have been introduced, the scarcity of program evaluation frames and tools is a demanding issue in the teaching practice. This study examined the quality of students’ Scratch programs by utilizing Dr. Scratch and by analyzing codes based on four computational concepts: conditions, loops, abstractions, and variables. Twenty-three Scratch programs from two classes were examined. Dr. Scratch results revealed that Scratch programs demonstrated a middle level of competency in computational thinking. The analysis of computational concepts suggested that students had a sufficient understanding of the main concepts and demonstrated computing competency by applying the concepts into their programs. The study also discussed inefficient programming habits, instructional issues utilizing Scratch, and the importance of problem decomposition skills.
Downloads
References
Aivaloglou, E., & Hermans, F. (2016). How Kids Code and How We Know: An Exploratory Study on the Scratch Repository. Paper presented at the Proceedings of the 2016 ACM Conference on International Computing Education Research, Melbourne, VIC, Australia. DOI: https://doi.org/10.1145/2960310.2960325
Arzarello, F., Chiappini, G. P., Lemut, E., Malara, N., & Pellerey, M. (1993). Learning Programming as a Cognitive Apprenticeship Through Conflicts. In E. Lemut, B. du Boulay, & G. Dettori (Eds.), Cognitive Models and Intelligent Environments for Learning Programming (pp. 284-298). Berlin, Heidelberg: Springer.
Bau, D., Gray, J., Kelleher, C., Sheldon, J., & Turbak, F. (2017). Learnable programming: blocks and beyond. Communications of the ACM, 60(6), 72-80. doi:10.1145/3015455 DOI: https://doi.org/10.1145/3015455
Buitrago Flórez, F., Casallas, R., Hernández, M., Reyes, A., Restrepo, S., & Danies, G. (2017). Changing a Generation’s Way of Thinking: Teaching Computational Thinking Through Programming. Review of Educational Research, 87(4), 834-860. doi:10.3102/0034654317710096 DOI: https://doi.org/10.3102/0034654317710096
Chao, P.-Y. (2016). Exploring students' computational practice, design and performance of problem-solving through a visual programming environment. Computers & Education, 95, 202-215. doi:10.1016/j.compedu.2016.01.010 DOI: https://doi.org/10.1016/j.compedu.2016.01.010
Cooper, S., & Cunningham, S. (2010). Teaching computer science in context. ACM Inroads, 1(1), 5-8. doi:10.1145/1721933.1721934 DOI: https://doi.org/10.1145/1721933.1721934
Google, & Gallup. (2015). Searching for Computer Science: Access and Barriers in U.S. K-12 Education. Retrieved from https://goo.gl/oX311J
Grover, S., & Basu, S. (2017). Measuring Student Learning in Introductory Block-Based Programming: Examining Misconceptions of Loops, Variables, and Boolean Logic. Paper presented at the Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, Seattle, Washington, USA. DOI: https://doi.org/10.1145/3017680.3017723
Grover, S., Pea, R., & Cooper, S. (2015). Designing for deeper learning in a blended computer science course for middle school students. Computer Science Education, 25(2), 199-237. doi:10.1080/08993408.2015.1033142 DOI: https://doi.org/10.1080/08993408.2015.1033142
Kohn, T. (2017a). Variable Evaluation: an Exploration of Novice Programmers' Understanding and Common Misconceptions. Paper presented at the ACM SIGCSE Technical Symposium on Computer Science Education, Seattle, Washington, USA.
Kohn, T. (2017b). Variable Evaluation: an Exploration of Novice Programmers' Understanding and Common Misconceptions. Paper presented at the Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, Seattle, Washington, USA. DOI: https://doi.org/10.1145/3017680.3017724
Kwon, K. (2017). Novice programmer's misconception of programming reflected on problem-solving plans. International Journal of Computer Science Education in Schools, 1(4), 14-24. doi:10.21585/ijcses.v1i4.19 DOI: https://doi.org/10.21585/ijcses.v1i4.19
Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 14-18. doi:10.1145/1151954.1067453 DOI: https://doi.org/10.1145/1151954.1067453
Lee, Y. (2010). Developing computer programming concepts and skills via technology-enriched language-art projects: A case study. Journal of Educational Multimedia and Hypermedia, 19(3), 307-326.
Liu, C.-C., Cheng, Y.-B., & Huang, C.-W. (2011). The effect of simulation games on the learning of computational problem solving. Computers & Education, 57(3), 1907-1918. doi:10.1016/j.compedu.2011.04.002 DOI: https://doi.org/10.1016/j.compedu.2011.04.002
Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The Scratch Programming Language and Environment. ACM Transactions on Computing Education, 10(4), 1-15. doi:10.1145/1868358.1868363 DOI: https://doi.org/10.1145/1868358.1868363
Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning computer science concepts with Scratch. Computer Science Education, 23(3), 239-264. doi:10.1080/08993408.2013.832022 DOI: https://doi.org/10.1080/08993408.2013.832022
Moreno, J., & Robles, G. (2014, 22-25 Oct. 2014). Automatic detection of bad programming habits in scratch: A preliminary study. Paper presented at the 2014 IEEE Frontiers in Education Conference (FIE) Proceedings. DOI: https://doi.org/10.1109/FIE.2014.7044055
Moreno-León, J., Robles, G., & Román-González, M. (2015). Dr. Scratch: Automatic analysis of scratch projects to assess and foster computational thinking. RED. Revista de Educación a Distancia(46), 1-23.
Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., . . . Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60-67. doi:10.1145/1592761.1592779 DOI: https://doi.org/10.1145/1592761.1592779
Sáez-López, J.-M., Román-González, M., & Vázquez-Cano, E. (2016). Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch†in five schools. Computers & Education, 97, 129-141. doi:10.1016/j.compedu.2016.03.003 DOI: https://doi.org/10.1016/j.compedu.2016.03.003
Samurcay, R. (1989). The concept of variable in programming: Its meaning and use in problem-solving by novice programmers. In E. Soloway & J. C. Spohrer (Eds.), Studying the novice programmer (pp. 161-178). Hillsdale, NJ: Lawrence Erlbaum.
Shi, N., Cui, W., Zhang, P., & Sun, X. (2018). Evaluating the Effectiveness Roles of Variables in the Novice Programmers Learning. Journal of Educational Computing Research, 56(2), 181-201. doi:10.1177/0735633117707312 DOI: https://doi.org/10.1177/0735633117707312
Su, A. Y. S., Yang, S. J. H., Hwang, W., Huang, C. S. J., & Tern, M. (2014). Investigating the role of computer-supported annotation in problem-solving-based teaching: An empirical study of a Scratch programming pedagogy. British Journal of Educational Technology, 45(4), 647-665. doi:10.1111/bjet.12058 DOI: https://doi.org/10.1111/bjet.12058
Topalli, D., & Cagiltay, N. E. (2018). Improving programming skills in engineering education through problem-based game projects with Scratch. Computers & Education, 120, 64-74. doi:10.1016/j.compedu.2018.01.011 DOI: https://doi.org/10.1016/j.compedu.2018.01.011
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. doi:10.1145/1118178.1118215 DOI: https://doi.org/10.1145/1118178.1118215
Winslow, L. E. (1996). Programming pedagogy - a psychological overview. ACM SIGCSE Bulletin, 28(3), 17-22. doi:10.1145/234867.234872 DOI: https://doi.org/10.1145/234867.234872
Yadav, A., Hong, H., & Stephenson, C. (2016). Computational Thinking for All: Pedagogical Approaches to Embedding 21st Century Problem Solving in K-12 Classrooms. TechTrends, 60(6), 565-568. doi:10.1007/s11528-016-0087-7 DOI: https://doi.org/10.1007/s11528-016-0087-7
Published
How to Cite
Issue
Section
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
Most read articles by the same author(s)
- Kyungbin Kwon, Novice programmer’s misconception of programming reflected on problem-solving plans , International Journal of Computer Science Education in Schools: Vol. 1 No. 4 (2017): International Journal of Computer Science Education in Schools
- Kyungbin Kwon, Jongpil Cheon, Exploring problem decomposition and program development through block-based programs , International Journal of Computer Science Education in Schools: Vol. 3 No. 1 (2019): International Journal Of Computer Science Education In Schools
- Hyunchang Moon, Jongpil Cheon, Kyungbin Kwon, Difficult Concepts and Practices of Computational Thinking Using Block-based Programming , International Journal of Computer Science Education in Schools: Vol. 5 No. 3 (2022): International Journal of Computer Science Education in Schools