**4. Good design practice**

If coding can admit such a broad framework of application possibilities in education, it is possible to reason about it in terms of skills and problem-solving strategies [28]. Specifically, in response to the emerging need to shift the design of coding from an alphabetical-informational paradigm to a creative paradigm, we have moved on three sliders:


#### *Coding and Creativity: Reflections and Design Proposals DOI: http://dx.doi.org/10.5772/intechopen.109971*

Let us start with the first one. As research focus, coding is mainly developed within specific hours, referred to as code hours [29, 30], and how it is used to explore STEM disciplines or logical-mathematical skills with computational thinking [31, 32]. However, this does not show how coding allows one to go beyond skills and get to developing competencies.

According to Le Boterf [33], competence is not reducible to a set of atomic and separate performances, but rather tends to be thought of as an integration of the resources possessed by the individual, involving the activation of knowledge, skills, and personal dispositions relating to both the cognitive and the socio-emotional and volitional planes. Its expression requires bringing into play and mobilizing the wholeness of the person in its multiple dimensions [34]. It also requires going beyond behaviors observable and to pay attention to the internal dispositions of the subject.

According to this understanding, the construct of competence turns out to be inclusive of the different dimensions involved in the learning process [35], which can be traced to the following three planes:


In this perspective, competences reside in the mobilization of the individual's resources (knowledge, skills, attitudes …), not in the resources themselves. Thus, they take the form of knowing how to act (or react) in a given situation or context to achieve a performance.

Moreover, developing situated competence means working not only on the subject's resources but also on the conditions that lead him or her to effectively mobilize his or her resources (knowledge, skills and personal, and social and/or methodological abilities) in relation to a situation-problem, with the aim of proposing effective responses that express their full responsibility and autonomy [36]. To "act competently," a person must be able to "read" the situation-problem [37] according to "competent" patterns, leading him or her to interpret it, assign meaning to it and, consequently, make relevant decisions. Based on such decisions, the person will take effective actions in response to the situation itself, choosing from a set of strategies available to him or her [38]. Finally, the person will have to evaluate in progress the quality of his or her interpretations and actions, revising and changing them should they prove inadequate in the course of events.

Coming back to coding, it develops skills of a significant and transversal type, leading to a model of "competent action" that continues to review, deepen, and bring into play the learning system of the individual student and the class group.

From this perspective, in line with Le Boterf [39], we can place the coding actions designed by educators and teachers on the slider of competence (**Figure 8**).

The competence's slider makes it visible and questions the design of student's requests: complex situations require multidimensional understanding of needs; mobilize resources (knowledge, skills, and attitudes) at individual level or social one;

**Figure 8.** *Le Boterf's slider of competence.*

broad visions in terms of resolving possibilities; request to take initiatives and are open to innovations; and set up a setting that allows the possibility to act safely, to take responsibility and risks without fear of negative feedback or failure. Complex situations involve students in:


From this perspective, we can insert ourselves with a reflection on the type of task and situation-problem that it is necessary to propose within the teaching of coding. The goal of the activities must be to give meta-reflective momentum to the students [41], allowing them to re-evaluate the error as a way to learn and return to their own steps by analyzing how to adjust, improve, and change their practice.

Second slider is related to the problem-solving process and student's involvement. The scientific literature reports that problem-solving in coding is essential, and it is the first skill developed and observed [42–45].

On this basis, it is essential to propose activities that move from Veridical Decision-Making (VDM) to Adaptive Decision-Making (ADM) [46], two strategies studied within the neuroscientific understanding about how our brain makes decisions.

VDM occurs when the problem situation provides only one correct solution, and the task is to find it. Conversely, ADM occurs when the problem situation provides more than one possibility for effective solution and the task consists of finding the most functional one.

If you try to combine the slider of competence with these two decision-making strategies, you can notice how VDM is typical of the development of skills, while ADM can be inserted within the competences.

Moreover, you can then think about the design of teaching with coding from the perspective of ADM and competences, going to work on resources, setting and motivation just proposing situations-wide problem, with different possible solutions and with a collaborative and comparative expendability that allows students to be meta-reflective among themselves, thus enhancing the continuous communicationrelational exchange.

If these two factors of competence and strategy work on the problem, it is possible to graft the four coding paradigms explored earlier.

Considering the representations of educators and teachers, it is possible to place the functionalist and postmodernist paradigms within the development of skills and work on VDM. This is because programming language decision-making and the think-make-improve system leads students to focus on a linear problem situation with a single solution that can be taken apart and reassembled and that has right or wrong feedback within it, without the need for meta-reflection work. In these two paradigms, the work is possible to do individually and without continuous comparison with peers.

In contrast, the interpretive and emancipatory paradigms lead students to work from the perspective of competences and AMD logic. The reason for this is precisely implicit in action design: working on critical analysis and overcoming the script require having complex problem situations, which require broad solutions and may be different depending on the type of resolution perspective. Moreover, applied decision-making must adapt to the context and be flexible with respect to possible changes and relaunches given by peers, with whom it is necessary to work to arrive at functional resolutions.

In **Table 1**, let us try to summarize the design features that coding can have, working on three types of skills: decision-making, problem reading, and its resultant and transversal competence.

The last slider refers to the media education approach. If the intention of coding is to go to work on media activism as well, from the perspective presented here, it is possible to place it within new media literacy education [47], considering critical development in terms of rethinking media and their algorithms, not only on a technical level.

The goal of the new media literacy education is not adaptation, the mere acquisition of skills to interact with technological tools that are dropped on us from above [48]. The goal of media education for democracy is to train for citizenship, for the acquisition of the skills to use and think about technologies in a critical and empowering sense [49]. In addition, in this model, coding comes full circle only if it is creative and participatory.

In addition, this can only be done through an instructional design of coding that moves away from the logic of the Hour of Code and closer to an active strategy that


#### **Table 1.**

*Summary table of approaches to coding versus instructional design sliders.*

#### *Pedagogy, Learning, and Creativity*

fits cross-curricular with the teaching of disciplines and fields of experience, with a relaxed and vertical time.

Of course, the design shift is not easy to apply. However, if it is true that coding aims to develop complex and therefore flexible thinking, it will be increasingly necessary to move forward in this direction.

The sliders are the three important designing questions for the development of creativity through coding: put in place by teachers, it is then possible to strive and destroy simple univocal thinking to open up toward creative thinking of a thousand opportunities.

## **5. Conclusion**

The perspective that has been outlined leads us in conclusion to look for the relationship between coding and creativity in three essential movements in education: the first is related to microlearning [50], which increasingly requires a student-centered design [51, 52] that sees the teacher as the one who not only leads but also guides the activities and thinking. The second is related to the way of reviewing and reevaluating convergent and divergent thinking; if the former leads the student to learn in a closed way, which does not allow him/her to see knowledge and skills from his/her own perspective, it is necessary to deepen and develop the latter, as forma mentis and as a modus operandi, not only of the student but also of the teacher. Finally, the third movement is that of moving from product assessment and observation to process assessment and observation [53]; it is in this process that meaningful learning takes place and enactment becomes possible, allowing one to develop one's own innovative thinking.

These three elements come together precisely in the coding methodology, not only bringing the student to the center but allowing him or her to see different solutions to real problems and looking at the work process as the focus of creation and metacognition activities [54, 55]. Moreover, if these three elements are developed in a circular sense, creativity will be developed consistently and fluently.

The final value of coding lies precisely in its educational potential: doing coding means developing critical thinking, it means doing Media Education [56].
