BYOB 3.1 — Build Your Own Blocks (a/k/a SNAP!)

                       

DOWNLOAD BJC COURSE TUTORIALS 4.0 STATUS

Welcome to the distribution center for BYOB (Build Your Own Blocks), an advanced offshoot of Scratch, a visual programming language primarily for kids from the Lifelong Kindergarten Group at the MIT Media Lab. This version, developed by Jens Mönig with design input and documentation from Brian Harvey, is an attempt to extend the brilliant accessibility of Scratch to somewhat older users—in particular, non-CS-major computer science students—without becoming inaccessible to its original audience. BYOB 3 adds first class lists, sprites, and procedures to BYOB's original contribution of custom blocks and recursion.

  SIGCSE 2012 Activities:
Thurs 1 Mar, 5:10–6pm "AP CS Principles and the 'Beauty and Joy of Computing' Curriculum" BOF, rm. 302A
Fri 2 Mar, 12:10–1:35pm Free SNAP! lunch, rm. 301AB
Fri 2 Mar, 3–4:30pm FRABJOUS CS: Framing a Rigorous Approach to Beauty and Joy for Outreach to Underrepresented
Students in Computing at Scale, CNS-CE21C, NSF showcase, Exhibit Hall A
Fri 2 Mar, 7–10pm Workshop 20: "AP CS Principles and The Beauty and Joy of Computing Curriculum," rm. 302B
    (free for high school teachers)
Sat 3 Mar, 3–6pm Workshop 28: "Snap! (Build Your Own Blocks)," rm. 301A

Also check out Panther, another great advanced spinoff of Scratch with a somewhat different point of view. Panther team member sparks has created a Blocks Library here that includes a collection of downloadable BYOB blocks contributed by users. Thanks, sparks!

Jens and Brian

 

  
Berkeley's CS 10, "The Beauty and Joy of Computing," using BYOB:
The CS 10 course overview page with links to lecture notes, readings, etc.
The CS 10 Moodle (lab-based) BYOB programming curriculum (log in as guest).
CS 10 lecture videos from fall, 2010.
The Beauty and Joy of Computing web site.

 

Downloads:

Current released version: 3.1.1 (19 May 2011)

Windows installer or files only. (Use "files only" if you're not an Administrator on your computer.)

Macintosh (drag into your Applications folder, or anywhere).

New: Debian .deb installer courtesy of roijac. Install using GDebi.

For Linux systems, first install Scratch (available in .deb and .rpm installers). Then...

If you used the .rpm: Put the latest BYOB image and these other files in /usr/lib/scratch (should be the same folder that contains Scratch.image). Finally, put this shell script (tweaked as needed) in /usr/bin/byob or anywhere in your path.

If you used the .deb: Put the latest BYOB image in /usr/lib/scratch (should be the same folder that contains Scratch.image). Merge these other files into the subdirectories of /usr/*share/*scratch. Finally, put this shell script (tweaked as needed) in /usr/bin/byob or anywhere in your path.

For variants of Unix other than Linux it's a bit harder; first you should install Squeak, then follow the instructions on the Scratch source code page, then copy the media files from the Windows "files only" link above (all but the .exe and .dll files) into the same directory containing the Scratch image.

If you have already installed BYOB 3.1, you can just download these files and replace the ones in your BYOB 3.1 folder with them.

Or if you want to see what it's all about first, download just the manual (PDF) (included in packages).

Greek translation by Nektarios Moumoutzis.
Esperanto translation by Sebastian Cyprych. Slovak translation by Peter Štrba.
Download these and add them to the locale folder.

 

Please see release notes about localization to other languages, about the debugger, and about the screensaver (included in file README-BYOB.txt in the distribution).

 

 

Report a bug using Bugzilla

 

 

SNAP! 4.0 Progress

Version 4.0 is still in pre-alpha status, but here's a preview. Click the picture to run it live, but don't expect things to work; this is the actual development-in-progress version!

 

 

Propaganda

Note: Everything beyond this point needs minor updating to match the latest version of the software. Coming soon!

Bringing 'No Ceiling' to Scratch: Can One Language
Serve Kids and Computer Scientists? (a talk at the Constructionism 2010 conference in Paris, as PDF).

the trailer
the trailer
as Scratch project
as QuickTime movie

the full movie as Scratch project

 

BYOB3 tutorials:

Tutorial 1: Building Tool Blocks
Tutorial 1: Building Tool Blocks
as Scratch project
as QuickTime movie

Tutorial 2: Lists & Higher Order Functions
Tutorial 2: Lists & Higher Order Functions
as Scratch project
as QuickTime movie

Tutorial 3: Recursion
Tutorial 3: Recursion
as Scratch project
as QuickTime movie

 

Functional programming exercises:

Blackjack (21) strategies writeup (pdf) and BYOB project.

Church numerals writeup (pdf) and BYOB project.

 

 

Sample projects (included in distribution):

 Fractal tree drawing program

All the prime numbers inside your computer!

GardenSecret (one of the Scratch sample projects) rewritten in BYOB.

MouseRecorder (one of the Scratch sample projects) rewritten in BYOB.

 

 

User contributed resources

Lucario621's BYOB3 Forum

soupoftomato's BYOB3 tutorial

fullmoon's associative memory toolkit and OOP multiple timers

Stefano Federici's Italian installer for Windows.

Xavier Leroy's tutorial project gallery.