Abstract:
Programming ability is the core ability of students majoring in computer science, the development of students' programming skills is an important ongoing concern in the field of computer education. Online judge systems (OJ system for short) have good characteristics of high efficiency, fairness and objectivity, and have become an important tool to train the programming ability of students. However, OJ systems still have the following limitations: firstly, most OJ systems do not perceive and quantify the programming ability of students at the level of knowledge points, resulting in the difficulty of recommended programming questions in the system do not match the programming ability of students; secondly, most OJ systems lack the study and design of incentive strategies. These limitations will give a negative impact on the improvement of the programming motivation and the programming ability of students. In view of this, a gamification OJ system with programming ability perception function is designed and implemented, named GameOJ. GameOJ system uses the improved Bayesian Knowledge Tracing model CC-BKT to finely perceive and quantify the programming ability of students associated with each programming knowledge point. Meanwhile, it introduces the idea of gamification to design incentive strategies for the OJ system, including the gamification element design and the gamification programming challenge flow design, aiming at improving students' learning motivation for programming. Currently, the GameOJ system has been deployed and applied in many computer-related teaching classes at Guangxi University, and has received much positive feedback from both teachers and students.