Computational concepts reflected on Scratch programs

https://doi.org/10.21585/ijcses.v2i3.33

Authors

  • Kyungbin Kwon Indiana University
  • Sang Joon Lee Mississippi State University
  • Jaehwa Chung Korea National Open University

Keywords:

Scratch, block-based programming, computer science education, novice programmer, computational thinking

Abstract

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

Download data is not yet available.

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

2018-09-22

How to Cite

Kwon, K., Lee, S. J., & Chung, J. (2018). Computational concepts reflected on Scratch programs. International Journal of Computer Science Education in Schools, 2(3). https://doi.org/10.21585/ijcses.v2i3.33