{'fraction_non_alphanumeric': 0.014167073766487542, 'fraction_numerical': 0.0, 'mean_word_length': 5.187311178247734, '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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The Use of Gamification for Teaching Algorithms

This paper presents our experience using gamification principles into the free and open-source learning management system Moodle for aiding and abetting our Computer Science students in learning algorithms. In this work, we used the LMS Moodle and we developed a module with gamification features focused on promoting engagement of students in the learning process of basic concepts of algorithms, data structures and pointers. We conducted a deep study about Moodle and how to implement gamification plugins into the environment. We used and configured HotPotatoes, Games, LevelUp and Badges plugins. We defined the lessons about the specific concepts of algorithms and we created them into Moodle environment. Then we implemented several games, like hangman, crosswords, cryptex, snakes and ladders. We used LevelUp with the objective to gamify the students' learning experience by allowing them to earn experience points to level up in their courses. Badges were used in order to motivate students in their achievements and to show their progress in the courses. In our learning environment, it is possible to have different levels of proficiency in the class and rewards are based on different rules the professor can define; the student can earn more points for some activities or fewer points for other activities. A comparative ranking can be displayed so that students can see their progress, and the professor can look at the log to verify the activities students did and the points they have earned. The results showed us that the use of gamification concepts can contribute significantly to the process of teaching-learning programming concepts to students in the early years, as well for teenager’s students without any previous knowledge about programming concepts. This study aims to present the methodology used to carry out our experience and the results obtained with the development and implementation of gamification concepts in a free and open-source learning management system.