The master's thesis analyzes students' programs in Scratch, focusing on the use and development of programming patterns in the process of learning basic programming. The theoretical part defines programming patterns and justifies their importance in teaching introductory block-based programming. It also addresses the challenges students face in introductory programming, which can be identified more accurately by analyzing the structure of programming patterns.
When teaching programming, it is important for teachers to know how to meaningfully build students’ conceptual programming knowledge and to monitor the acquisition of such knowledge. The presented method recommends analyzing the programming patterns students use when designing their solutions, as well as examining how they combine these patterns in more complex cases. This provides insight into the students' conceptual knowledge and can help teachers plan their lessons and make informed decisions about teaching methods and approaches.
The empirical part of the thesis first reviews the literature to determine how programming patterns are defined in text-based programming languages and adapt them appropriately for block-based programming languages. Next, a manual analysis of students’ programs is conducted in order to investigate how successfully they apply programming patterns in tasks and to monitor their conceptual development throughout the learning process. In addition, machine learning methods are used to analyze patterns in task-solving and identify the most common difficulties encountered by students, which serves as a basis for imporoving the learning process in introductory programming.
Based on the findings, the thesis provides recommendations and guidelines for teachers to assist them in designing and implementing programming lessons based on the use of programming patterns.
|