Processing
From
Processing
Possible complement/alternative to BYOB for computational thinking strand of course. Iteration/recursion are very natural in this environment. Conditionals less so.
Resources:
Main site: http://processing.org/
Javascript port: http://processingjs.org/
Online sketchpad for processingjs: http://sketchpad.cc/
Book (not free but lots of free examples/resources): http://www.learningprocessing.com/downloads/