Material in the future naturally subject to change in terms of coverage or schedule

Instructions for SML and Emacs , which is everything you need for the first half of the course. Videos showing the software installation on Windows

Books+

Textbooks and Other Resources

While the other materials on this page (lectures, sections, homeworks, installation instructions, videos) are designed to provide what you need for the course, the books/guides provide alternate explanations and additional details. We will not follow them closely, but you may still find them valuable. Suggestions for additional links are welcome.

Elements of ML Programming, ML'97 Edition, Jeffrey D. Ullman, 1998.

Check the errata page to avoid bugs.

Approximately Chapters 2, 3.1-3.4, 5.1-5.5 (skip 5.2.5, 5.3.4, 5.4.4), 6.1-6.2, 7.1, 8.2, 8.5.5 overlap with the course material.

The Racket Guide

Approximately Chapters 1-4.9.1 (skip 2.4.1-2.4.3, 3.5-3.12, 4.4.3, 4.4.4, 4.6.5), 5.1, 5.2, 6.1-6.5 (skip 6.3), 16.1-16.1.4 overlap with the course material. We might cover some of 7.1, 7.2, 15.1.

Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby), Dave Thomas et al, 2009.

Check the errata page to avoid bugs.

Overlap with the course material is very roughly Chapter 1 through 9 except Chapter 7.

We will be using Ruby 1.9. While there are significant differences between 1.8 and 1.9 in the language, a 1.8 version of the book is still a fine resource if that's the one you happen to have.

In addition to the texts above, there are many useful online resources for the languages we are using. In particular, effective use of any language involves leveraging existing libraries, which requires more library documentation than any class should cover. There are also many tutorials and guides that you may find useful.

Additional SML resources:

www.smlnj.org (links to many things, including the next three resources)

user's guide

standard-library documentation

tutorials, books, and documentation

Additional Racket resources:

racket-lang.org, particularly the Documentation and Learning tabs

Additional Ruby resources:

ruby-doc.org, including links for the library documentation and various books. You can even buy the t-shirt.

Ruby home page

list compiled by Stuart Reges for Spring 2010's CSE341, including lecture slides