I actually think the problem with all of these solutions is standardized testing. Throughout high school, I used my iPhone as a calculator for everything, but whenever we needed one for a test I had to drag out my old TI, because people were afraid I would cheat if I had internet access.
Octave is pretty awesome. There is also R. Personally, I also do a lot of computing within interactive programming console (like irb, php -a, node). However, if you are doing symbolic expression, you can't go wrong with Octave