Design and Analysis of Microworlds and Puzzles for Block-Based Programming
Background and Context: Block-based programming is a popular approach to teaching introductory programming. Block-based programming often works in the context of microworlds, where students solve specific puzzles. It is used, for example, within the Hour of Code event, which targets millions of students.
Objective: To identify design guidelines and data analysis methods for the iterative development of microworlds and puzzles for block-based programming.
Method: To achieve the objective, we provide a review of the literature, discussion of specific examples of microworlds and puzzles, and an analysis of extensive student data.
Findings: A wide range of programming microworlds share common elements. The analysis of data is useful for iterative improvement of microworlds and puzzles, serving several specific purposes.
Implications: Provided design guidelines and analysis methods can be directly used for the development and improvement of tools for introductory programming.