The new kid on the block Julia[1] is actually pretty nice and as someone who has written a lot of matlab code is quite similar and easy to learn.
If you don't need or want syntax similar to matlab python+scipy+numpy+matplotlib is pretty great.
I was stuck with matlab for most of my work though because of simulink+control systems toolbox and preexisting codebase.
Yes, Python is a great alternative here. Especially for more complex computations, the advantages of a very well designed generic language play very well with the specialized math stuff.
The TI-84 should not exist at all. It is underpowered and way overpriced. I think it is still used since students pay for the devices and not faculty. Institutional lethargy is at play.
This zombie hardware is thoroughly entrenched.
At the very least if the lessons targeted MatLab, we could see OSS implementations like Octave. But all the TI emulators still rely on pirated TI firmware.
Some of MATLAB's toolkits are very nice, but day-to-day work is easily covered by Octave.
http://www.gnu.org/philosophy/open-source-misses-the-point.h...
The philosophical distinction matters a lot to me. I don't work on Octave because I think this is a better development model. I work on it because I think we should all be free to read and share our code and our algorithms.