{'fraction_non_alphanumeric': 0.016183412002697236, 'fraction_numerical': 0.0, 'mean_word_length': 6.100478468899522, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A personalized programming exercise recommendation algorithm based on knowledge structure tree

Personalized exercise recommendation is an important research project in the field of online learning, which can explore students’ strengths and weaknesses and tailor exercises for them. However, programming exercises differs from other disciplines or types of exercises due to the comprehensive of the exercises and the specificity of program debugging. In order to assist students in learning programming, this paper proposes a programming exercise recommendation algorithm based on knowledge structure tree (KSTER). Firstly, the algorithm provides a calculation method for quantifying students’ cognitive level to obtain their knowledge needs through individual learning-related data. Secondly, a knowledge structure tree is constructed based on the association relationship of knowledge points, and a learning objective prediction method is proposed by combining the knowledge needs and the knowledge structure tree to represent and update the learning objective. Finally, KSTER imports a matching operator that calculates cognitive level and exercise difficulty based on learning objectives, and makes top-η recommendation for exercises. Experiments show that the proposed algorithm significantly outperforms the other algorithms in both precision and recall. The comparison experiments with real-world data demonstrate that KSTER effectively improves students’ learning efficiency.