<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><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 and I soon came upon your rocket landing demo in the Prologue and felt uncomfortable with the discussion and solution create-rocket-scene.v3. (I haven't read much further than this in any detail, so you may already address this issue later). </span><br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">In particular, the solution adjusts the position of the rocket relative to the HEIGHT of the empty-scene and the image-height, whereas I'm much more comfortable with a solution conceptualized differently and independent of size of the scene.</span><br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">Where in the function (create-rocket-scene height), height is the position of the center of the image, my solution is that height would be the height of the bottom of the image. Thus, something like the following makes more sense to me. (using BSL) </span><br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">(define (place-image-bottom img x y canvas) </span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;"> (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="orphans: auto; widows: auto;">(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="orphans: auto; widows: auto;">(define (create-rocket-scene.v3 ht)</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;"> (if (<= ht 100) (place-image-bottom rocket 50 ht (empty-scene 100 100))</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;"> (place-image-bottom rocket 50 100 (empty-scene 100 100))))</span><br style="orphans: auto; widows: auto;"><br>In any case, it would seem easier for me to motivate this abstraction to new students. <br style="orphans: auto; widows: auto;"><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">Thanks</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">-------------------------------</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">Larry Winkler</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">5306 Loruth Ter</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">Madison Wisconsin 53711</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">Mobile: 608-345-0627</span><br style="orphans: auto; widows: auto;"><span style="orphans: auto; widows: auto;">--------------------------------</span></div></div></span></div></span></div></span></div><br><br></body></html>