Facilitating Computational Thinking through Digital Fabrication

Curricular changes towards fostering computational thinking through programming activities for students of all ages are spreading rapidly throughout Europe. However, students may be negatively biased or not interested or prepared to engage in such activities. This work proposes digital fabrication within a hands-on pedagogical frame as an approach to engage students in programming activities facilitating the use and understanding of computational thinking concepts. Within the proposed approach, students engage in programming applied to develop tasks from their school curriculum. This paper illustrates the approach through pilot trial experiences at a local junior high school.


INTRODUCTION
Computational thinking (CT) has been defined as "the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer-human or machinecan effectively carry out" [1]. It provides a set of tools to problem solving within computer technology oriented environments [2]. This is a very important skill to acquire as current societies are becoming rapidly more digitalised, and job markets will progressively require such competence [3]. Hence, CT has been called to be incorporated into the school curriculum not only as an integral part of math and science teaching [4] but also cross subjects such as social studies [5] and handicraft education [6] at K-12 level, for instance. CT through programming exposes the students to problem-solving using concepts such as abstraction and decomposition [7]. However, the introduction of computational thinking through programming alone can face resistance from the students that could have a negatively biased perception towards 'programming' or 'coding' [8]. Pedagogical approaches based on constructivists, hands-on activities could alleviate this problem [9].
In this work, we explore the students' engagement with creating and programming computer-supported artefacts as part of their school subject tasks. The tasks are carried out following a craft-and project-based pedagogical approach based on design thinking and inquiry-based learning. Our contribution poses the benefits of applying digital fabrication within a crafts-and project-based pedagogy as a medium to expose students to computational thinking through programming and making.

RELATED WORK
The work of Bers et al. [9] showed that engaging 4 year olds with construction-based robotics activities fostered their learning of programming concepts and computational thinking. Lau et al. [10] reported on their experience engaging middle-school children in hands-on and programming activities through wearable computing, showing that students with no previous knowledge found programming and circuit design enjoyable and interesting. Programming with blocks has been reported to be an effective way to introduce programming concepts to novices. It lowers the learning curve to program, and the students receive immediate feedback on their code: the blocks either click together or the program does not work. (See [11]). This helps novices and children of very young age to get engaged in programming while developing their computational thinking skills [12]. Our work looks at the integration of hands-on constructivist activities through digital fabrication embedded in a craft-and project-based pedagogical approach, to facilitate engagement in programming and making.

PEDAGOGICAL APPROACH
In order to enable the inclusion of digital fabrication and programming into formal education, a solid pedagogical approach is needed [13]. We propose the integration of design thinking and inquiry-based learning in the form of a craft-and project-based pedagogical methodology. This methodology fosters group work and follows a 5 stages process from the ideation of a solution; the planning of how to achieve it, dividing tasks and assigning roles among group members for instance (Fig. 1a); the physical creation of the solution as an artefact (Fig. 1b); the programming of the artefact to make it interactive (Fig. 1c); to the sharing of their solution and learning experience (Fig. 1d). It is important to notice that the stages are not necessarily carried out linearly, students can work back and forward between them. (See [14] for further details).
For the hands-on digital fabrication activities we use 3D modelling (TinkerCAD) and 3D printing combined with recycled materials such as pet-bottles and cardboards as well as crafting materials such as hot glue, threads, wires, etc. Electronic devices such as sensors, light emitting diodes (LEDs), resistors, etc., are also used to program the interactivity of the artefact. During our pilot trials, the students programmed interactive functionalities to their artefacts using Arduino UNO board. Arduino boards are widely utilised in fabrication labs (FabLabs) and maker spaces for tinkering and making [15] as well as for education projects [16]. To program and interact with the Arduino board, we use Snap4Arduino programming block environment. Snap4Arduino is a modified version of the Snap! visual programming language, an extended implementation of Scratch [17]. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. In the pilot trials, two 9 th grade classes and their teacher from a local Finnish junior high school participated voluntarily. With the assistance of the teacher, as part of their social studies subject matter students were tasked to reflect on issues of security in society and institutions and how technology is applied. The pedagogical objectives were therefore interdisciplinary, fostering students' social awareness as well as their digital literacy. Students worked in their projects during school hours allocated to social studies subject matter (45m/session, 20 sessions). One class had 13 students (all girls, drama club) and the other class had 15 students (3 girls/12 boys). The students self-organised into groups of 4-5 students in each class. The students have had no previous engagement with programming in particular, or hands-on activities for social studies in general. Each class was introduced to the basic concepts of programming with blocks in Snap4Arduino visual environment, electronic components, as well as 3D modelling and 3D printing in three introductory hands-on lessons. Students completed a brief questionnaire at the end of their project regarding their views on the craft-and project-based pedagogical approach to digital fabrication and making in their school subject (see Fig. 1).
To assist with the ideation process, students were given written information on different electronic components that were available for them to use. During ideation, the groups brainstormed with teacher's assistance how to model security in society (Fig 1a). For example in one class, one of the groups decided to represent security in medieval times, through castles and fortresses. Other groups decided to represent security through secure rooms: guarding a precious stone in a museum or a futuristic sport car in a display room. The students also assigned roles among themselves as they ideated or planned their solutions. Students dedicated a large amount of time creating and building their models as well as programming the model's interactions (Fig 1b, Fig 1c). This is understandable as the students (and teacher) were not familiar with digital fabrication, programming, electronics components or handson making activities. Although these elements were new and challenging, students demonstrated commitment and engagement particularly during creation and programming. Students applied CT concepts when modelling their solutions (abstraction) and creating artefacts as a combination of smaller tasks (decomposition), one of those being programming. For this, students used loops, operators, conditionals, data, etc. For instance, the group representing security through a museum room with a valuable stone, devised a mechanism using Arduino, pressure sensors, piezoelectric buzzer and LEDs so that when the stone was removed from its spot a visual and audio alarm was activated. All of the groups shared their experiences at the end of the course (Fig 1d). The students' satisfaction with their achievements and engagement in the learning experience was evident by the final questionnaire responses, where over 90% of students (12/13; 14/15) indicated that they were more comfortable/confident with programming than before the course.