<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 23, 2014, at 4:14 PM, Lawrence J Winkler wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="orphans: auto; widows: auto;">I recently starting reading HtDP/2e to evaluate the approach to teaching programming. My motivation, in part, stems from the recent Computer Science Education Week last December, where many were given the opportunity to experience one hour of programming. </span></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="orphans: auto; widows: auto;"><br></span></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="orphans: auto; widows: auto;">I'm interested in reviewing different teaching approaches and processes</span></div></div></span></div></span></div></span></div></div></blockquote><div><br></div><div><br></div><div>To evaluate HtDP/2e you should not read the Prologue at all. Or skip to the sections called "You are a Programmer Now" and "Not!". The point of the Prologue is to give readers an idea of 'garage programming' (term coined by famous software engineering researcher, Fred Brooke) and to then say 'but how do people go about designing programs as opposed to puzzling them out.' </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; orphans: 2; text-indent: 0px; widows: 2; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="font-family: Helvetica; font-size: 12px; ">(define (place-image-bottom img x y canvas)  </span><br style="orphans: auto; widows: auto;"><span style="font-family: Helvetica; font-size: 12px; "> (place-image img x (img-center-pos img y) canvas))</span><br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="font-family: Helvetica; font-size: 12px; ">(define (img-center-pos img vert-pos) (- vert-pos (/ (image-height img) 2)))</span><br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="font-family: Helvetica; font-size: 12px; ">(define (create-rocket-scene.v3 ht)</span><br style="orphans: auto; widows: auto;"><span style="font-family: Helvetica; font-size: 12px; "> (if (<= ht 100) (place-image-bottom rocket 50 ht (empty-scene 100 100))</span><br style="orphans: auto; widows: auto;"><span style="font-family: Helvetica; font-size: 12px; ">     (place-image-bottom rocket 50 100 (empty-scene 100 100))))</span><br style="orphans: auto; widows: auto;"><br><font class="Apple-style-span" face="Helvetica">In any case, it would seem easier for me to motivate this abstraction to new students. </font></div></div></span></div></span></div></span></div></div></blockquote><br></div><div><div><br></div><div>Here is the experiment that Mark proposed: </div><div><br></div><div>(require 2htdp/image)</div><div><br></div><div>(define ball (circle 30 'solid 'red))</div><div>(define table (rectangle 200 10 'solid 'blue))</div><div><br></div><div>(define ball-on-table (overlay ball table))</div><div><br></div><div>ball-on-table </div><div><br></div><div>(define ball-pb (put-pinhole (/ (image-width ball) 2) (image-height ball) ball))</div><div>(define ball-pb-on-table (overlay/pinhole ball-pb table))</div><div><br></div><div>ball-pb-on-table</div><div><br></div></div></body></html>