A CONCEPTUAL FRAMEWORK TO IMPLEMENT GAMIFICATION ON ONLINE COURSES OF COMPUTER PROGRAMMING LEARNING: IMPLEMENTATION

On the last years, gamification has studient in variuous contexts, such as marketing, health, sports and education. According to literature, gamification integrates “elements of game design in non-game context ”, with the objective of increasing users’ engagement in certain activities. Therefore gamification integration on information systems should follow a formal and clear design process. However, these gamification design processes for specific contexts are not still defined. Thus, based on a literature review the authors proposed in a previously conducted study a framework for the implementation of gamification in online courses of computer programming learning. The framework is composed of the following dimensions: target audience, general goals, learning outcomes, topics, contents, gamification, cognitive absorption, flow, and personality. In the scope of this paper, authors present and describe the implementation of the conceptual framework. In order to achive the objective, an online course of fundamentals of programming was designed and implemented, based on the previously proposed framework having then been launched a questionnaire to the students who attended the online course. The student’s attitudes towards game elements have been identified.


INTRODUCTION
The learning of programming is one of the key areas of informatics teaching, through which a student acquires competences on practice and conceptual levels.However, several problems have been reported in literature related to the programming learning.Problems associated with the curriculum, language choice, attitude facing programming, cognitive factors, styles of learning, motivation, among others.[1] - [6].The comprehension of the basic concepts is a fundamental pillar for the evolution of learning, and the related problems have been the object of study, is necessary to continue studying and exploring those problems [6].Informatics area is constantly being updated and the approaches to teaching/ learning of programming must accompany this update.For example, approaches that seek to focus the student on learning and that will help to improve the perception of the difficulty of the matter is necessary.As some examples of these approaches, we have the graphic visualisation tools, the use of robots and the new gamification solutions [7]- [10].
Gamification in education has received enormous attention in these last years, both of researchers and educators.However, the knowledge about the effect of gamification on students' performance is still scarce [11].The authors recommend that more research should be carried out integrating one or two gamification elements and to identify the extent to which these elements influence students' attitudes and performance.Dicheva et al. [11] concluded in their systematic study that most of the conducted studies focus on the evaluation of designed and developed tools with integrated gamification elements, and that there are few studies that explore an integration of gamification elements in online learning platforms, designated by Learning Management Systems, regularly used as a support for the teaching-learning process.
Considering the importance that these platforms currently represent in the teaching-learning process and having been identified the need to add knowledge to this particular area, the authors proposed in a previous study, a conceptual gamified framework to online courses of programming learning [12], [13].
Within the scope of this publication, authors presented and described the framework implementation and the student's attitudes towards the achievement of badges, points, progress bar and leader board.This article is structured in five sections: the first presents the objectives and the followed methodological approach.The second presents a brief review of the literature.The third section describes the implementation of the framework.The fourth section presents the attitude of the students regarding the elements of the game, and the last one shows the conclusions and the description of future works.

METHODOLOGY
The main goal of this study is the implementation and validation of the theoretical framework.To do so, the following objectives were defined: a) design and implementation of a gamification framework to online programming teaching; b) and the identification of student's perceptions after attending the gamification course.To fulfil the objectives, an online course of fundamentals of programming was designed and implemented, based on the previously proposed framework having then been launched a questionnaire to the students who attended the online course.
The main contribution of this work is an implementation of the framework and its evaluation in a specific context, an online programming learning course.We hope to contribute to encouraging changes in teaching practices in programming teaching.

BACKGROUND
Gamification is the process of integrating game elements into non-game context [14].The elements of the game are characterised by the use of points, medals, levels, progress bars, honor roll, virtual currency, avatars, among others, and common implementations of gamification apply these elements in the educational environment [13], [14].The application of gamification in the educational context can contribute to increasing students' engagement in learning.Gamification has the potential to increase students' engagement in learning while it provides feedback [15].Therefore, there seems to be a good 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" [16].Complete an activity and learn through error, are mostly represented in gamification in the form of achievements, medals, honor roll, achieve the maximum level, among others [16].Gamification offers short return cycles and allows students to assess their skills and abilities and create an environment where the effort of learning is rewarded.In the alternative, 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, as medals and rankings have been widely used in military contexts and others for extended years [17].However, what currently makes gamification emerge is the combination of a set of factors, such as cheaper technology, acquisition/analysis of personal data, imminent success, and the prevalence of game features [14].We have identified several studies in the literature that address the use of gamification.However its effects are still incipient [10]- [12], [18]- [20].
Several authors have investigated the use of gamification in education by only describing the use of some gamification elements and reiterating their possible use in educational context.However, a more in-depth empirical research on the effectiveness of the incorporation of gamification elements into learning environments remains scarce [11].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 [11].Many of these works focus their research on the tools and prototypes they have developed, being necessary some research explores 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 an innovation in the learning methodologies supported by technology.Schools can take advantage of these technologies to make learning more accessible and more effective.However, few studies explore the integration of mechanics and game dynamics in these platforms and the students' attitude towards the elements of the game.

DESCRIPTION OF THE FRAMEWORK IMPLEMENTATION
In a previous work, the authors proposed a conceptual, theoretical framework to gamify online learning computer programming courses [12], composed of the following dimensions: target, goals and learning outcomes, contents, educational learning principles, game mechanics, cognitive absorption, flow and personality.In this section, we describe the implementation of this framework.
For the implementation of the framework, a course of fundamentals of programming was designed and implemented fig. 1.The course was then available online through the moodle platform to the first year students of the university, who were starting their studies in computer science areas.
The course is composed of nine modules and has a duration time of twenty hours.The first module is the on boarding module.Students have the first contact with the platform and the course.They are then invited to update their user profile and introduce them with a short text in the forum to the colleagues.The following modules are an introduction to programming learning; variables and primitive data types; simple I/O; arithmetic operators; selection structures; loop structures; matrices and functions.Each module has contents and activities.Students must complete all activities in the module to get access to the next module and obtain in assessment activities a grade equal or higher than ten.At the end of the course, students receive a completion certificate.
With the defined target and the pedagogical contents, we begin applying gamification.Kapp defines two types of gamification: structural and content [21]."Structural gamification is the application of game-elements to propel a learner through content with no alteration or changes to the content".The content does not become game-like, only the structure around the content [21].We choose to gamify our online course with a structural gamification.In the next section, we describe the educational principles and how they were applied in the design course.

Educational design principles
Based on the educational gamification design principles reviewed by Dicheva and colleagues [11] we defined the following principles in the course design: progress bar, feedback, social engagement, visible status, unlocking content/activities, freedom to failure, time restriction on submissions, goals/ challenges.
"Progress bar" allows students to visualise their progression in the learning activities.To apply this principle we used an add-on available on http://moodle.org and installed it on the moodle platform.When a student concludes the activities, this tool automatically turns the progress bar into a green colour.This tool also allows teachers to visualise the progress of their students in the course.The principle "immediate feedback" was applied in the online assessments.After online submissions, students have immediate feedback.The feedback shows the students grades and depending on which grade they have they receive motivational messages to stimulate them to continue their learning."Social engagement" was applied with the support of a forum tool.It was implemented in three forums: support course forum, a social forum named "Social Cafe -Table Conversations".The objective with these forums is the interaction and the sharing of knowledge.
The third forum is based on questions and answers.The principle "visible status", allows students to visualise their points and their colleagues' points.For each activity, students receive points which are visible to all students.The content of activities can stay locked until the student completes or achieves the necessary grade to unlock them.This is the principle of "unlocking content".In each module, we define the dependency between contents and activities, e.g. in module "variables and data types" we define one activity based on forum question-answer.Students can only see and have access to the activity after they see and read the related content.
Through the principle "freedom to fail", we assume that students will not be penalised on a poor performance task.We allow students to revise and resubmit assignments.This principle was applied to all quizzes presented in each course module.
The principle "time restriction" includes the customisation of time to complete the quizzes.In the fundamentals of online programming course, we define time limitation in all quizzes to complete them.The total of time to complete the quizzes depends on the module difficulty and the number of questions.
Finally, the main "challenges" were presented and associated to the game mechanics badges.Students can achieve the grade that will allow them to access to the next module, but to achieve badges they will need to achieve a higher grade and the challenge is to re-take the module again and achieve one badge.With the instructional design already defined, we apply the game mechanics and dynamics of the online course.

Game Mechanics and Dynamics
Game mechanics are the elements used in the design to contribute to the user engagement and behavioural changes.In learning contexts game dynamics are used to apply motivational factors [22].
Based on the conceptual framework, we employed in fundamentals of online programming course the next game mechanics: points; leader board, badges, levels and progress bar.
The points system manages the points that students acquire based on their performance.Badges are given for special achievements.Based on the received points and badges, users are ranked on leader boards which reflect their performance in comparison to other users.Levels show the users expertise and progress as well as their position in the game.Progress bars provide a graphical representation of the players' progress.Table 1 and Table 2 present the implemented mechanics and dynamics of the online course.

Mechanics -Description
Points game mechanic points were applied to all course activities, e.g.pedagogical contents, assessment activities, work submission activities, among others.All the interaction with the activities and contents gave points to the students.We expected that students would get engaged to the acquisition of points and on re-taking their study.One of ours goals was to avoid unmotivated students right at their first difficulty.

Leader board
The leaderboard was applied to show to the students the total of points achieved in the course.The leaderboard is visible on the first page of the course and shows the top 5. Students can see their performance and make the comparison to others.

Badges
We created and applied five categories of badges.The categories are a freshman, geek, super geek, guru and super guru.Associated with each category students can achieve different levels of badges: bronze, silver and golden.Table 2 describes in detail the used dynamics.

Levels
In an educational context, levels allow progression and sequence through contents and activities.Each module was designed to a level.Inside the module, students have sub-levels.Students needed to complete the activities to reach the next.

Progress Bar
The progress bar was applied to allow students to track their learning activities and it is visible in the course the first page, allowing them to make a quick overview of all the complete and incomplete activities.The final grade must be between Bronze -equal or higher than 14; Silverequal or higher than 16; Golden -equal or higher than 18

Modules / Activities
Mechanics: Badges Dynamics Module Assessments Activity:" Arithmetic Operators and Selection"

Category Super Geek
The final grade must be between Bronze -equal or higher than 14; Silverequal or higher than 16; Golden -equal or higher than 18 Module Assessments Activity: "Loop Structures and Arrays"

Category Guru
The final grade must be between Bronze -or higher than 14; Silverequal or higher than 16; Golden -equal or higher than 18 Module Assessments Activity: "Subprograms"

Category Super Guru
The student must achieve all golden badges in the previous modules to be allowed to achieve the Super Guru Badge, and the final grade must be: equal or higher than 16 The authors conducted an empirical study that aimed to identify difficulties in learning programming [23].As a result of this investigation, the level of difficulty perceived by the students was identified by programming concept.In this sense, taking into account the need for approaches that focus the student on learning and to not give up when he faces difficulties, the learning difficulty dimension has been incorporated into the framework.Based on the level of difficulty, educators can apply differentiated gamified strategies to contribute to the motivation and involvement of the student with the concepts which are considered more difficult.

Participants and data collection procedure
The study was conducted with students from the first year of university.Students who attend the course are voluntaries.This course is not part of the official course curriculum.Students just want to learn and improve their programming skills.The sample comprised 108 students, distributed cf.table 3.For the investigation, one questionnaire was designed by the researchers and the dimensions were based on the literature review.The questionnaire was based on seven points Likert scale (1-Strong Disagree, …, 7 -Strong Agree) and was composed of several dimensions.Student's attitude towards game elements was one of them.In the context of this paper, we presented the students' attitudes results towards progress bar, leader board, badges and points.

Results
From the analysis of the data, we found that students consider progress bar to be useful   By comparing students' attitudes towards medals and points, we found that the attitude facing these two elements of a game is very similar, observing slight variations in the items (B3-M = 5.519, P3-M = 5.38), where we observe that the badges have an effect on behavior, slightly higher than the points (c.f.graphic 3).On the items (B6 -M = 4.991, P5 -M = 4.861), we verify the same tendency, with the badges presenting a slight preference for its use in all the subjects of the graduation course.
Based on the results we can argument that students considered point systems, leader boards, progress bars, and achievement badges to be useful and motivating.The presented data in this study shows that there aren't significant preferences for one of the game elements used in the online course.These results are similar to other studies (e.g.[24]).
PG1 -(M = 5.593, SD = 1.367) and they frequently visualise progress bar to identify completed and incomplete activities PG2 -(M = 5.102, SD = 1.522), cf.graphic 1. Regarding the game element, leaderboard students consider it to have some utility L1 -(M = 4.898, SD = 1.253), and they frequently consult it to visualize their results L2-(M = 4.472, SD = 1.683).However, compared to the progress bar there is a slight difference.The progress bar is considered more useful than the leaderboard, (c.f.Graphic 2).Students are not upset for their results being visible to the remaining students L3-(M = 2,843, SD = 1607), but we note that students feel slightly uncomfortable for not having their name on the leaderboard L4-(M = 3.083, SD = 1.624).Regarding the medals, we observed that they are considered motivators B1-(M = 5.519, SD = 1.391) and useful in the learning process B2-(M = 5.38, SD = 1331).The students considered that they had a positive and moderate effect on their behavior during the course frequency B3-(M = 5.519, SD = 1.264), and moderately agreed with the visual appearance of the medals B5-(M = 5.435, SD = 1.27), as well as the criteria that was defined to obtain the medals is also moderately accepted by students B6-(M = 5.491, SD = 1.264).Considering the possibility of their use in all the subjects, students agree slightly B7-(M = 4.991, SD = 1.507).

( 1 -
Disagree Strong, ….. 7 -Agree Strong) L1: I find the learderboard useful; L2: I often consult it to see the score; L3: I feel uncomfortable with the listed and visible results to everyone; L4: I feel uncomfortable with the listed results and because my name is not on this list.

Table 2 -
Badges and Dynamics "Variables and Data Types"; "Simple I/O"Category Geek