<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 28, 2012, at 7:37 AM, Yaron Minsky wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">I do think that a good design goal for Racket's kid-oriented libraries<br>would be to be feature compatible with Scratch. &nbsp;It would be great if<br>there were good ways of doing everything that Scratch can do, from<br>playing sounds to detecting collisions, to (more aggressively) on-line<br>hosting of the final result. &nbsp;I'd love it if Racket were strictly<br>better than Scratch for someone who really can figure out how to<br>program, but it's just not true now.</span></blockquote></div><br><div>I was playing with this, too, a year and a half ago (after watching one of Dan Garcia's typically-inspiring talks). &nbsp;To my mind, the big thing missing from Scratch-based curricula was testing, because their uncompromisingly-imperative paradigm doesn't allow for any way to test a program other than "run it, watch it, and decide whether it looks right." &nbsp;In order to fit real testing into a beginning curriculum, I wanted to make Scratch more functional. &nbsp;Which gets difficult because anything you do with a sprite affects not only the sprite but the global graphics window. &nbsp;And then life happened, and I didn't get back to the project. :-)</div><div><br></div><div>Keep in mind, however, that there are some tasks for which universe, image, et al are much better than Scratch, notably raster graphics. &nbsp;The picturing-programs library includes "build-image" and "map-image", analogous to "build-list" and "map", which produce raster images by computing the color of each pixel independently and which can be used by students who haven't seen loops or recursion yet. &nbsp;(These were inspired by a similar impulse to Yaron's above: I wanted to beat the Python-first curricula at their own game, and many Python-first curricula introduce nested for-loops early in order to process images pixel by pixel.)</div><br><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Stephen Bloch</div><div><a href="mailto:sbloch@adelphi.edu">sbloch@adelphi.edu</a></div></div></span></span>
</div>
<br></body></html>