Abstract
Computer programming education is being given increasing importance in many universities in Japan. But conventional classes do not allow enough time to cultivate computer programming skills. One of the effective methods for cultivating computer programming skills is a collaborative learning method in voluntary community. However, it is difficult to maintain a student’s motivation in such a voluntary community. On the other hand, Gamification has attracted much attention recently as a method to help users to maintain and improve their motivation. In this research, we propose a support system to emphasize collaborative learning in a voluntary community by using Gamification. The experimental results confirmed that our proposed system was effective in supporting the cultivation of computer programming skills.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
- Computer supported collaborative learning
- Computer mediated communication
- Gamification
- Computer programming education
1 Introduction
Computer programming course are being included as part of the curriculum at many universities in Japan. In a conventional class, students have to practice to describe program codes as well as study theoretical programming knowledge [1]. However, there is sometimes not enough time for them to do these activities. One of the effective methods for cultivating computer programming skills is a collaborative learning method in a voluntary community. However, it is difficult to improve student’s skill and motivation in such a voluntary community, causing individual differences from person to person in their understanding and attitude. There are many e-learning systems such as MOOCs [2]. There has also been research done on communication assistance systems such as Wiki, chatting, or SNS [3, 4]. But there is very little research that discusses their learning attitudes and motivations.
2 Research Backgrounds
2.1 Activities in Voluntary Community
In our past research [5], it became clear that the following three activities are important to improve user’s motivation in a voluntary community (Fig. 1).
-
Communication activity: Share member’s status, condition, problem and goal
-
Collaboration activity: Work on common subjects to maintain their motivation
-
Competition activity: Compete with other members to improve their motivation
Moreover, it is important to connect these activities seamlessly to improve student’s motivation.
2.2 Gamification
Gamification has attracted much attention recently as a method to help users maintain and improve their motivation [6, 7]. Gamification is defined as “to use gaming elements, such as concept, design, and mechanics of a game, for social activities or services other than the game itself [8]”. We think that Gamification is effective to maintain and improve member’s motivation in voluntary communities.
3 Research Purpose
In this study, we targeted the voluntary community for programming learning. We propose a support system to emphasize collaborative learning in such a voluntary community by using Gamification.
4 Proposal of Collaborative Learning Support System for Programming Education
We propose a support system that has the following functions by applying the concept of Gamification.
-
Peer Review Function to support Collaboration activity
-
Competition Function (called Programming Challenge) to support Competition activity
Moreover, our system has the platform of the Communication Function such as “Bulletin Board” and “Message function”. Communication Function supports activity in the voluntary community as well as the platforms of Peer Review Function and Competition (Programming Challenge) Function. These functions are connected seamlessly.
4.1 Peer Review Function
Our system consists of 15 exercises, each constituting a different level. Each exercise has 5 questions. Users are designated to have obtained level clearance when users have cleared these questions. The user who has finished solving the questions submits the outcome on the contribution page on our system. The submitted outcome is reviewed by the other users chosen by the peer review function (Fig. 2). But, reviewers are chosen from the users who have level clearance for that exercise. The contents of the review consisted of two fields, the judgment of the result of the exercise and comments on the outcome. Also the reviewer name is not specified. Peer Review can reinforce the learning by reviewing the outcome created by the other users. We think that it is important for users to help and teach each other when learning programming skills.
4.2 Programming Challenge Function
We prepared the overall questions for the Programming Challenge (Fig. 3). The questions have two characteristics such as “There can be multiple descriptions” and “The difference is easily noticeable between the users”. There is a submission time limit for an outcome. The administrators evaluate the outcome based on 3 items, earliness, correctness and easiness of reading. The competition function ranks the outcome based on these evaluations. Only the top 3 users are commended in the system after the competition. The program codes of those top 3 users are exhibited in the system, and everyone can read. The title is added to the top 3 users in the site as well as the commendation. Programming Challenge measured the check points of learning achievements. Moreover, this function was made for the purpose of improvement of the desire to learn by competing with the other users for the value of the outcome. Also we put the programming challenge into effect twice under the experiment.
4.3 Prototype System
To test the feasibility of our proposal, we made a prototype system. Screen hierarchy of our prototype system is shown Fig. 4.
5 Evaluation
To evaluate our system, we conducted the experiment targeted at the voluntary community aimed at programming learning for about 3 months. We set the subjects who belong to a science faculty department of the same university (between 21 to 22 years old, 5 males and 2 females). First we explained beforehand about how to use the proposed system. The account ID was given to each subject at the same time. The programming language learned during this experiment was Python. Furthermore, the authors made the teaching materials used for learning.
In order to verify the effectiveness of our system, we conducted interview survey about the whole system and each function, on 4th, 8th and 12th weekend. Moreover, we put the programming challenge in the 5th and 11th week. We handed out a questionnaire asking about learning situation, whole system and each function after the programming challenge.
5.1 Evaluation of Peer Review Function
We show a questionnaire about the validity of Peer Review function. We established two evaluation items for Peer Review, which were: “Q1: The reviews from other users to user’s outcome” and “Q2: The reviews for the other user’s outcome”. The questionnaire asked the subjects to answer based on 5 stages of Likert scale (5: Useful, 1: Not useful). We show the average value of answers in Table 1.
From the results of Table 1, it became clear that the review activities are effective in learning for about 90% of the subjects in the experiment. Next, based on the result of the interview survey, we classified the effective reviews for motivation improvement after the experiment. The characteristics of an effective review were: “The contents of the submitted review are written clearly”, “Improvement methods for the program are indicated clearly” and “There are descriptions about assumed errors”. On the other hands, the characteristics of an ineffective review were: “Only a judgment result” and “There are no directions in detail on how to think”. From the results of questionnaire and interview survey, the validity of the Peer Review system was confirmed. Moreover, the features of effective reviews became clear.
5.2 Evaluation of Programming Challenge Function
We compared the outcomes during the experiment. Specifically, outcome just after the course starting (1st week), outcome of first programming challenge (5th week) and outcome of second programming challenge (11th week) were used. Three teachers who participated in information education at the university evaluated these outcomes on a scale of 5. Furthermore, alphabets (A~H) are the user number. We considered 2 metrics for evaluation, correctness and easiness of reading. We show the result of evaluation of each item to Figs. 5 and 6.
Figures 5 and 6 show that each evaluation metric is increasing from starting to challenge 1 or 2. Focusing on the correctness metric, about half of the users improved the evaluation value from challenge 1 to challenge 2. Big improvements were seen in the users whose starting evaluation values were low in particular. Focusing on the easiness of reading metric, most users improved the evaluation value from the challenge 1 to challenge 2. We think the improvement of subjective programming skill was confirmed from the above mentioned result.
6 Conclusion and Future Studies
In this paper, we proposed a support system to motivate students’ individual learning in a voluntary community. We proposed three functions to support the three types (Communication, Collaboration and Competition) of activities based on the analysis of their current conditions. To examine feasibility of our proposal, we implemented a prototype system and conducted an evaluation. Through the practical use of our prototype system, the validities of our proposed functions were confirmed.
In our future studies, we revise the prototype system and evaluate it in actual uses.
References
Uno, K., Unekawa, M.: Development of the feedback system of learning situation in real time for a programming exercise. J. Fac. Manag. Inf. Syst. Prefectural Univ. Hiroshima 7, 163–169 (2015). (in Japanese)
Fulton, K.: Upside down and inside out: flip your classroom to improve student learning. Learn. Lead. Technol. 39(8), 12–17 (2012)
Strayer, F.J.: How learning in an inverted classroom influences cooperation, innovation and task orientation. Learn. Environ. Res. 15(2), 171–193 (2012)
Otake, K., Shinozawa, Y., Uetake, T.: Proposal of the support tool for after-class work based on the online threaded bulletin board. Int. J. Adv. Comput. Sci. Appl. 8(2), 219–226 (2017)
Otake, K., Komuro, M., Shinozawa, Y., Uetake, T., Sakurai, A.: A proposal of an SNS to support individual practices in a voluntary community. In: Stephanidis, C. (ed.) HCI 2015. CCIS, vol. 529, pp. 107–112. Springer, Cham (2015). doi:10.1007/978-3-319-21383-5_18
Zichermann, G., Linder, J.: Game-Based Marketing: Inspire Customer Loyalty Through Rewards, Challenges, and Contests. Wiley, Hoboken (2010). ISBN 978-0470562239
Zichermann, G., Cunningham, C.: Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps. Oreilly & Associates Inc., Sebastopol (2011). ISBN 978-1449397678
Inoue, A.: Gamification: “Game” Changes Business. NHK Publishing Co, Tokyo (2012). (in Japanese). ISBN 978-4140815168
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Otake, K., Uetake, T. (2017). Collaborative Learning Support System for Programming Education Using Gamification. In: Stephanidis, C. (eds) HCI International 2017 – Posters' Extended Abstracts. HCI 2017. Communications in Computer and Information Science, vol 714. Springer, Cham. https://doi.org/10.1007/978-3-319-58753-0_25
Download citation
DOI: https://doi.org/10.1007/978-3-319-58753-0_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-58752-3
Online ISBN: 978-3-319-58753-0
eBook Packages: Computer ScienceComputer Science (R0)