Computer Programming Learning : How to Apply Gamification on Online Courses ?

Gamification has attracted the attention of researchers from different areas such as marketing, health, sports, and education. Gamification integrates elements of game design in non-game context, with the purpose of engaging a person in a particular activity. This integration should follow a formal and precise design process. However, these gamification design processes for specific contexts are not still defined. This article presents a proposal for a gamification framework for online distance courses to learn how to program. This framework is composed of the following dimensions: target audience, general goals, learning outcomes, topics, contents, gamification, cognitive absorption, flow, and personality. This article also presents a review of the existing literature on these dimensions. The theoretical framework is a contribution to guide teachers in the gamification of online programming learning courses.


INTRODUCTION
Programming is one of the fundamental skills for students in the technological areas related to computer science.The understanding of the underlying concepts is a central pillar of the evolution of learning.However, several problems have been identified in the learning of this theme and strategies have been proposed to solve these issues.However, it is still necessary to study and explore the various problems related to programming learning (Rahmat et al., 2012).The computer science area is continuously evolving, and the approaches to teaching/learning programming should follow this evolution.Consequently, it is necessary to identify and study new pedagogical approaches that focus the student on learning and contribute to improving the perception of the difficulty, and that can thus result in the students' involvement in education.Several authors have investigated and proposed new approaches focused on the use of technologies, namely graphical visualization tools, educational robotics and new solutions based on gamification (Helminen and Malmi, 2010;Ibáñez, Di-Serio et al., 2014a;McGill, 2012a;Sorva and Sirkiä, 2010).
The gamification in education has received in the last years' enormous attention, both of researchers and educators.However, due to its recent use in education, knowledge about the effect of gamification on the engagement and performance of students is still scarce (Dicheva et al., 2015).In literature, several authors suggest the production of more research work, which will include for example one or two gamification elements and to assess the extent to which these factors influence performance (Dicheva et al., 2015;Jonathan, 2014;Seaborn and Fels, 2015a).Dicheva et al. (2015) concluded in their systematic review that most of the studies conducted to focus on the evaluation of designed and developed tools with integrated gamification elements.Dicheva et al. (2015) also mention that few studies explore the integration of gamification elements into online learning platforms, known as Learning Management Systems, regularly used as support in the teaching-learning process.
Considering the importance that these platforms currently represent in the teaching-learning process and identified the need to add knowledge to this particular area, we propose in this article a conceptual framework for online programming learning courses.
This article has five sections.The first presents the goals and the methodological approach.The second section presents the literature review related to programming teaching, gamification in education and gamification in programming.In the following section, the conceptual proposal of the gamified framework for online distance courses of programming learning is presented and detailed.We finish with the conclusions and the description of future works.

METHODOLOGICAL APPROACH
In order to carry out this research, the identification of the gamification elements/characteristics that are used in an educational context was defined as a goal.Consequently, two starting points were set for this study: 1) What elements/characteristics of gamification are used in an educational context?And which ones are used explicitly in learning online programming?
Based on these starting points, we have as a specific goal the proposal of a gamified conceptual solution for online programming learning courses.
In order to answer the research goals, we established the following procedures: i) identification of the principles of design and mechanics of game in the literature; ii) conceptual design of a distance course that implements the principles and mechanics reviewed in the literature; iii) implementation of a learning distance learning course on a Learning Management Systems platform; iv) identification of dimensions and items; (v) development of data collection tools; vi) launching of the questionnaire to a sample of students and its analysis; (vii) collection, treatment and analysis of results; viii) log analysis.
In the scope of this paper, the procedures regarding the implementation of the framework, the instruments of data collection, processing, and data analysis, will not be discussed.

THEORETICAL BACKGROUND
The teaching/learning of computer science, especially programming learning, is one of the areas that, due to its characteristics, requires abstract thinking, problem-solving skills, among others, and represents a constant challenge to educators.To identify educational strategies that will help to focus the student on learning and consequently contribute mitigating the problems of retention and drop-out of students in these disciplines.In this sense, several authors have studied this theme and proposed solutions with the objective of contributing to the engagement and acquire better results in the programming learning.Several studies propose solutions for programming learning (Costa et al., 2012;Helminen and Malmi, 2010;Rajala, Laakso et al., 2007;Sorva and Sirkiä, 2010).Solutions that exploit the tangibility with robots are also subject to study (McGill, 2012b).Recently, gamification has been adopted in an educational context and in particular in programming learning (Costa, et al. 2017;Ibáñez et al., 2014b;Piteira et al., 2017).
Gamification is the process of incorporating game elements into non-game context (Deterding et al., 2011).The elements of the game are characterized by the use of points, medals, levels, progress bars, leaderboard, virtual currency, avatars, among others, and typical implementations of gamification apply these elements in the educational environment (Deterding et al., 2011).The application of gamification in the educational context can contribute to increasing students' motivation in learning.Gamification has the potential to increase student's engagement in learning while providing feedback from such learning (Seaborn and Fels, 2015b).Therefore, there seems to be a proper adjustment between gamification and programming.One of the principles of gamification design is to "provide feedback so that players can achieve a sense of mastery" (Richards et al., 2014).Complete activity and learn through error, are mostly represented in gamification in the form of achievements, medals, honor board, reach the maximum level, among others (Richards et al., 2014).Gamification offers short return cycles and allows students to assess their skills and abilities, and create an environment where learning effort is rewarded.Alternatively, students may see failure as a learning opportunity and is particularly useful for students who tend to give up easily when results are not as expected.The concept of gamification itself is not new because medals and rankings have been widely used in military contexts and others, over the years (Kapp, 2012).However, nowadays, what makes gamification to emerge is the combination of a set of factors, such as cheaper technology, personal data acquisition/analysis, immediate success and the prevalence of game characteristics (Richards et al., 2014).In the literature, we have identified several studies that address the use of gamification, but its effects are still incipient (Iosup and Epema, 2014;Rodrigues et al., 2013Rodrigues et al., , 2016)).
Several authors have investigated the use of gamification in education by describing the use of some mechanics and dynamics and reiterating their possible use in educational context.However, a more in-depth empirical research on the effectiveness of the incorporation of gamification elements in learning environments remains scarce (Dicheva et al., 2015).However, most authors share the view that gamification has the potential to improve learning if well designed and used correctly.Consequently, more empirical research is needed to investigate, in particular, the effects of the elements in a specific educational context (Dicheva et al., 2015).Many of these papers focus their research on the tools and prototypes they have developed, being necessary research that will explore the use of these elements in regular learning activities and especially in online activities supported by learning platforms.The introduction of these platforms in recent years has enabled innovation in the learning methodologies supported by technology.Schools can take advantage of these technologies to make learning more accessible and more efficient.However, few studies explore the integration of mechanics and game dynamics in these platforms and its impact on the student (Dicheva et al., 2015).

CONCEPTUAL FRAMEWORK PROPOSAL
In the proposed framework, we present the main dimensions adapted to the introduction of gamification in distance courses and online learning programming, according to the Figure 1 and the Figure 2. The framework is a theoretical generalization (Carrol and Swatman, 2000;Lee and Baskerville, 2003) resulting from the review of the literature on learning programming and gamification in education.The proposed theoretical framework incorporates the dimensions reviewed in the literature.The dimensions are: a) target audience; b) general goals; c) specific objectives and topics; d) contents; e) principles of educational design; f) game mechanics; g) cognitive absorption; h) flow; i) personality.
Target Audience.The characterization of the target audience supports the definition of the general goals, expected results and the topics that make up a course (Lederman and Abell, 2014).
General goals, expected results, and topics.It is commonly accepted while structuring a course to previously identify the general goals, the expected results and the topics that will be taught to support the general goals and the expected results.Some education theories support this acceptance.One of these theories is Bloom's taxonomy (Bloom et al., 1956).Bloom has defined a Taxonomy designed Cognitive Domain that is structured in levels of increasing complexity.This increasing complexity demonstrates that the student should only acquire a new competence after acquiring and mastering the skill that precedes it.In this sense, taxonomy presents a scheme for classification and a hierarchical organization of the cognitive processes according to levels of complexity and goals of the desired and planned cognitive development.The processes categorized by Bloom's Cognitive Goals Taxonomy, besides representing the expected learning outcomes, are cumulative, which characterizes a relationship of dependence between levels and are organized regarding the complexities of mental processes.Based on Bloom's theory and supported in the Computer Science Curricula of ACM published in 2013, we considered these dimensions in the framework (Association for Computing Machinery (ACM) & IEEE Computer Society, 2013).
Contents.In an online learning platform, several technologies support educational strategies.Oliver and Herrigton (2003) constructed a framework composed of technological elements grouped into three areas of learning: resources, supports, and activities.Based on this framework, Aparicio et al. (2016) summarized the relationship between educational strategies and technologies and described in their framework of online and distance learning systems, the technologies that in an online and distance environment support the several educational strategies.Dicheva et al. (2015) defined a two-level framework to classify the various research works related to gamification in education.This framework resulted from the aggregation of the four-level classification proposed by Deterding's.The levels proposed by Dicheva are principles of gamified educational design and game mechanics.In the framework's proposal, these two classifications are adapted to what we intend, taking into account our goal of developing an online course and applying to the course a set of game elements.In this sense, we have adopted in our framework the classification of the authors that we'll describe below.
After identifying the target audience, general goals and expected results, it will be necessary to design the entire course structure and to plan how the student will interact with the course through the various contents.This dimension integrates a set of principles that are used in the field of education, are not specific to game design, and many of these principles have been used in instructional systems since they exist (Dicheva et al., 2015).These principles of design are applied in the different topics of the course and its application to the various contents of the topics will determine the way the student interacts with the multiple components of the course, in line with the expected results.These principles of educational design are described in Table 1.Game mechanics.This point adds two revised components in literature: mechanics and game design dynamics.Mechanics are the game elements that can be incorporated into the course design.The dynamics are planned and configured based on the interaction that the student is expected to have with the various contents and activities, dependent or not, of their performance throughout the course.Medals, Points, Levels, Avatars, Virtual Currency and Leaderboard, are elements that can be used as game mechanics in an educational context (Buck and Stucki, 2001;Deterding et al., 2011;Dicheva et al., 2015;Zichermann and Cunningham, 2011) and particularly in programming learning.The medals are symbolic elements that are attributed to the students for completing or obtaining a specific competence, knowledge, and that can be visualized by the remaining students, thus showing their mastery or expertise.Points can be obtained by performing a variety of tasks and activities such as quizzes, viewing contents, submitting papers, posting forums, and other online activities.The leaderboard is mechanics associated with the points, grouping them, thus generating a classification of the students who obtained the most points in the total.Avatars in computer games and virtual environments represent the user in the virtual world.The use of an avatar and its customization allows an emotional level between the game and the player.In an educational context, the use of avatars can increase social presence and establish strong connections in the group and contribute to a higher immersion in the course.The levels allow dividing a game into small pieces, to separate, to have attainable pieces and to continue to the next level.In an educational and online context levels allow progression and sequencing, through content and activities.
Cognitive Absorption: Gamification in education is accepted as a way to absorb and engage the student in learning (Zichermann and Cunningham, 2011).The principles of educational design coupled with the game mechanics contribute to creating this environment of absorption and involvement.In this way, the cognitive absorption will be influenced by the integration of these elements.According to Agarwal et al. (2000) cognitive absorption is a state of deep involvement with software and is exhibited through dimensions: a) temporal dissociation (or inability to record the passage of time while engaging in interaction); b) focused and immersed (experience of total involvement where other attentions are in its essence ignored); c) intensified pleasure (captures the pleasant aspects of interaction); d) control (captures the user's perception of controlling the interaction); e) curiosity (experience awakens the sensory and cognitive curiosity of the individual).These variables are representative of how the student is deeply involved in a task until he is in a state of alienation, relatively to the environment that surrounds him.To evaluate this state, a construct will be applied based on these five dimensions.
Personality: An individual's personality traits can determine his or her decisions and actions.In an educational context personality traits have an impact on learning (De Raad and Schouwenburg, 1996).This theory studies the personality and measures the degree to which specific traits influence the behavior of the individual in certain situations.The Personality Traits are grouped into five dimensions: i) extraversion; ii) agreeableness; iii) conscientiousness; iv) emotional stable; v) opened to new experiences.In this sense, the proposed framework integrates this dimension, and based on the work done by Gosling et al. (2003), we incorporate this dimension

Blocked Access
It assumes that the content and activities are dependent on the performance and performance of the previous.(Iosup and Epema, 2014) Freedom to fail Assumes low risk in evaluation submissions.Multiple attempts are allowed.

Restriction on submission time
It assumes that the submission of the evaluation, e.g., a quiz, has set a time limit to be submitted.(Kapp, 2012) Goals / Challenges Definition of specific and explicit goals of moderate difficulty and immediate.(Kapp, 2012;Lee and Baskerville, 2003)

Customization
Definition of personalized experiences, adapted difficulty, challenges that are perfectly achievable, increasing difficulty as the student's skills expand.(Kapp, 2012;Lee and Baskerville, 2003;Zichermann and Cunningham, 2011)

Narrative
It presupposes the presentation of the programmatic content and the definition of the activities framed in a story that unfolds throughout the course.(Kapp, 2012)

Freedom of choice
It includes the possibility for students to choose: what kind of challenges they want to complete, e.g., contribute to a blog, complete a quiz, and create an educational video.
( Deterding et al., 2011;Iosup and Epema, 2014;Lee and Baskerville, 2003) Surprises, Awards It presupposes the use of surprise elements and prizes.(Pettit et al., 2015) through which we intend to evaluate the personality of the student and the way in which these traits influence the involvement and the cognitive absorption.

Flow:
The Flow was first studied by Csikszentmihalyi (1975), and it was related to a simple question: why were people so committed to activities without external incentives.Csikszentmihalyi concluded from the analysis of several studies that they all shared a common aspect, which he called "flow state" or "flow experience."The following components can characterize the flow.1) A balance between the perception of one of the competences and the perception of the difficulty of the activity.In this state of balance, the user feels challenged and confident that everything is under control.2) The activity is coherent, contains no contradictory aspects and provides an unambiguous and clear return.3) Activity seems to be guided by some logic.4) A high degree of concentration inactivity due to focused attention in a limited stimulus field.In this sense, the flow state has a robust functional aspect, in the experience that the individual skills highly concentrated and with an acceptable challenge while maintaining control (Engeser and Rheinberg, 2008).Thus, one of the aspects to be considered in investigation with the incorporation of this dimension is to identify the state of flow experienced in a gamified online course of programming learning.
The students perceive programming learning as having a high degree of difficulty.Many students considering it a complicated subject and give up on the first challenges.Recognizing this problem, some researchers (Piteira and Costa, 2013, 2012, 2014, 2017;Piteira et al., 2017) conducted several studies that aimed to identify the difficulties perceived by students in the various fundamental concepts of programming.Based on this study, we integrated the dimension perceived difficulty, in the framework (Piteira, Costa, and Aparício, 2017).We intend, therefore, that because of the perceived difficulty for a given topic, that gamified educational strategies should be considered, contributing to greater involvement of the student in learning.

CONCLUSIONS
In this study, we constructed a theoretical framework for distance online gamified courses of learning of fundamental programming concepts.We carried out a review of the literature, synthesized the results obtained from the literature and presented a summary of these results in the present article, materializing the review of these results in the theoretical framework.
The theoretical framework was built supported by the following pillars: course (target audience, general goals, expected results, topics, and contents); gamification; cognitive absorption and flow; and personality.Guided by these pillars we reviewed and identified the elements that make up each of these pillars and how they interconnect each other.
The framework provides a theoretical structure for multiple online courses supported by a learning platform.Currently, the implementation of the framework is already implemented in an online distance learning platform, namely the Moodle platform.
As future work, we intend to propose a model for evaluation of the success of the application of the structured gamification in an online course and the learning distance of the fundamental concepts of programming.

Figure 2 .
Figure 2. Theoretical Framework for implementing online learning programming courses