Human communication is a complex system based on unpredictable, but adaptable interactions between humans. However, when humans communicate with a computer, the prerequisites are different. Computers are predictable and have a non-adaptable behavior based on the simplicity of physical laws of electricity, binary code, the flow of information, and the interaction of components, i.e., a computer is only a complicated machine. Hence, when we communicate to control computers, we use adapted languages that computers understand.
Nowadays, programming is part of technology education. Students should be able to design and control technological artefacts using programming. It is suggested that both computational thinking and systems thinking are simultaneously involved when approaching and solving design problems using programming (Berland & Wilensky, 2015; Shute et al., 2017; Wing, 2011). The difference between the two approaches can be described as systems thinking focuses on analyzing and designing relationships among components in a system, while computational thinking focuses on designing solutions to problems by computation (Shute et al., 2017). Shin et al. (2022) describe systems thinking as the ability to understand a problem as a system of interacting components that produces a certain behavior, and computational thinking as an iterative approach for exploring, unpacking, synthesizing, and predicting the certain behavior of the system using computational algorithmic methods. Thus, students should utilize both systems thinking and computational thinking to be able to design and control digital technological artefacts (i.e., to communicate intentions to the machine). To simplify, block programming is used.
However, few studies have investigated the ways students experience the block-programming language for communicating intentions and controlling the machine. To fill this gap in knowledge, this study explores an activity where students design and control a digital technological artefact. The aim is to provide insight into the communication between the students and the machine, and the ways students experience the control of the machine using block-programming. Data was gathered from video-recordings and interviews with students aged 14 when designing and coding a burglar alarm using BBC micro:bit. The results show that the complexity of human language is not easily transformed into a block programming language. Students have semantical difficulties regarding what the blocks represent, how they can be combined, and in what contexts they should be used. Students' difficulties seem based on the challenge of matching their idea of the structure and function of the machine as expressed in everyday language, with what the blocks represent as structural and functional aspects of the machine and as programming concepts. Consequently, to be able to control the machine, students need to understand the behavior of the machine as the complicated system it is, in terms of functional and structural parts and how these are related to each other. To communicate their intentions, they need to be able to transform the complexity of human language into a programming language based on blocks that represent the behavior of the complicated machine. This shows the importance of merging together systems thinking and computational thinking as part of teaching technological problem-solving.