You may want to have a look at Pyret[0] as a teaching language as well as Racket as others have recommended.
Pyret was designed by many of the same people involved in the Dr.Racket community, and has been specially tailored for early programming education. It uses a functional programming style, pattern matching, and tests built into function definitions.