When software engineers design educational software, there are a few things they take for granted, and reviewers of educational software appear to agree with them:
Software should be "easy to use".... Users should never feel at a loss for what to do next.... Software should engage and keep its users' attention with colorful graphics, sounds, animations, whatever it takes.
A treatise on educational software by a couple people behind Mathematica. From what I've read so far, it sounds like Python is good educational software: it's a set of tinker toys for thinking.
Any computer language will do, really (though this goes against another point of the article, I mean, I cut my teeth on Logo and Basic in elementary school) but I say Python because, though it may not be a perfect programming language, it's easy to read and explain. And I've not used Lisp yet. (Don't flame me, auuugh!! *expire*)