This may be subjective, I don\'t know: I have this problem, which I\'m kind of equating to the \"what language for this project?\" question, since I can\'t seem to solve it.
I think it will depend on writing a DSL and functional programming languages, as, in my experience, physicists tend to be fairly competent in Fortan or Matlab.
You may want to try using those languages for your examples, as it will enable you to get into algorithms as it may help those that are more technical.
As Mitch Wheat mentioned, DSLs are good when you want to hide the details from the user.