Gamified Moodle Course for Teaching UML

. Gamification in education helps to enhance courses to increase user engagement, productivity and motivation. The current Information System Design course at Kaunas University of Technology covers a broad range of topics on UML and students tend to lose their motivation and engagement during the learning process. To combat this problem an idea of gamifying the course was proposed. In this paper we have presented an implementation of gamified UML and system design teaching course in Moodle environment. The Moodle course was developed, which utilizes additional plugins for implementing the required gamification elements. In 2017 autumn semester students were invited to participate in gamified course, their activity in the course was recorded and analyzed. Surveys’ results indicate that students enjoyed gamified course, and plan to continue using it in the future.


Introduction
Gamification in education has positive results as game elements tend to provide a framework with goals and structure, which help to better guide student behavior (Urh et al., 2015).Unified Modelling Language (UML) is constantly used in object-oriented software development.UML is also the part of software engineering curriculum in many higher education institutions (Kuzniarz and Staron, 2005).Currently at Kaunas University of Technology, Information Systems study programme the fourth year undergraduate students are taught an extensive course on Unified Modelling Language and Object-Oriented methodology for development of Information Systems.During the course a vast amount of information related to OO Information System design and specification is being taught to students.UML is only a language, it provides the diagram notation, without giving the instructions for using these diagrams in software development.The software development process or framework defines which models are used during each development stage.One of UML based processes is Rational Unified Process, which is use case driven, iterative process and can be tailored to various situations in software development (Kruchten, 2004).
The current Information System Design course teaches both UML and RUP principles and therefore covers a broad range of topics.Unfortunately, students' motivation and engagement play a huge role in the teaching process, and many of the students tend to lose their motivation and thus the quality of learning diminishes.To combat this problem and to increase student engagement into the learning process, an idea of gamifying the course was proposed.It was decided to implement a gamified course in Moodle learning management system (WEB, 2018), as it is a familiar platform for students in Kaunas University of Technology.At the start of autumn semester in 2017 students were invited to participate in gamified course.Students' activity in gamified course was recorded and analyzed.
Analysis results show that gamification had a positive effect on student grades.In addition to gathering the learning platform data, students were surveyed for measuring their satisfaction of the gamified course.Surveys' results indicate that students enjoyed gamified course, and plan to continue using it in the future.
The rest of the paper is organized as follows.In the second section we cover related work and examine gamification effects in educational context.The third section presents the proposed gamified course structure and its implementation.The results of experiment in applying the gamified course for teaching undergraduate students are analyzed in the fourth section.The last section concludes the research results and outlines future work.

Background
Nowadays education requires additional effort in motivating students and increasing their engagement into the learning process.Tools exist which enable educators to customize and develop different learning tasks and learning objectives suitable for various groups of students.By incorporating the increasing difficulty, which uses previously gained knowledge, and granting users choice, students can better visualize the progress that they are making and complete the tasks at their own pace (Kiryakova et al., 2014).Gamification in education helps to enhance courses to increase the user engagement, productivity and motivation (Deterding et al., 2011) (Sandusky, 2015).Gamifying the educational material improves comprehension and helps to better understand difficult topics such as computer science, information technologies, programming (Dicheva et al., 2015).Currently gamification is extensively applied in Information Technology and Computer Science areas, partly because of educators' capability to technically support the required infrastructure.
Several authors examine the gamification approaches, which use such features as points, levels, badges, ranking of students and challenges (Dicheva et al., 2015) (Kiryakova et al., 2014).Common strategy for implementing gamification is to migrate to an e-learning environment and introduce gamification elements into this environment.Many of the current learning management platforms support customization which enables teachers to introduce potential gamification plugins for gamifying courses (Kiryakova et al., 2014).Moodle (WEB, 2018) is a learning management platform which provides the possibilities of extensive customization.Among such possibilities are the gamification plugins and extensions which could help to gamify the courses (Pastor Pina et al., 2015) (Katsigiannakis and Karagiannidis, 2016).Even without any extensions, Moodle provides some gamification elements such as badges, and incorporates important gamification approaches such as instant grading, progress visualization and feedback (Kiryakova et al., 2014) Our research focuses on analyzing the possibility to gamify the Information System Design course for undergraduate students, which teaches both UML and RUP principles.Unfortunately, no case studies were found on gamifying specifically UML teaching courses.Therefore, several case studies of similar background were analyzed (Barna and Fodor, 2017) (Ibanez et al., 2014) (Katsigiannakis and Karagiannidis, 2016) and it is clear that gamification had various levels of success, in different areas.Research on applying gamification in education (Dicheva et al., 2015) identified that many case studies report positive results, but further investigation is still required as most of the studies do not include proper evaluation.(Katsigiannakis and Karagiannidis, 2016) describe two implemented systems, one, that used badges, and the other one, that did not.They measured the engagement which, as a complex measure, was divided into several components: frequency (login occurrences over time), recency (average return time to the system after some time), duration (time spent using the system).Course participation and activity completion was also measured.The increase on engagement was noticed, compared to the control group.
In research (Barna and Fodor, 2017) the course conditions were similar to research presented in this paper.(Barna and Fodor, 2017) attempted to evaluate the effects of applying a gamification platform for teaching undergraduate students.Authors used such elements as rewards, alternative learning paths, for gamifying Information Technology course in Moodle learning platform.The course was attended by more than 2500 students in 2015 and 2016 combined.The implemented course used a high incentive to motivate studentsan automatic high grade without the exam, if student completes all assignments (that isreceives all badges).The effect could not be clearly measured as a comparison between gamified and non-gamified similar course was not presented.
The intended audience of gamification and its main objectives should be clearly defined to effectively measure the effects of gamification to the applied context.By determining the audience, we can better understand what elements to introduce into the course (Zichermann and Cunningham, 2011) (Kiryakova et al., 2014).In our research, the audience contains undergraduate students in computer science area.The majority of computer science students are familiar with games and should be able to use the system without any prior guidance.We have decided to use such gamification elements as levels, points and badges, as well as a trading system, as our targeted audience should be able to understand even more complex game elements and mechanics.
Moodle as a platform provides extensive logs, which can help to find insights in user behavior (WEB, 2018).Although it is important to note, that the exploratory analysis of Moodle data is not able to determine human satisfaction, engagement, motivation by itself.For this reason, surveys should be prepared to measure the relevant criteria.

The Course
The goal of our work is to encourage the independent learning of UML modelling and increase user satisfaction in the learning process, by introducing game elements into the Information System Design course.The course was improved to motivate students and increase their engagement into the learning process.It was decided to introduce such game elements as points, levels, leaderboard and badges into the course.
Moodle 3.1 learning platform was chosen for implementing the gamified Information System Design course.Moodle has many useful features, which facilitate the gamification process: the possibility to reuse the question bank, the ability to randomize questions in quizzes, possibility to track user activity completion for distributing badges, etc. Moodle also logs user actions extensively, which allows to implement point allocation, based on the actions deemed appropriate by the educator.
Moodle functionality can also be extended by using plugins.Plugins provide customizations which are crucial for tailoring the courses for different curriculums.Our gamified course uses plugin Level UP! (Massart, 2018) which enables setting the rules for activities and resources separately.Awarding points in gamified course is based not only on CRUD actions but also on specific tasks' completion.To restrict access to the certain course resources, the structure of the course was proposed, by introducing levels.

The Proposed Course Structure
The course material is divided into ten levels and level order is based on the original course curriculum.Levels are used to structure the course content so that the students would not be overwhelmed from the start by the amount of courses' material.All ten levels correspond to an UML diagram type or Rational Unified Process engineering discipline.Diagram levels include such UML diagrams as class, use case, activity, state machine, package, sequence, component and deployment.Disciplines levels encompass RUP disciplines: Business Modelling, Requirements, Requirements Analysis, Design, and Implementation.The diagrams are introduced in the order of their application in RUP, difficulty and frequency of use.
Levels are divided into two categories, one for syntax levels and the other for semantics.Under each syntax level there is a task for UML diagram type.The first level is composed of use case and activity diagram tasks, the second level comprises class and state machine diagram tasks, the third level is for robustness diagram tasks, the fourth level is for sequence, package and advanced class diagram tasks, and the fifth level is composed of component and deployment diagram task.Students gradually unlock the tasks starting from the first to the second and so on.The other five levels belong to semantics category.Under each semantics level there is a task for RUP discipline, and the test questions are based on the usage of UML diagrams in the software engineering process.These levels are not numbered but named by the discipline which they cover.
Using the gamification plugin Level UP! the process of awarding points to Moodle course users is implemented.These points are accumulated by course students for passing through all ten course levels.Students are rewarded for completing the level tasks by earning passable grades.Students are awarded 100 points for successfully completing syntax level task and 200 points for completing semantics level tasks.The activity completion and task-based rewards can be gained only once, on successful completion (receiving the passable grade) of the task.
Based on the number of accumulated points, student level is calculated.Each time when the student accumulates the required number of points for the level, his level increases and he also acquires a new badge.The students are ranked into a leaderboard.The rating and level badge are shown alongside student name in leaderboard.
Three categories of badges are introduced into the course.The first category corresponds to the syntax level diagrams tasks (e.g.class diagram badge, use case diagram badge).Overall, the first category is composed of eight badges.The second category of badges is for semantics tasks.Each badge corresponds to the tasks set by the RUP discipline (e.g.requirements discipline badge, project design discipline badge).The third category of badges is the combination of the first and the second category badges.Once student completes syntax and semantics level task (e.g.use case level and requirements discipline level), he receives additional two badges: class expert badge and use case expert badge.These badges indicate that the student has not only mastered the notation of diagrams but is also able to use these diagrams in a context of software modelling.Additional category of badges is proposed for rewarding students for contributions to the course, such as filling out the surveys, engaging into the course, providing feedback etc.
Additionally, a trading system is introduced into the course.The objects for trading are UML example models of two different information systems.These example models are useful for the students as a sample of the course project that they must prepare during the semester.Example models encompass the whole set of UML diagrams, modelled according the RUP disciplines for the development of two different information systems.For the implementation of trading system, a virtual currency is used in the course, which facilitates student engagement and broadens the scope of activities in the gamified course.In total, twelve items are introduced: three coins and nine keys.Moodle widget for trading is used for implementation of trading system.This widget enables students to exchange their gathered coins into the keys.UML example models become available, once the student gets the appropriate key and meets the level requirements.

Course Implementation
For the implementation of the proposed course, bare Moodle functionality is not enough.Therefore, two sets of plugins (six additional plugins in total) must be implemented into Moodle environment (figure 1).The first plugin set is called LevelUP, it enables implementation of points and levels into a course.The second plugin set Stash is used to implement collectable items into a course.Each set is composed of three plugins, which can be used independently.The plugins called block_* contain the main functionality of the set.Additionally, availability_* plugins enable setting custom access rules for users, based on the achieved level or collected items.Plugin filter_stash implements trading widget for exchanging collected items.Lastly local_xp plugin implements additional rules for tracking the completion of the tasks and handling the point distribution based on it.

Fig. 1. Moodle configuration for gamified course
In addition to introducing plugins, a Lithuanian language support is implemented into the developed Moodle course.The Information Systems Design course is taught in Lithuanian, therefore the environment has to be tailored for this language.The plugins used in the course, provide language php files, which we have customized for introducing Lithuanian language.The whole gamified course, which encompasses the required plugins and Lithuanian language support is implemented in Moodle server of faculty of Informatics at Kaunas University of Technology.Thus, this course is available for the students of the faculty and can be used for investigating the influence of gamification on the student motivation and engagement.

Results of Applying the Gamified UML Teaching Course
During 2017 autumn semester the experiment using the gamified UML teaching course was carried out.In September 2017, the learning platform was updated to Moodle 3.1.4version and all required plugins were installed.The new course was created, and all course material was restructured according to the proposed structure.The tests for each level were developed and implemented in the new course.Undergraduate students of fourth year, studying the course Information System Design and CASE Technology were invited to participate in the gamified course starting from the 1 st of October.The participation was voluntary.In total 22 students participated in the course.Students were asked to answer a short survey of five questions, which measured student satisfaction, and 16 students completed the survey.
After the completion of the experiment an exploratory data analysis of the Moodle logged data was performed.A standard log of all participant activities during the duration of the course was used to determine all the actions the students performed in the course.Activity completion log was used to determine the popularity and difficulty of each task.A standard log analysis shows that the system usage increased drastically in January 2018 before the course final exam and is almost equal to the usage in 2017 from October to December (figure 2).Most of the activities performed by for the students consisted of viewing, taking and submitting tests, and viewing various course pages.Other recorded activities include downloading files, viewing discussions etc., which made up only a small portion of all logged actions.
The distribution of students by their course levels after the course completion is presented in figure 2. A quarter of students were able to reach only the first level, other 35 percent of students used the course only minimally, as their level is still relatively low.The last 40 percent of students used the course extensively and were able to reach higher levels.An increase of students in Level10 can be seen.Some students mentioned that a leaderboard played a huge role in the drive to reach the higher level.

Fig. 2. Statistics of logged user activities and level distribution in gamified course
In figure 3 the overview of the completion of activities in course levels is presented.We can see that 74% of students completed Level 1 (the business modelling task).Chart indicates that the use case diagram was the second most completed task.This may have happened because it is at the beginning of the course.In level 4 a drop is considerable, which may indicate that the task (Requirements discipline) was too difficult.Other levels were not as popular, a drop was expected, as students who were not able to raise their level high enough could not access the tasks.

Fig. 3. The completion rate of the task in each level
The survey for the students participating in the gamified course was also conducted.The survey results are presented in figure 4. Statements were used to determine the satisfaction of users by measuring the interest, the course value and effectiveness of material for teaching UML.The statement were rated in a scale from 1 to 7 (1 = not at all true 4 = somewhat true 7 = very true).A total of 16 students completed the anonymous survey.The overall results averaged to 5,76 out of 7, which indicates that the course students' satisfaction is quite high.

Fig. 4. The results of survey on the gamified course
According to the analyzed experiment results, our gamified course succeeds in teaching students the basics of UML language, though it would be valuable to conduct the experiment on a larger group of students.Further analysis is required to determine the ramifications of gamifying the system design course.

Conclusions and Future Work
The analysis of existing case studies reveals that gamification can be used in education to increase student motivation and engagement.We have presented an implementation of gamified UML teaching course in Moodle environment.The new Moodle course was developed, which uses additional plugins for implementing the required gamification elements.The set of gamification elements used in this course encompasses levels, points, leaderboard, three types of badges and virtual currency.
The results of experiment show that the introduction of gamification into the course was successful.The surveyed students are satisfied with the course and find it useful.However, in the beginning of the course a small portion of students were interested in participation and only at the end of experiment the students were active.The participation was voluntary therefore not all participating students managed to level up.
As the set of experiment participants was quite small, we decided to carry out the second iteration of the experiment, on a bigger set of students.After the first experiment, the Moodle course was improved and updated by introducing additional trading items, more UML example models, updated tests, etc.The updates were based on feedback from the first experiment participants.A second iteration of experiment has already started in February 2018 and will be carried out till the end of May 2018.