Skip to Content

Announcing BYOB2.99: first class procedures for Scratch

BYOB (Build Your Own Blocks) 3 has first class procedures (lambda), first class lists. No-ceiling computer science education!

BYOB (Build Your Own Blocks) is an extension to Scratch by Jens Moenig that allows users to create new blocks, including recursion. BYOB 3 adds first class procedures (like Lisp's lambda) and first class lists.  With these tools it is possible to build, in BYOB itself, advanced data structures (trees, hash tables, etc.) and control structures (higher order functions, FOR loops, anything you want).  An alpha test version, 2.99, is now available at http://byob.berkeley.edu.

 

We're hoping to convince the Scratch Team that this design is the right way to support high school and college educators who need more sophisticated capabilities than Scratch now has, because we only had to add 8 new blocks, and we think this won't scare away 8-year-olds, so there can be one Scratch for all levels, instead of making a separate "Scratch4cs" that would be really complicated and /would/ scare away 8-year-olds.

 

Coming soon: tutorial projects.  Watch byob.berkeley.edu for further developments, or the BYOB 3 forum at the Scratch site.

There will be sessions on BYOB 3 at the Scratch conference at MIT and at Constructionism 2010 (a/k/a Eurologo) in Paris, both in August 2010.

 

Comments
Bruce Cichowlas
Member

It sounds good, especially in the way that the footprint to the 8-year old's world is limited and clearly defined.  Structuring complexity is always a tricky and artful issue whether in GUI's or language design.  It would also be good, I think, if there was an easy way to tell whether a project was using BYOB features or not.  That way one could tell whether a project's understanding might easily fall into an 8-year old's world.

Toby Farley
Member

I wish you luck in your efforts. BYOB brings enough to the table to keep children of all ages engaged and allows students to learn important concepts that are either difficult or impossible to teach with Scratch.