1. Introduction
The concept of gamification has been around for many years, but the word “gamification” is rather new. It appeared in 2010. Gamification means the use of game thinking, game elements, game techniques, game methodologies, and game framework in a non-game context in order to motivate users, solve problems, increase user experience, and encourage good desired behaviours [1] . Gamification is used in many fields such as marketing to encourage customers as well as in employment to motivate employees [2] .
One of the emerging fields is using gamification in education which is more fun and facilitates information keeping. There is a strong relation between gamification and learning. Both of them are a passive activity and require participation and motivation from the begging to end of gamification process [3] . There is no difference between kids and adult. Both of them want to enjoy learning. This paper describes a new method of learning. This is using gamification to teach adults programming concepts.
Games are artifacts which are not useful unless people play them. So, game makers should structure their games with emotion through the dynamics and mechanics of the game, to encourage players to continue playing the game. Four strategies are used in game designing to unlock players emotions: 1) providing opportunities for challenge, strategy, and problem solving (hard fun); 2) introducing elements that foster mystery, intrigue, and curiosity (easy fun); 3) leading players to excitement or relief moods (altered states); and 4) promoting competition and teamwork (people fun) [4] .
There are many games types used in learning such as game based learning (GBL) which is a type of game playing that has defined learning outcomes. There is a difference between gamification and game based learning. Gamification is putting game mechanics into education, while game based Learning is using a game as part of the learning process. Gamification is used in all aspects of our lives to increase fun and engagement, but game based learning is used only for education [5] .
There are two main types of gamification: structural gamification and content gamification.
Structural gamification is an application of game elements to motivate learners through the content without changeing to its content. For example to use game elements such as points, levels, badges, leaderboards and achievements, and apply them to an educational context.
Content Gamification is the application of game elements, game mechanics and game thinking to alter content to make it more game-like. So, beside game elements, there is a change to the content such as providing a story, challenge, curiosity, mystery and characters to content, to engage the learner [6] .
Researchers outlined two types of academic motivation―intrinsic and extrinsic motivation. Intrinsic motivation occurs when students engage in learning “for its own sake” and they enjoy it. Some examples are: altruism, competition, cooperation, sense of belonging, and love or aggression. Extrinsic motivation occurs when something or someone pushes the student to make an action, for example: classifications, levels, points, badges, awards, missions [7] .
There is a significant problem with Structural type of gamification that it may reduce internal motivation of the user of the activity or replace it with external motivation, because the user focuses on getting rewards rather the activities. In the other method, if the game elements are made meaningful to the user through information then internal motivation can be improved.
Game mechanics or game techniques are used to build blocks of gamification application. Badging is one of gamification elements. It can be used for each assignment given to students, if a student accomplishes the assignment, he will get a badge. This idea came from the concepts of games. Some games have many badges awarded to the player after achieving a certain level or after finishing a certain task in the game. The player will be happy by gaining this badge, which explains why he works hard to get it. Students will have strong motivation to do their assignments to win the badges.
Using. Leaderboard in gamification in order to teach students will stir up a competition between students in the class. The students work hard because everyone wants to see his or her name on the leaderboard. We can apply this method to encourage students to do their assignments quickly. Using points instead of grades is useful. Points enable students to a positive flaw of marks. Teacher can give student points to any task the student accomplishes. Gamifing points are more attractive than giving student a grade [21] .
Gamification is defined using game elements in non gaming environment by converting useful activities into games. It also combines extrinsic with intrinsic motivation [10] .
Dr Ian Glover, “gamification means seek to add game like concepts to learning process” [3] . It is different from game based learning it means create a tool which imparts an educational benefit and includes software such as simulator.
The reminder of the paper will be like this section 2 is about using gamification in education, section 3 is defining benefits of using gamiifcation in education, section 4 is literature review, section 5 Examples of empirical studies which TACKLED GAMIFICATION to teach programming concepts.
2. Gamification in Education
Gamification in education has begun started science long time by giving good students badges to encourage them to practise and work hard. Teachers and students will gain a lot of benefits through applying gamification. Students are motivated to learn more and care about their studies (Table 1). In comparing traditional with gamified model we find that [1] :
Table 1. Traditional vs. gamified models [1] .
3. Benefits of Gamification in Education
Gamification is a new tool which is used to improve the quality of learning. It has a great impact in the way of teaching and learning. Gamification increases student’s engagement and motivation. Moreover it enhances learning and understanding a complex subject. Here are some of gamification benefits [11] .
・ Gamification provides number of emotions such as powerful emotions, from curiosity to frustration to joy, positive emotional experiences, such as optimism and pride.
・ Gamification increases level of engagement and motivation in classrooms which are directly needed by students [12] .
・ Social interaction between students through speaking, listening, and actively exploring concepts occurs when students are faced with a problem, they engage in discussion with the purpose to find solutions.
・ Gamification provide a great chance for shy students to express themselves, and for all students to publicly identify themselves [12] .
・ It change the routine method of instructions [12] .
・ Self-learning gives students ownership of their learning [13] .
・ Students have freedom to fail and try again without negative repercussions [13] .
・ Gamification isn’t limited to the classroom. Students do their exercise in their spare time and meet their colleague and instructor outside the class.
・ Immediate feedback to students.
4. Literature Review
Redfield has experience with using gamification technique in teaching students the beginning of computer programming. In this model students play games, evaluate games, and present, demonstrate and create games. Using games in education support learning and retention, but this requires an excellent instructor to develop games including principles and processes. This can be applied effectively to learning process [14] .
Butgereit uses gamification with adult students in internet based module to encourage students who were in full-time employment and often also had family responsibilities which may not enable students to finish their home and present them to the instructor in an appropriate time. In the above example we can say structural gamification is used because the author used a gamification mechanics such as over-arching story, short term goals, points, leaderboards, badges, levelling, onboarding and engagement loops. Using these mechanics shows positive results that. By the end of the module, 90% of all homeworks had been turned in on time and 60% had been turned in early. Moreover participants enjoyed the gamification and want to continue after their final exam to win all badges [15] .
In a research, Kumar and Khurana declared that the main reason of disinterest is lack of motivation and engagement of students in learning programming concepts. They noted that using technology in education increases education process. They also noted that game must be designed smartly and the output is learning and fun. In this research a gamified approach was applied to teach the student programming concepts. Majority of the students show the interest toward gamification approach. In this research most of students continued playing even after they earned the maximum degree of the course. Collecting badges is a game mechanics which encourages students to work hard. Here gamification plays as a good tool to encourage cognitive engagement. There must be other goals of gamification beside engagement such as preventing, detecting, and discouraging dishonest student behavior [16] .
In an online educating system, gamification elements are used. The authors mentioned that many benefits are gained, such as increasing student collaboration, reduced response times and making course communications 88% more efficient by reducing email traffic [17] .
Krause and his team define an experiment of using gamification and social elements in online course to teach students python. They mentioned that this method of education solves many online disadvantage like isolation, lack of motivation, and lack of interactivity. The authors divide students into three groups one using traditional education, the other one gamification, and the last gamification with social game condition. They use gamification mechanics such as achievements or badges, points, and leaderboard. In social game condition the use of competitive method was students challenge each other. The impact of using this methods is increasing of retention period by 25% and Social game elements by 50% in the retention period with 40% for higher average test scores [18] .
Marnıa-Blanca used gamification in teaching C programming language to evaluate learning effectiveness and engagement. The study was conducted using the mixed-method sequential explanatory protocol. A gamification framework is prepared to enable students to ask questions and learn subjects related to C programming language using basic elements of game mechanics. The results show that most students continued working even after earning the maximum amount of grade points to collect all the badges and to keep learning. The author mentioned that gamification is successful and engagement is a valuable indicator of students’ academic achievements [19] .
5. Examples of Empirical Studies Which Tackled Gamification to Teach Programming Concepts
6. Conclusion
This paper surveys gamification tools used to teach computer programming. Many researchers use game mechanics in a story to teach, encourage, and engage students in learning programming concepts. This technique is a useful support for instructors because it helps them to realize more engagement, motivation, collaboration, fun, and effectiveness. The survey shows shortage in using of gamification in developing countries. There is a need to add design a gamification application to teach programming concepts in Arabic language.