{'fraction_non_alphanumeric': 0.018285395586009084, 'fraction_numerical': 0.005059357820094017, 'mean_word_length': 5.017018216682646, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Gamification Approach for the Development of Computational Thinking Skills

The advancement of Information and Communication Technologies is evident in all areas of our daily lives, and these technologies can be seen more and more as facilitators in pre-established processes. In education, the application of active methodologies has been successful, especially in spreading computing concepts. With the perspective of blended learning in mind, this article shows the results of an experiment by Computing Licentiate students in a class taught to high school students at a public school in Recife. Gamification was used as a pedagogical tool and data was collected during the process to help investigate the impacts of using the proposed techniques in the teaching of programming for digital games.


Introduction
The advancements in technology increasingly make it easier to deal with several processes we face in our daily lives. In various fields, it is possible to identify opportunities and challenges that trace new paths where technology permeates the solution of problems and decision making. In education, it becomes more and more evident that new ways of teaching and learning are crucial to prepare students of the future: the skills needed by professionals to obtain success in the future include digital literacy, those skills related to the efficient use of technology. This way, new teaching methodologies appear seeking to develop these abilities as increasingly integrated with the content covered in Elementary and High Schools.
One such methodological approach that is widely broadcast is the use if hybrid learning. According to Horn and Staker [7], hybrid learning is any formal educational program where a student learns, at least in part, online, having some element of control over time, place, path and/or rhythm. Similarly, gamification which is the application of elements present in games has been used as a way to motivate students to interact with the content in a dynamic and pleasing manner. Within this context, this paper covers an experience had by students in the Licentiate in Computing program at Universidade Federal Rural de Pernambuco, during a supervised internship course (Estágio Supervisionado Obrigatório IV), where a Programming for Digital Games class that used gamification and hybrid learning as methodological tools was planned and executed. The goal of this paper is to discuss the impacts and challenges of using active learning methodologies, specifically hybrid learning, and gamification, in the development of computational thinking through the teaching of programming for digital games.
The paper is organized as follows: section 2 presents the theoretical foundations; section 3 covers the methodology used in the study and the planning and execution of the class; section 4 shows the results and discussions; section 5 discusses the educational implications for the teaching of programming for digital games, and section 6 presents a conclusion.

Theoretical Foundations
In this section, we begin the theoretical foundations for the study, in which concepts related to gamification and the development of computational thinking abilities are presented.

Gamification in Processes of Teaching and Learning
It is widely known that the high rates of evasion in computing courses throughout Brazil contribute to the scarcity of skilled and competent professionals to fill the various vacancies available in the field. Gomes, Henriques and Mendes [5] note that there is a set of reasons that justify the high number of students who do not succeed in introductory classes in computing courses, such as the teaching and learning methods not being adequate, the lack of necessary skills in problem-solving, the difficult nature of the subject and a strongly negative connotation associated to the area. In general, the methodologies traditionally used in these courses can be seen as sufficient to form professionals that meet the demands of society.
One of the active learning methodologies that have been used in many classes with significant success is gamification [4]. Going further than simply using games as a teaching support tool, gamification includes modifications and additions to lesson plans and class activities where the concepts and practices used in games are brought into the teaching process.
This way, students become more motivated to learn, as they begin to see the process in new perspectives. According to Melo and Neto [9], gamification means applying elements used in the development of electronic games, such as the aesthetics, mechanics, and dynamics, in other contexts not related to games. Its main goal is to modify the relationship between man and machine in a way that deems it more motivating and involving.

Computational Thinking Abilities
Computational Thinking (CT) is a concept that arises from a series of processes required and used by computing professionals. The development of logical reasoning and problem-solving are fundamental steps for programming, which is at the center of the activities performed by the computing professional. In this manner, according to Rodriguez et. al. (2015), CT is defined as the type of reasoning that includes the formulation of problems, the organization and analysis of data, the presentation through abstractions, the solutions via algorithms, and the identification, analysis, and implementation of solutions for problems in varied areas.
The teaching of Computational Thinking seeks to ensure that students in Elementary and Secondary schools develop the abilities that are so desired in today's world, independent of the area they will eventually join as professionals. In the process of learning how to learn, students become more efficient in problem-solving, because they begin to structure the process in a way that makes it easier for the solution to come from different perspectives; the creation of algorithms can be applied to any kind of problem, in all areas, and a high capacity for abstraction contributes to the students becoming more qualified to face different types of problems.
França and Tedesco [2] point out that nowadays it is required that students develop several abilities, among which is computational thinking. However, in Brazil the teaching of computational thinking is not part of the curricula taught in Elementary and Secondary schools. The authors list the challenges present in the teaching of computational thinking in Brazilian basic education, presenting research opportunities in the area.
The fact that the Elementary and Secondary curricula do not include computational thinking, as well as the certification needed for teachers in this area, and the processes of teaching and learning, which require the active participation of students are the main challenges discussed. It is also shown that the traditional teaching methodologies, which contribute to the difficulties faced by students in introductory computer science classes can also happen if such classes are added in Elementary and Secondary schools. Consequently, a proposal is presented to minimize some of the challenges discussed, consisting of a model based in the autoregulation of learning using self-evaluation and peerevaluation as strategies. The model also includes a sequence of steps to be followed, that consist of four phases: Pre-reflection, Resolution, Peer Evaluation, and Post-reflection.
The model was applied during a digital games development class for high school, and an analysis of the experience shows the contribution made to the learning of students.

Methodology
The methodology used in the building and planning of the class was based on articles by Paschoal, Silva and Souza [11] and Melo and Neto [9], seeing as the authors share experiences using Flipped Classroom and Gamification in classrooms to analyze the educational impacts of such methodologies.
Through discussions about the articles, we reached the methodology models that will be discussed in the following sections, according to the five stages cited by Gonçalves et al. [6] for the application of gamification in the educational context. Those are: understanding the target audience and the context, defining the learning objectives, structuring the experience and the process of learning, identifying the resources necessary for gamification, and applying personal or social gamification elements in the learning process.
In the subsequent sections we will go over the methodology used in this study separated in three parts: Structuring the Game Development Class, Game Design, Application of Methodologies and Game Development.

Structuring the Game Development Class
In regards to the idea for the course, it was established that the main goal would be to offer the necessary subsidies for the understanding and execution of basic concepts and the creation of a simple digital game. In this manner content from two big areas of game development were discussed: Game Design and Game Development.
The topics covered in the class were: The History of Games and the Construction of Games, a theory to present the market and the activities of members of a game development team, Game Design Document and Game Mechanics, Introductory Concepts about Programming and Programming Logic with a focus on block-based programming, since we used Stencyl as the main development environment.
The class took 30 hours at Escola de Referência Joaquim Távora in Recife. The total number of students who signed up for the class was 22 high school students.

Game Design
As can be seen in Figure 1, this first part of the course had the goal of being introductory and motivating to students. It was possible to raise student interest through the use of quizzes that used gamification, as will be described in the following subsection.

Application of Methodologies
To help with the Flipped Classroom approach, shortened links were shared that contained a PDF file with the class notes and links to short YouTube videos covering the topic seen in class. The goal of this approach was to allow students to become the protagonist in his/her own learning process, as it was possible to access the content any time and anywhere.  Figure 2 shows the application of the selected methodologies in the execution of the course. As a way to stimulate this practice, we shared links through the "Class Story" section in the Class Dojo app, seeing as the content and videos shared were extremely important for students to be able to answer a quiz that was always done at the beginning of class, as a way to revise the concepts covered previously.
Three quizzes were created in Kahoot as a way to contribute to the Gamification process, where students accumulated points in the course through the ranking that was generated at the end of each quiz, which were administered during the second and the fourth class.
Supported by the gamification process, a rewards system was created to help us evaluate the learning process of students and their evolution throughout the course. The rewards system focused on four areas, which were named: Class, Medals, Quizzes and Activities. Finally, we used the ranking as a way to help evaluate student performance during the course, adding all the points acquired by each student in the various ways made possible throughout the course, as shown in Table 2. The rewards system was created with the goal of stimulating students to complete the activities and to participate in the course in a more active manner, so as to achieve a performance evaluation process different than the tradicional types of evaluation, like exams.

Game Development
The third and last part of the course focused entirely on practice sessions, where the topics covered were: intro to programming concepts, fluxograms, algorithms, conditionals, types of operators, block-based programming in Stencyl and first steps with the tool, as shown in Figure 3. The activities done in class were based on the exercise packet designed for teachers through the Stencyl platform. The final project consisted in applying the knowledge acquired throughout the course in a simple game and a game design document, where the entire process of ideation and construction of the game would be evaluated, resulting in a presentation of all projects on the last day of class. Six classes were separated for this third part of the course, so as to help students absorb the content and test their abilities in the classroom, making the environment more collaborative.

Evaluation of Computational Thinking Skills
To evaluate Computational Thinking skills in students, a Computational Thinking Questionnaire was applied at the beginning of the course and at the end of the course. The instrument, which according to Brackmann [1] has a quantitative and fitness approach has already been extensively and rigorously validated. The goal of the questionnaire is to identify student abilities in formulating and resolving problems, taking into account the four pillars of Computational Thinking: abstraction, decomposition, pattern recognition, and algorithms. Figure 4 shows an example of the questions present in the instrument. The questionnaire created by Román-González et. al. [12] consists in 28 questions divided into four parts, where each question is multiple choice with 4 possible answers, but only one of them is correct. The questions ask students to "move" a character through a scene and recount the sequence of steps, or use programming blocks to direct the characters through the board. The instrument was applied on the first day of the course and students had 45 minutes to answer the questionnaire, which was adapted as an online form and made accessible through a shared link. A total of twelve students answered the questionnaire on the first day and the results were tabulated. Similarly, at the end of the course, students again answered the same questionnaire, and the results were tabulated and compared with those of the initial phase.

Results and Discussions
Using the described methodology, it was possible to observe that the application of gamification. especially with the use of Kahoot, and with the help of the extra lessons on YouTube in the context of Flipped Classroom made a difference in student motivation.
The results related to the use of gamification with Kahoot and the performance evaluation in the development of computational

Gamification with Kahoot
The total number of students who took the quizzes via Kahoot is 17, and all were enrolled in high school, with an average age of 16, and 34% being female, while 64% were male. Three quizzes were done in the second through the fourth classes respectively, as a way to revise the content given in the previous class. The first quiz covered the History and Evolution of digital games, the second Game Design Documents and Mechanics, and the third covered Algorithms.
We can see in Figures 5 and 6 that the number of correct answers in the first quiz was lower, achieving a 32,14% rate of correctness. The factors that could have resulted in this lower rate were the limited internet link that was available throughout the course, where some students had connection problems that made it impossible to answer the quiz correctly in the available time. Another point that could also have influenced this result was the structural limitations for students to be able to watch the videos assigned and to access the materials at home, which resulted in a strategic change in our approach, making it necessary to also review the videos right before the quizzes.  Figures 5 and 6 show an improvement of 64,43% in quizzes two and three in relation to quiz one, even though that is not that high of a rate of correctness. The factors that could have had an impact on this point were the increase in stimulus to use the tool, where students rated it as 4.7, 4 and 4.11 respectively, using a scale from 0 to 5 in terms of how fun they had had using Kahoot. It is important to note that the strategic change of how the material from the previous class was revised could have resulted in high rates of correctness, due to a higher absorption of the material discussed previously. According to Sailer et al. [13], every person has the need to develop in a way that makes him/ herself feel competent to deliberately influence the environment in which he/she is inserted, to have autonomy and freedom to make decisions based on his/her own values and interests with the absence of any external pressure and the need to relate socially, which can be expressed by the desire to be inserted into the social environment in question in a coherent manner. These issues reinforce the importance, as Galbis-Córdova, Martí-Parreño and Currás-Pérez [3] consider, of the students being real agents in their own learning process, where the gamification methodology can act as a way to contribute to fulfilling the needs of the students and to give teachers the possibility of detecting student behavior with the goal of making pedagogical interventions where they need to improve and to stimulate students to reach all their potential naturally. Figure 6: Percentage of right and wrong answers per quiz Therefore, both Figure 5 and Figure 6 show an improvement in terms of the rate of correctness which can be considered as a relevant impact related to the points covered above, where in a collaborative and stimulating environment students can have the opportunity to develop better and to seek solutions to the challenges they find in the process of building knowledge. Even though it shows higher values, Figure 8 corroborates with the standard deviation corresponding to 1,369464, 1,551871 e 2,114377 of the samples of the three quizzes. This shows that while some students got more questions right in quizzes two and three, all the samples had very high standard deviation values, given how heterogeneous the sample was, as can be seen in the average of correct answers per quiz. Finally, we asked students if they were able to learn using gamification through Kahoot, and in general students had positive responses about this approach. These values show that despite the difficulties faced by students and the data discussed above showing an average performance in relation to the group, gamification has great potential to collaborate to the learning process by students in a playful manner, where it is possible to learn while having fun.
This corroborates with Galbis-Córdova, Martí-Parreño e Currás-Pérez (2017), who support that using technological tools can contribute to an increase in attention and curiosity by students, given that students find that interactive and fun tools will help them to engage more with classes and activities, making it possible to develop the learning process and skills like problem-solving, higher interactivity and group work. In the following subsection, the results of both pre and post course Computational Thinking questionnaires will be discussed with a basis on the related literature.

Computational Thinking Skills
In addition to the classes, the questionnaire cited by Brackmann (2017) and already exposed to verify students' knowledge of Computational Thinking. The test was done before the course actually began, in order to better investigate its impact.
The questionnaire has twenty eight questions, where the four pillars are tested throughout, not necessarily covering the four pillars at the same time. The following table shows the Computational Thinking concepts that were covered throughout the questionnaire. As can be seen, the questions covered Computational Thinking concepts in many ways, showing how complete and rigorous the test is. After analyzing the pre and post tests done by students a graph was generated with the number of correct answers on both moments when the questionnaire was done, noticing that the questions were the same on both tests, to produce a fair analysis. It is also important to remember that some students did not take the pre and post questionnaires, however, 82% of students who took the test also took the post test. Other students were absent on the first day, and thus missed the pre test, but finished the course and took the post test. Next, Figure 10 shows the number of correct answers in both tests. Figure 9: Comparison of correct answers before and after the course As can be seen, a few questions had lower or equal performance during the post test, done at the end of the course, where it is only possible to speculate the cause of such effect in a new concept to students. Choosing the answer randomly could also have been a factor. However, the vast majority of the questions had better performance in the post test, as was expected. Especially in those questions that involved Pattern Recognition and Algorithms, as can be seen in questions 14 through 23, for example. While exercising the Computational Thinking concepts during the course and its application in the context of digital games, as well as the methodology explained, it was possible to observe a good development of the Computational Thinking Skills. Because it was a course about games, students were engaged, cognitively focused as during a game, but directed to academic learning, as pointed by Paiva and Tori [10]. It is possible to see the progress in the Algorithms section, since the theme is in all the questions in the Computational Thinking questionnaire. If we return to Figure 8 again, we can see that the average number of correct answers on the Kahoot quiz in this area was around 3, but when looking at the post test, it can be seen that many students seem to have understood this concept, since it was predominantly applied in the questions.

Educational Implications to the Teaching of Programming for Games
The use of digital games has large appeal because it is an activity that happens in practice in moments of leisure, which makes an academic proposal with the use of this tool be a success in an educational environment. The use of games promotes more than just motivation to learn, it helps to develop cognitive processes through immersion, which ensures better learning, since students remain engaged and do not need to limit the class time. According to Paiva and Tori [10], the socialization factor is also widely developed, being it competitive or cooperative.
To make immersion more substantial during the process of game development the gamified approach was extremely important, since it motivated students very much and removed the commonly-used grading method by bringing in a point-based rewards system for activities, in addition to the creation of benchmarks, as explained in section 3.3. Kahoot was one of the activities with which a large number of students were excited, where the competitive nature of gamification was well used.
Before the Kahoot quiz was applied, students should have studied previously, but as not all of them had access to the internet, the videos were watched at the beginning of class, so that students could take the quiz subsequently. As it was a gamified method, the leaderboard generated by Kahoot with each question showed which students were ahead with points acquired after each correct answer. One of the contributions of this point-based system, leaderboard and benchmarks made the challenge of searching for victory develop students' cognition, as for example, the decision-making involved in the quiz [10]. Figure 9 shows the opinion of students about how the methodology discussedvwas received. With an approval rate of 70% and with the results of the pre and post course questionnaire it is possible to see the viability of using such teaching method, as also discussed in Matsumoto [8], where 91% of a group using a similar methodology was used. The post course questionnaire also corroborates the efficacy of the methodology, because as has already been said the concept of algorithms was present in 100% of the questions, which shows that some students made progress in this area as well as other Computational Thinking concepts.

Conclusion
The use of a gamified approach made it possible to observe a higher interest by students in learning Computational Thinking with the goal of developing a simple digital game. It was also verified that the method is efficient through the use of a precise questionnaire that evaluates Computational Thinking concepts before and after the course, to reach a conclusion through the course taught.
As was discussed, many students were able to further develop their Computational Thinking skills after the course, with the theoretical teaching and the practical aspects of creating game.
Despite not being able to fully implement the Flipped Classroom methodology, students were able to follow the extra content so that they could apply them later, in the quiz done via Kahoot. If in fact the system had been fully implemented, it is highly probably that the learning process would have been superior, in addition to the results presented in this paper.