SNAP! (Build Your Own Blocks) is a visual programming language/tool from UC Berkeley. It may have grown out of children-focused CS instruction, but it is useful for any beginner to programming who is more visually inclined.
It is used to teach non-CS majors at UC Berkeley, in the course “Beauty & Joy of Computing.”
More about Snap programming:
Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
SNAP! runs in your browser. It is implemented using Javascript, which is designed to limit the ability of browser-based software to affect your computer, so it’s safe to run even other people’s projects, even if you don’t trust our competence or good intentions.
SNAP! is presented by the University of California at Berkeley. It was developed by Jens Mönig at MioSoft Corporation, with design input and documentation by Brian Harvey at Berkeley, and contributions by students at Berkeley and elsewhere.
The Beauty & Joy of Coding site has more curriculum, tutorials & examples to help you with Snap & other beginning programming projects.