## 4 Discussion  
This paper's main objective was to analyze students' academic performance data using unsupervised machine learning methods and find potentially useful patterns regarding students' performances in learning programming. The first research question (Q1) tried to find how the students' performances in micro-learning units with quizzes and programming assignments affect the number of identified meaningful clusters. Therefore, several datasets were prepared and analyzed for that purpose. The clustering analysis found two clusters in all cases. This finding confirmed teachers' assumptions and feedback that the micro-learning platform with automated evaluation of programming assignments highlighted the students' attitudes towards using learning tools during learning programming. While the activity of the first group of students on the platform led to higher grades, the activity of the students who did not prefer the intensive support provided by the platform led to lower grades. This observation is comparable with each student's performance before the platform was deployed at the university. It is not surprising and confirms the conclusions of other research publications, which dealt with the role of virtual learning platforms with automated programming code evaluation in the learning process, especially in learning programming. The positive effects of platforms like Priscilla on the learning process will manifest only when the students accept that these tools were developed to help them with the most challenging part of learning programming--associating theoretical knowledge with practical programming skills. While the developers and platforms seem to be better prepared, the teachers and, in particular, students should continually work on improving their learning and teaching methods in line with the main principles of self-regulation learning. Furthermore, the cluster analysis indicates the existence of more than two clusters of students. Although the performance metrics did not strongly support this statement, further analysis of each student's characteristics and behavior could uncover potentially  
Figure 15: Contingency matrix describing the relationship between labels assigned to the data belonging to the clusters found for features, which represent grades from different term periods. The results are for the K-Means model with \(k=4\). useful knowledge. For example, using association or sequence rule analysis or process mining methods could confirm the correctness of the teachers' observation that the students naturally group into four clusters based on their performances. As mentioned earlier, the aim of this study was to identify the groups of students with similar performances in the Java programming micro-learning course and uncover possible changes in the number of identified groups in consecutive periods of the term and based on different types of micro-learning units. However, the methodology and findings can also be helpful outside this course. This course represents a whole family of similar courses developed on the micro-learning platform, which have the same structure and combine micro-learning units with quizzes and programming assignments for different programming languages. Moreover, they contain similar structures of thematic topics, which allow the students to practice and improve their programming skills. Therefore, the analysis of students' performance data from other courses could be extrapolated from these findings. The second research question (Q2) tried to examine how identified groups of students with different academic performances change in composition over three periods of term. This study confirmed the natural assumption that delivering educational content in micro-learning units with automated programming assignments leads to creating groups of students with different academic performances. The compositions of these groups change based on activity type and over time.