Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!bloom-beacon!dont-send-mail-to-path-lines From: 70262.630@compuserve.COM (Iain Ferguson) Newsgroups: comp.lang.scheme Subject: EdScheme. Message-ID: <"910606214037.70262.630.CHC124-1"@CompuServe.COM> Date: 6 Jun 91 21:40:38 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 62 Recent discussion of EdScheme does indeed concern a single product, which is written and marketed by Schemers Inc of Fort Lauderdale, FL, USA (EMail: 71020.1774@compuserve.com), and is distributed in Europe by Lambda Publications of Swindon, Wiltshire, UK (EMail: 100015.1465@compuserve.com). As Brian Harvey notes in his posting on the subject, Schemers Inc also offers an introductory CS text (The Schemer's Guide -- TSG) aimed at the high school, junior college, university freshman market that uses Scheme as its vehicular language. Here are some comments upon Harvey's remarks: 1. Both EdScheme and TSG distinguish unevaluated (Scheme) expressions from evaluated (data) expressions: Scheme expressions are black and data expressions are red. Harvey rightly observes that this color-coding is a boon when explaining the evaluation of quote expressions and numbers. But, far from disguising Scheme's ability to treat procedures as first class objects, color-coding provides the teacher with a superlative tool for explaining how it is that Scheme procedures can input and output other Scheme procedures. In particular, it enables the teacher to clarify the crucial point that while the (black) expression '(lambda (x) x)' is NOT a procedure, the (red) result of evaluating it IS. I wonder how many beginning students fully understand this point? Armed with a clear and deep understanding, my ninth grade students (aged 15) manipulate higher order functions with ease. Incidentally, I gave my ninth grade class Part B, Section II of the 1991 College Board Advanced Placement Computer Science exam to do without any warning or preparation of any kind, asking them to write their answers in Scheme. (Regretfully, to have earned any credit for their efforts they would have had to have worked in Pascal.) They all found the test easy, in some cases trivial, and most had completed their work in 15 minutes less than the 45 minutes normally allowed. And these students have had less than 40 hours of CS instruction, whereas the typical AP student is at least 2 years older and has sat through 360+ hours. 2. Harvey alleges that in some instances EdScheme is incompatible with Abelson & Sussman's terminology. A primary goal of TSG -- which is supported by the manner in which EdScheme operates -- is to lay a solid foundation of *concepts* that are important in CS in general. Once the concepts are firmly implemented, terminology becomes a trivial surface issue. Students weaned on TSG and EdScheme pick up Abelson & Sussman and Springer & Friedman and rapidly adjust to the language and conventions used because they have a clear understanding of the basic concepts that are under discussion. 3. One of EdScheme's virtues is its runnability from a floppy on computers that have only modest amounts of memory available. This brings Scheme to a much wider audience than if a hard drive were to be required (or even strongly recommended). It is therefore unlikely ever to have the elbow room to be a Scheme implementation that is complete in every respect. Great pains have been taken, however, to ensure that it is 100% upwardly compatible. Learners who start out on EdScheme will be able to graduate on to implementations that have all the bells and whistles that Harvey mentions without having to unlearn anything. Yet EdScheme is powerful enough to be able to accompany them during the period of transition to any other Scheme implementation. Iain Ferguson.