On the topic of sympy, I'm working on this short tutorial---an introduction to sympy based around topics from the standard high school and first-year university curriculum: http://minireference.com/static/sympy_tutorial.pdf
Please don't post the tutorial on HN yet---I'm working out some last typos and I want to time the "official" announcement on HN with the beginning of the school year.
For instance, as you can see in the link above, it can provide steps for derivatives and integrals. WA has the same feature, but you need to subscribe to actually use it without limits.
The optics and the 3D geometry should help a lot with teaching and learning.
I used Sympy recently to solve the rocket equation. It involved some integrals that my rusty math skills couldn't solve so I used Sympy to solve them.
Then I ran a side by side comparison between the integrals I solved with Sympy against a numerical solution using Scipy and Numpy to verify that my results are correct.
The only negative thing about Sympy is that it's rather slow.
Here's the code if you're interested: