Unmixing Remixes: The How and Why of Not Starting Projects from Scratch

Prapti Khawas, Peeratham Techapalokul, Eli Tilevich · 2019

One of the greatest achievements of Scratch as an educational tool is the eager willingness of programmers to use existing projects as the starting point for their own projects, a practice known as remixing. Despite the importance of remixing as a foundation of collaborative and communal learning, the practice remains poorly understood, with the Scratch programming community remaining in the dark about which programming practices encourage and facilitate remixing. Scratch designers lack feedback on how the remixing facility is used in the wild. To gain a deeper insight into remixing, this paper investigates heretofore unexplored dimensions of remixing: (1) the prevailing modifications that remixes perform on existing projects, (2) the impact of the original project's code quality on the granularity, extent, and development time of the modifications in the remixes, and (3) the propensity of the dominant programming practices in the original project to remain so in the remixes. Our findings can encourage remixing and improve its effectiveness, benefiting the educational and end-user programming communities.

Read the paper · More papers on PaperTik