# A Domain-Driven Framework to Analyze Learning Dynamics in MOOCs through Event Abstraction
## 3 Domain-Driven Event Abstraction Framework
### Stage 3: High-Level Log
For example, the student might be reading the questions before taking an examination seriously, or he or she might be examining an assessment to figure out where he or she went wrong. In other words, there is contact with an assessment-type resource that has been started but not finished. This dynamic takes into account behaviors that are comparable to _\"View the quiz\"_ and _\"Refer to quiz answers\"_ described in [34] and _\"Viewing quiz results\"_ described by [31]. Figure 5 depicts, in terms of a decision tree, how each low-level event is related to a learning dynamic. It should be emphasized that low-level sequential events connected with the same learning dynamic are aggregated inside the same activity, and checking if a resource was completed before is measured across all sessions. The first timestamp in the sequence is used to determine the beginning of the activity, and the last one is used to identify the end. This generates a new event log with significantly fewer activities, as illustrated by the example in Table 2. \begin{table}
\begin{tabular}{c c c c c} \hline
**User** & **Session** & **Activity** & **Started** & **Completed** \\ \hline [PERSON] & 1 & Exploring & 2020/05/28 13:05:10 & 2020/05/ 28 13:06:30 \\ [PERSON] & 2 & Exploring & 2020/05/30 12:30:20 & 2020/05/ 30 12:30:22 \\ [PERSON] & 2 & Progressing & 2020/05/30 12:30:22 & 2020/05/ 30 12:40:32 \\ [PERSON] & 2 & Progressing & 2020/05/30 12:45:49 & 2020/05/ 30 12:49:42 \\ [PERSON] & 2 & Fetching & 2020/05/30 12:58:12 & 2020/05/ 30 12:59:01 \\ [PERSON] & 2 & Echoing & 2020/05/30 12:59:37 & 2020/05/ 30 13:05:09 \\ [PERSON] & 5 & Fetching & 2020/06/01 16:58:51 & 2020/06/01 16:58:51 \\ [PERSON] & 5 & Echoing & 2020/06/01 17:19:13 & 2020/06/01 17:28:13 \\ [PERSON] & 5 & Assessing & 2020/06/01 17:30:00 & 2020/06/01 17:45:59 \\ [PERSON] & 5 & Skimming & 2020/06/01 17:47:39 & 2020/06/01 17:47:39 \\ [PERSON] & 6 & Skimming & 2020/06/02 09:10:29 & 2020/06/02 09:12:22 \\ [PERSON] & 6 & Retaking & 2020/06/02 09:15:41 & 2020/06/02 09:18:41 \\... &... &... &... \\ \hline \end{tabular} \({}^{1}\) We observe that user ”[PERSON]” has two sessions. Because the first session only begins and does not finish the content, session 1 would only include the Exploring dynamic. In their second session, however, it is observed that he progresses through resources 1, 2, and 3, which is the behavior of the Progressing dynamic. Then he breaks the course sequence to complete resource 5, which results in the creation of a new Progressing activity. Later, he revises resources 1 and 2 without finishing them, which is the Fetching dynamic, before finally starting and finishing resource 3 for the second time, so he ends up performing the Echoing activity. Meanwhile, user ”[PERSON]” starts her fifth session by looking over content 10, then completes resource 11, performing the behaviors of the Fetching and Echoing dynamics, respectively. She then starts and completes assessments 12 and 13, doing the Assessing dynamic, and ends the session by glancing over assessment 13, corresponding to the Skimming dynamic. The user checks assessments 12 and 13 again during her next session without completing them. This is equivalent to Skimming again, and then repeats assessment 13, finishing it this time, which is abstracted as the Retaking dynamic.  
\end{table} 
Table 2: An example of an abstracted event log created using Table 1 data. Figure 5: Criteria to assign to each high level activity.