## 3 Methodology
### Problem Understanding  
As mentioned in the introduction section, this paper aims to determine whether delivering educational content in micro-learning units with automated programming assignments can identify groups of students with different academic performances and whether these groups change over time. The students' performance data stored in the micro-learning platform Priscilla were analyzed using selected learning analytics methods. Among other things, the results of this study can help to explore the potential and suitability of the collected data for the future implementation of a learning analytics module or dashboard. This module should engage students in achieving their learning goals, support teachers in applying suitable and early forms of intervention, and fulfil the expectations of the micro-learning platform Priscilla community of stakeholders. Nowadays, the platform stores data about the students' activities in the form of xAPI logs. However, their potential for clustering without massive preprocessing is questionable. On the other hand, the platform provides several reports for teachers and managers through its user interface. These reports provide detailed information about each student's progress, partial and final grades, number of attempts, and experience points as gamification module outputs. Nevertheless, these data resources have not yet been systematically analyzed with machine learning methods. A programming course, Introduction to Java, was selected for this study. Almost 120 students had started to learn programming in this course. During the term, they gradually went through individual topics suitably ordered to develop the students' skills in Java programming in line with the object-oriented paradigm. Each topic contained micro-learning units with quizzes, which tested students' correct understanding of the topic and provided immediate feedback to them. Afterwards, each student had to solve a set of programming assignments with automated feedback and programming code evaluation to verify whether they correctly understood the given programming concept. Each student could repeat the quizzes and automatically evaluate the programming code without limit, use hints, and receive grades for successfully passing the activities. This educational strategy can be considered one of the most essential features of the micro-learning platform. It aligns with the expectations of the current generation of students who prefer combining short textual or graphical content with interactive activities. The micro-learning platform replaced programming courses created in LMS Moodle, which used the Virtual Programming Lab (VPL) plugin for the automated evaluation of programming assignments. The main motivation to leave LMS Moodle resulted from the students' dissatisfaction with the complexity of the programming courses enhanced with the VPL plugin. The reason was that many activities and resources made the course confusing. The micro-learning platform tried to eliminate this problem. The automated evaluation of programming assignments based on VPL was improved and successfully implemented in the micro-learning platform during the realization of the FITPED project. The primary motivation for clustering analysis can be explained using heatmap visualization (Figure 2). This figure shows a normalized heatmap of each student's performance in individual micro-learning units and programming code assignments in individual topics. Topics were ordered chronologically by how they happened in the term. The students with the lowest performance were ordered at the bottom. The enrolled students with zero activity were removed for better clarity. Each student's performance was normalized because each topic contained a different number of graded quizzes and programming assignments. Unsurprisingly, the students' activity levels and performances declined during the term.