{'fraction_non_alphanumeric': 0.013656114214773432, 'fraction_numerical': 0.0, 'mean_word_length': 4.926470588235294, '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}}
Behaviour Patterns of Learners while Solving a Programming Task: an Analysis of Log Files

Solving individual tasks plays an important role while studying programming but teachers do not see how learners achieve the result, especially in the case of massive open online courses (MOOCs). Investigating the process of solving programming tasks can provide the teacher with valuable information. The aim of this study is to find answers to the following questions based on the log files of the programming environment Thonny: What behaviour patterns of different learners in solving programming tasks can be identified based on the example of a summary task of the MOOC “Introduction to Programming”? What types of learners can be distinguished on the basis of the behaviour patterns of task solving? The analysis of learners’ behaviour patterns was performed by observing whether they solved the task gradually or not, i.e., whether they wrote the program in parts while also testing their work in the meantime, or whether they tested it for the first time only after they had written the bulk of the solution. In the context of the solution of the MOOC summary task, one can observe that the seven learners who spent the most time and had the greatest number of error messages and repetitive error messages did not work in a gradual style. It is possible that recommending a gradual solution process can help beginners to better understand their code and find errors. It can reduce situations with many concurrent errors in the code making it difficult to understand why any specific error message was generated.