skip to main content
10.1145/3304221.3319792acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article
Open Access

Applying Gamification to Motivate Students to Write High-Quality Code in Programming Assignments

Published:02 July 2019Publication History

ABSTRACT

Background: Traditional programming education focuses on training students' ability to write correct code that meets the specifications in programming assignments. In addition to correctness, software engineering studies argue that code quality is important. Problem: Nurturing students' ability to write high-quality code in programming assignments is difficult due to two main reasons. (1) Considering code quality while grading is undesirable because there are no objective and fair measurement metrics. (2) Grading assignments from multiple viewpoints (correctness and quality) is difficult and time-consuming. Approach: We propose applying gamification with code metrics to measure code quality in programming assignments. Our approach can motivate students to write code with good metric scores independent of grading. We implemented our approach and conducted a control experiment in a programming course at a university. Result: Our approach did not interfere with students' submissions but improved metric scores significantly. Hence, our approach can engage students to write high-quality code.

References

  1. Satoshi Arai, Kazunori Sakamoto, Hironori Washizaki, and Yoshiaki Fukazawa. 2014. A Gamified Tool for Motivating Developers to Remove Warnings of Bug Pattern Tools. In 2014 6th International Workshop on Empirical Software Engineering in Practice . IEEE, 37--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Dennis M. Breuker, Jan Derriks, and Jacob Brunekreef. 2011. Measuring static quality of student code. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE '11. ACM Press, New York, New York, USA, 13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. T. Chen. 1978. Program Complexity and Programmer Productivity. IEEE Transactions on Software Engineering, Vol. SE-4, 3 (may 1978), 187--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S.R. Chidamber and C.F. Kemerer. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, Vol. 20, 6 (jun 1994), 476--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Richard E Clark and Brenda M Sugrue. 1988. Research on Instructional Media, 1978--1988. In Educational Media Yearbook 1987--88. Littletown, CO: Libraries Unlimited, 327--343. https://www.gwern.net/docs/psychology/1991-clark.pdfGoogle ScholarGoogle Scholar
  6. Sebastian Deterding, Dan Dixon, Rilla Khaled, and Lennart Nacke. 2011. From game design elements to gamefulness: defining "gamification". In Proceedings of the 15th International Academic MindTrek Conference on Envisioning Future Media Environments - MindTrek '11. ACM Press, New York, New York, USA, 9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gene V. Glass. 1976. Primary, Secondary, and Meta-Analysis of Research . Educational Researcher, Vol. 5, 10 (nov 1976), 3--8.Google ScholarGoogle ScholarCross RefCross Ref
  8. Maurice H. (Maurice Howard) Halstead and Maurice H. 1977. Elements of software science. Elsevier. 127 pages. https://dl.acm.org/citation.cfm?id=540137Google ScholarGoogle Scholar
  9. Larry V. Hedges and Ingram. Olkin. 1985. Statistical methods for meta-analysis. Academic Press. 369 pages. https://www.sciencedirect.com/science/book/9780080570655Google ScholarGoogle Scholar
  10. Petri Ihantola, Tuukka Ahoniemi, Ville Karavirta, and Otto Sepp"a l"a. 2010. Review of recent systems for automatic assessment of programming assignments. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research - Koli Calling '10. ACM Press, New York, New York, USA, 86--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Firas Layth Khaleel, Noraidah Sahari@ Ashaari, Tengku Siti Meriam, Tengku Wook, and Amirah Ismail. 2015. The study of gamification application architecture for programming language course. In Proceedings of the 9th International Conference on Ubiquitous Information Management and Communication - IMCOM '15. ACM Press, New York, New York, USA, 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Andy Kurnia, Andrew Lim, and Brenda Cheang. 2001. Online Judge . Computers & Education, Vol. 36, 4 (may 2001), 299--315. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S Lewis and M Clarke. 2001. Forest plots: trying to see the wood and the trees. BMJ (Clinical research ed.), Vol. 322, 7300 (jun 2001), 1479--80. http://www.ncbi.nlm.nih.gov/pubmed/11408310 http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=PMC1120528Google ScholarGoogle Scholar
  14. T. J. McCabe. 1976. A Complexity Measure . IEEE Transactions on Software Engineering, Vol. SE-2, 4 (dec 1976), 308--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Allan Mori, Gustavo Vale, Markos Viggiato, Johnatan Oliveira, Eduardo Figueiredo, Elder Cirilo, Pooyan Jamshidi, and Christian Kastner. 2018. Evaluating domain-specific metric thresholds. In Proceedings of the 2018 International Conference on Technical Debt - TechDebt '18. ACM Press, New York, New York, USA, 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Marie Olsson, Peter Mozelius, and Jonas Collin. 2015. Visualisation and Gamification of e-Learning and Programming Education . Electronic Journal of e-Learning, Vol. 13, 6 (2015), 441--454. https://eric.ed.gov/?id=EJ1087309Google ScholarGoogle Scholar
  17. Oscar Pedreira, Fé lix Garcí a, Nieves Brisaboa, and Mario Piattini. 2015. Gamification in software engineering -- A systematic mapping . Information and Software Technology, Vol. 57 (jan 2015), 157--168.Google ScholarGoogle ScholarCross RefCross Ref
  18. Jordi Petit, Omer Gimé nez, and Salvador Roura. 2012. Jutge.org: an educational programming judge. In Proceedings of the 43rd ACM technical symposium on Computer Science Education - SIGCSE '12. ACM Press, New York, New York, USA, 445. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Christian R. Prause and Matthias Jarke. 2015. Gamification for enforcing coding conventions . In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015 . ACM Press, New York, New York, USA, 649--660. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Miguel A Revilla, Shahriar Manzoor, and Rujia Liu. 2008. Competitive Learning in Informatics: The UVa Online Judge Experience . Olympiads in Informatics, Vol. 2 (2008), 131--148. https://ioinformatics.org/journal/INFOL035.pdfGoogle ScholarGoogle Scholar
  21. Jose Miguel Rojas and Gordon Fraser. 2016. Code Defenders: A Mutation Testing Game. In 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW) . IEEE, 162--167.Google ScholarGoogle Scholar
  22. José Miguel Rojas, Gordon Fraser, Thomas White, and Benjamin Clegg. 2016. Code Defenders . http://code-defenders.org/Google ScholarGoogle Scholar
  23. Leif Singer and Kurt Schneider. 2012. It was a bit of a race: Gamification of version control. In 2012 Second International Workshop on Games and Software Engineering: Realizing User Engagement with Game Engineering Techniques (GAS). IEEE, 5--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Armando M Toda, Pedro H D Valle, and Seiji Isotani. 2018. The Dark Side of Gamification: An Overview of Negative Effects of Gamification in Education. In Higher Education for All. From Challenges to Novel Technology-Enhanced Solutions, , Alexandra Ioana Cristea, Ig Ibert Bittencourt, and Fernanda Lima (Eds.). Springer International Publishing, Cham, 143--156.Google ScholarGoogle Scholar
  25. Sheng Yu and Shijie Zhou. 2010. A survey on metric of software complexity. In 2010 2nd IEEE International Conference on Information Management and Engineering. IEEE, 352--356.Google ScholarGoogle ScholarCross RefCross Ref
  26. Wenju Zhou, Yigong Pan, Yinghua Zhou, and Guangzhong Sun. 2018. The framework of a new online judge system for programming education. In Proceedings of ACM Turing Celebration Conference - China on - TURC '18 . ACM Press, New York, New York, USA, 9--14. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Applying Gamification to Motivate Students to Write High-Quality Code in Programming Assignments

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader