Exploring problem decomposition and program development through block-based programs
Keywords:Computational Thinking, Scratch, Decomposition, Computer Science Education, Block-Based Programming
Although teachers need to assess computational thinking (CT) for computer science education in K-12, it is not easy for them to evaluate studentsâ€™ programs based on the perspective. The purpose of this study was to investigate studentsâ€™ CT skills reflected in their Scratch programs. The context of the study was a middle school coding club where seven students voluntarily participated in a five-week coding activity. A total of eleven Scratch programs were analyzed in two aspects: problem decomposition and program development. Results revealed that students demonstrated proper decompositions of problems, which supported program development processes. However, in some cases, students failed to decompose necessary parts as their projects got sophisticated, which resulted in the failure or errors of programs. Regarding program development, algorythmic thinking had been identified as the area to be improved. Debugging and evaluation of programs were the necessary process students needed to practice. Implications for teaching CT skills were discussed.
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
Angeli, C., Voogt, J., Fluck, A., Webb, M., Cox, M., Malyn-Smith, J., & Zagami, J. (2016). A K-6 Computational Thinking Curriculum Framework: Implications for Teacher Knowledge. Journal of Educational Technology & Society, 19(3), 47-57.
Barr, D., Harrison, J., & Conery, L. (2011). Computational Thinking: A Digital Age Skill for Everyone. Learning & Leading with Technology, 38(6), 20-23. doi:citeulike-article-id:10297515
Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: what is Involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48-54. doi:10.1145/1929887.1929905 DOI: https://doi.org/10.1145/1929887.1929905
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
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. Paper presented at the Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada.
Buss, A., & Gamboa, R. (2017). Teacher Transformations in Developing Computational Thinking: Gaming and Robotics Use in After-School Settings. In P. J. Rich & C. B. Hodges (Eds.), Emerging Research, Practice, and Policy on Computational Thinking (pp. 189-203). Cham: Springer International Publishing.
CSTA, & ISTE. (2011). Operational definition of computational thinking for Ke12 education. Retrieved from https://c.ymcdn.com/sites/www.csteachers.org/resource/resmgr/CompThinkingFlyer.pdf
Davies, S. P. (1993). Models and theories of programming strategy. International Journal of Man-Machine Studies, 39(2), 237-267. doi:10.1006/imms.1993.1061 DOI: https://doi.org/10.1006/imms.1993.1061
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
Kazimoglu, C., Kiernan, M., Bacon, L., & MacKinnon, L. (2012). Learning Programming at the Computational Thinking Level via Digital Game-Play. Procedia Computer Science, 9, 522-531. doi:10.1016/j.procs.2012.04.056 DOI: https://doi.org/10.1016/j.procs.2012.04.056
Kim, B., Kim, T., & Kim, J. (2013). Paper-and-Pencil Programming Strategy toward Computational Thinking for Non-Majors: Design Your Solution. Journal of Educational Computing Research, 49(4), 437-459. doi:10.2190/EC.49.4.b DOI: https://doi.org/10.2190/EC.49.4.b
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
Kwon, K., Lee, S. J., & Chung, J. (2018). Computational concepts reflected on Scratch programs. International Journal of Computer Science Education in Schools, 2(3). doi:10.21585/ijcses.v2i3.33 DOI: https://doi.org/10.21585/ijcses.v2i3.33
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
Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior, 41, 51-61. doi:10.1016/j.chb.2014.09.012 DOI: https://doi.org/10.1016/j.chb.2014.09.012
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
Mayer, R. E. (1981). The Psychology of How Novices Learn Computer Programming. ACM Computing Surveys, 13(1), 121-141. doi:10.1145/356835.356841 DOI: https://doi.org/10.1145/356835.356841
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-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.
Pea, R. D. (1986). Language-independent conceptual" bugs" in novice programming. Journal of Educational Computing Research, 2(1), 25-36. doi:10.2190/689T-1R2A-X4W4-29J2 DOI: https://doi.org/10.2190/689T-1R2A-X4W4-29J2
Reigeluth, C. M. (1999). The elaboration theory: Guidance for scope and sequence decisions. In C. M. Reigeluth (Ed.), Instructional design theories and models: A new paradigm of instructional theory (Vol. 2, pp. 425-453). Hillsdale, NJ: Lawrence Erlbaum Associates.
Robertson, J. (2011). The educational affordances of blogs for self-directed learning. Computers & Education, 57(2), 1628-1644. doi:10.1016/j.compedu.2011.03.003 DOI: https://doi.org/10.1016/j.compedu.2011.03.003
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172. doi:10.1076/csed.126.96.36.19900 DOI: https://doi.org/10.1076/csed.188.8.131.5200
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
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142-158. doi:10.1016/j.edurev.2017.09.003 DOI: https://doi.org/10.1016/j.edurev.2017.09.003
Smith, N., Sutcliffe, C., & Sandvik, L. (2014). Code Club: bringing programming to UK primary schools through Scratch. Paper presented at the 45th ACM Technical Symposium on Computer Science Education (SIGCSE 14), Atlanta, GA. DOI: https://doi.org/10.1145/2538862.2538919
Wang, Y., Li, H., Feng, Y., Jiang, Y., & Liu, Y. (2012). Assessment of programming language learning based on peer code review model: Implementation and experience report. Computers & Education, 59(2), 412-422. doi:10.1016/j.compedu.2012.01.007 DOI: https://doi.org/10.1016/j.compedu.2012.01.007
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
How to Cite
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, Sang Joon Lee, Jaehwa Chung, Computational concepts reflected on Scratch programs , International Journal of Computer Science Education in Schools: Vol. 2 No. 3 (2018): 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