Generally the class will assume you are using version 110.65 of the Standard ML of New Jersey compiler, a free compiler developed at Bell Labs. This can be run on turing using the command sml, (or even better rlwrap sml, which makes the up and down arrow keys scroll through your command history), but if you'd rather use your own computer, you can download it for most operating systems, including Windows, Linux, and OS X.
The CS 131 guide to using SML/NJ contains some very useful information on the mechanics of running the compiler, using it with emacs, and (perhaps most importantly) interpreting error messages.
Because SML has an official definition, there are several other good, freely-available compilers available for the language that you may use instead, including Moscow ML (for many operating systems; it can also be run on turing via the command mosml), Poly/ML (for many operating systems) and MLton (for x86 machines). Each implementation has its own advantages.
If you've done some SML programming in the past, the shortest way to get up to speed may be to read through the SML Overview for CS 131. This is meant to summarize the minimum knowledge about SML needed to do the programming for this class. As such, it is very condensed; if you find it too compressed then you might want to look elsewhere:
Documentation for the Standard ML Basis (i.e., the standard library) is available on-line. Particularly useful are the modules Int, Real, String, and List, but there are many others as well.