Snap! A Look at 5 Years, 250,000 Users and 2 Million Projects

Michael Ball, Jens Mönig, Bernat Romagosa, Brian W. Harvey · 2019

Snap! is blocks-based programming language that inherits a design and vocabulary from Scratch, but has been extended with support for user-defined functions, and robust built-in libraries. The Snap! Cloud software has been running for over 5 years and recently passed 250,000 users and 2 million projects of which nearly 600,000 are shared publicly. We have been to do an exploratory analysis the database of public projects to better understand how students are programming an using Snap!. This analysis is being conducted using a cleaned up XML-based representation of Snap! projects, which allows querying for data using SQL to extract information from project files. So far, we've seen that projects in Snap! computationally more complex than those found in Scratch, and make use of Snap!'s advanced features. Combined with growing use, we hope to give context to the ways which Snap! (and other) blocks-based languages are being used in classrooms. While there has been a discussion of code smells in Scratch, we haven't seen any discussions using Snap! and hope to show its additional functionality helps write clean code. Finally, we are interested in presenting a clear story of growing use for Snap! that is a compelling case to teachers (and subsequently their students) that blocks-based languages can be quite popular.

Read the paper · More papers on PaperTik