Snap! (formerly BYOB) is a graphical, drag-and-drop programming language. It is an extended reimplementation of Scratch that allows you to Build Your Own Blocks. As an online community, Snap! allows students to explore, create, and remix interactive animations, games, stories, and the like while learning about mathematical and computational ideas.
Snap! is presented by the University of California at Berkeley. It is developed by Jens Mönig at SAP, with design input and documentation by Brian Harvey at UC Berkeley, and contributions by students at UC Berkeley and elsewhere.