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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- E. T. Chen. 1978. Program Complexity and Programmer Productivity. IEEE Transactions on Software Engineering, Vol. SE-4, 3 (may 1978), 187--194. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Gene V. Glass. 1976. Primary, Secondary, and Meta-Analysis of Research . Educational Researcher, Vol. 5, 10 (nov 1976), 3--8.Google ScholarCross Ref
- Maurice H. (Maurice Howard) Halstead and Maurice H. 1977. Elements of software science. Elsevier. 127 pages. https://dl.acm.org/citation.cfm?id=540137Google Scholar
- Larry V. Hedges and Ingram. Olkin. 1985. Statistical methods for meta-analysis. Academic Press. 369 pages. https://www.sciencedirect.com/science/book/9780080570655Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Andy Kurnia, Andrew Lim, and Brenda Cheang. 2001. Online Judge . Computers & Education, Vol. 36, 4 (may 2001), 299--315. Google ScholarDigital Library
- 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 Scholar
- T. J. McCabe. 1976. A Complexity Measure . IEEE Transactions on Software Engineering, Vol. SE-2, 4 (dec 1976), 308--320. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- José Miguel Rojas, Gordon Fraser, Thomas White, and Benjamin Clegg. 2016. Code Defenders . http://code-defenders.org/Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
Index Terms
- Applying Gamification to Motivate Students to Write High-Quality Code in Programming Assignments
Recommendations
Applying Code Quality Detection in Online Programming Judge
ICIIT '20: Proceedings of the 2020 5th International Conference on Intelligent Information TechnologyThis article presents an enhanced programming online judge system that not only evaluates the correctness of the submitted program code but also detects its code quality. Both results of the correctness and quality detection are responded through web ...
How Teachers Would Help Students to Improve Their Code
ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science EducationCode quality has been receiving less attention than program correctness in both the practice of and research into programming education. Writing poor quality code might be a sign of carelessness, or not fully understanding programming concepts and ...
Designing a rubric for feedback on code quality in programming courses
Koli Calling '16: Proceedings of the 16th Koli Calling International Conference on Computing Education ResearchWe investigate how to create a rubric that can be used to give feedback on code quality to students in introductory programming courses. Based on an existing model of code quality and a set of preliminary design rules, we constructed a rubric and put it ...
Comments