Computational concepts reflected on Scratch programs
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.
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.
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
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
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
Cooper, S., & Cunningham, S. (2010). Teaching computer science in context. ACM Inroads, 1(1), 5-8. doi: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.
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
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.
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
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
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
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
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
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.
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
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
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
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
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
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. doi: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
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
Copyright (c) 2018 Kyungbin Kwon, Sang Joon Lee, Jaehwa Chung
This work is licensed under a Creative Commons Attribution 4.0 International License.
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).