CSE 341, Winter 2004: Textbooks

Required:

Jeffrey D. Ullman. Elements of ML Programming, ML'97 Edition. 1998.
Notes: This book (like all textbooks) has bugs! Make sure to see the errata page. I suggest you mark these errata in your book. Note that, because a single edition of a textbook may go through multiple printings, your particular printing may have some errata already corrected.
Mark Guzdial. Squeak: Object-Oriented Design with Multimedia Applications. 2001
Notes: As with the above, make sure you see the errata page.

Optional:

In addition to the required textbooks, I have requested that the following completely optional textbook be ordered by the bookstore:

Mark Guzdial, Kim Rose. Squeak: Open Personal Computing and Multimedia. 2002.
This optional textbook has most of the content in the 2001 Guzdial book, in addition to more in-depth discussion of some Squeak libraries.

Finally, the following textbooks, which are available free online, may be helpful to you during the weeks when we're covering Scheme and Ruby. If you like them, you may want to buy them, in order to thank the authors (plus you'd get a nicely printed and bound book, instead of HTML):

Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi. How to Design Programs: An Introduction to Programming and Computing. 2003.
A highly accessible introductory programming text in Scheme.
Harold Abelson, Gerald Jay Sussman, Julie Sussman. The Structure and Interpretation of Computer Programs. 1996.
Another introductory programming text in Scheme. Somewhat less accessible, but still an excellent book that repays study.
David Thomas, Andrew Hunt. Programming Ruby: The Pragmatic Programmer's Guide. 2001.