Skip to Content

Snap! (Build Your Own Blocks) 4.0 beta

Snap! is a reimplementation of BYOB (Build Your Own Blocks), a language for teaching high school and college computer science inspired by Scratch, extended with first class procedures...

Snap! is a reimplementation of BYOB (Build Your Own Blocks), a language for teaching high school and college computer science inspired by Scratch, extended with first class procedures, first class lists, and first class continuations. These extensions allow any control structure or data structure to be implemented in Snap! itself, by teachers or by learners. Snap! 4.0 is now in public beta release.

Unlike BYOB, which was implemented on top of the Scratch 1.4 source code, Snap! is an independent development. It runs in a browser window, without the need for software download. Snap! is written in Javascript, so it runs in any browser, even on iPads and iPhones. (This implies that kids can write apps for their mobile devices in the form of a browser URL desktop shortcut! And, unlike App Inventor, Snap! projects can be developed on the mobile device itself.)

Snap! was developed by Jens Mönig, with design contributions and documentation by Brian Harvey.

Major new features in Snap! 4.0:

* Cloud storage for projects, using a back end donated by MioSoft Corporation, Jens's employer. At the moment the server provides only private storage of Snap! projects (and therefore easy transfer between devices); Scratch-style sharing of projects and media will come later.

* Scratch-2.0-style temporary cloning of sprites.

* Continuations, which enable us to provide control structures such as CATCH and THROW written in Snap! itself.

* Very dramatic speedup compared to BYOB, plus a WARP block that allows a single thread to run without interruption.

Major missing features in Snap! 4.0 (in the beta release):

* BYOB-3.1-style OOP cloning of sprites with inheritance.

* The costume paint editor. (Costumes must be created or downloaded with other software and imported into projects.)

UC Berkeley's BYOB-based "Beauty and Joy of Computing" computer science curriculum for high school and non-CS-major college students is being updated for Snap! and will be ready for fall 2013 courses.

randomness