Exploring problem decomposition and program development through block-based programs

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.

[1]  Mordechai Ben-Ari,et al.  Learning computer science concepts with scratch , 2010, ICER '10.

[2]  Gregorio Robles,et al.  Dr. Scratch: Automatic Analysis of Scratch Projects to Assess and Foster Computational Thinking , 2015 .

[3]  Young-Jin Lee,et al.  Developing computer programming concepts and skills via technology-enriched language-art projects: A case study , 2010 .

[4]  Taehun Kim,et al.  Paper-and-Pencil Programming Strategy toward Computational Thinking for Non-Majors: Design Your Solution , 2013 .

[5]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

[6]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[7]  John Harrison,et al.  Computational Thinking: A Digital Age Skill for Everyone. , 2011 .

[8]  Jaehwa Chung,et al.  Computational concepts reflected on Scratch programs , 2018 .

[9]  Esteban Vázquez-Cano,et al.  Visual programming languages integrated across the curriculum in elementary school: A two year case study using "Scratch" in five schools , 2016, Comput. Educ..

[10]  Liz Bacon,et al.  Learning Programming at the Computational Thinking Level via Digital Game-Play , 2012, ICCS.

[11]  Charles M. Reigeluth,et al.  The elaboration theory: Guidance for scope and sequence decisions. , 1999 .

[12]  V. Shute,et al.  Demystifying computational thinking , 2017 .

[13]  Felienne Hermans,et al.  How Kids Code and How We Know: An Exploratory Study on the Scratch Repository , 2016, ICER.

[14]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[15]  Shuchi Grover,et al.  Measuring Student Learning in Introductory Block-Based Programming: Examining Misconceptions of Loops, Variables, and Boolean Logic , 2017, SIGCSE.

[16]  Yuan-Bang Cheng,et al.  The effect of simulation games on the learning of computational problem solving , 2011, Comput. Educ..

[17]  Simon P. Davies,et al.  Models and Theories of Programming Strategy , 1993, Int. J. Man Mach. Stud..

[18]  Chris Stephenson,et al.  Bringing computational thinking to K-12: what is Involved and what is the role of the computer science education community? , 2011, INROADS.

[19]  Kyungbin Kwon,et al.  Novice programmer’s misconception of programming reflected on problem-solving plans , 2017, Int. J. Comput. Sci. Educ. Sch..

[20]  Ruben Gamboa,et al.  Teacher Transformations in Developing Computational Thinking: Gaming and Robotics Use in After-School Settings , 2017, Emerging Research, Practice, and Policy on Computational Thinking.

[21]  Jeffrey G. Gray,et al.  Learnable programming , 2017, Commun. ACM.

[22]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[23]  Sze Yee Lye,et al.  Review on teaching and learning of computational thinking through programming: What is next for K-12? , 2014, Comput. Hum. Behav..

[24]  Richard E. Mayer,et al.  The Psychology of How Novices Learn Computer Programming , 1981, CSUR.

[25]  Neil Smith,et al.  Code club: bringing programming to UK primary schools through scratch , 2014, SIGCSE '14.

[26]  Mary Webb,et al.  A K-6 Computational Thinking Curriculum Framework: Implications for Teacher Knowledge , 2016, J. Educ. Technol. Soc..

[27]  Judy Robertson,et al.  The educational affordances of blogs for self-directed learning , 2011, Comput. Educ..

[28]  Ying Liu,et al.  Assessment of programming language learning based on peer code review model: Implementation and experience report , 2012, Comput. Educ..