Subject: Dr. Scheme

From: "Robert W. McGrail" <[email-masked]>
Date: Mon, 06 Sep 1999 16:24:18 -0400

Dear PLT Member,

Thanks to your wonderful pedagogical tool, Dr. Scheme, Scheme has now
become the default language at Bard College.  Please check my web page
below for links and details.

Has anyone written any texts for a course in data structures/OOP in
MzScheme?

By the way, I snarfed your lambda image, if that is OK.

--
Best Regards,
  Bob McGrail

****************************************************

By virtue knowledge

****************************************************
Bard College
Division of Natural Science and Mathematics
P.O. Box 5000
Annandale-on-Hudson, NY 12504

Phone:  (914) 758-7265
Email:  [email-masked]
Web:  inside.bard.edu/~mcgrail

---

From: Shriram Krishnamurthi <[email-masked]>
Date: Mon, 6 Sep 1999 15:56:43 -0500 (CDT)

> By the way, I snarfed your lambda image, if that is OK.

That's cool, though it might also be nice if the logo came with
explicit credits or were even just a link to us.  Your call.

> Has anyone written any texts for a course in data structures/OOP in

Yes and no.

1. We do have a textbook called How to Design Programs:

     http://www.cs.rice.edu/CS/PLT/Teaching/Lectures/

   The book covers numerous data structures, and is being adopted at
   many schools and universities.  Note that the structure of the book
   is rather unlike that of typical CS texts -- eg, you won't find a
   section entitled "data structures".  That's because the goal of the
   book (and the curriculum) is to teach program DESIGN, in particular
   how one can get from a blank page to a well-designed program by
   following certain methodical steps.  The book and DrScheme are
   wedded closely (DrScheme comes with teaching libraries for the
   book).

   The book is and will remain freely available on the Web.  At some
   point MIT Press will also publish a paper version.

2. Our second course, which is in Java, takes off from where the
   Scheme material ends.  What we don't say in How to Design Programs
   is that the design recipes we teach lead directly to good OO
   designs -- indeed, they ARE OO designs but in disguise -- so the
   transition to Java takes "15 minutes".

3. We are in the process of putting together notes on using Scheme "in 
   the real world".  This includes chapters on database interfaces,
   CGI programming, Web page generation, COM support, etc.  This book
   will almost certainly include material on using our OO system.

So for now, there is no direct material on OO programming in Scheme.
On the other hand, our OO system is similar enough to that of Java
(the major difference is that our classes are first-class values,
thereby exposing many more abstractions) -- single inheritance
implementation, multiple inheritance interfaces -- that translating
between the two shouldn't be all that hard.

'shriram