I worked through
this course many years ago and I really liked it. It has homework exercises which of course help a lot. If you've used Mathematica before, you might find it a little too basic. It's also very old, so it won't discuss the newest features, but most of what
is discussed is still very relevant, and it's focused on understanding the core language (thus there's probably little in tis couse that doesn't still work in v9, except for graphics-related stuff).