I. Introduction
In recent years, the rapid shift from the traditional classroom to online learning drastically affects educational practices across disciplines. The flexibility and convenience of online learning have made it an essential part of the modern education system. In programming education, it demands more evidence than ever that online learners and instructors should learn how to acquire knowledge quickly and effectively [1]. However, the effectiveness of online learning depends on complex variables, including student engagement, learning strategies, and their interaction with the educational content [2], [3]. In an online environment, instructors often need help directly observing and guiding students' learning process as in a physical classroom. Therefore, it becomes a great challenge to grasp the learning status of learners in the online environment and to understand the behavioral patterns of students.