I just recently joined this forum, and since I'm teaching Engineering students for a long time I can safely add my 5 penny worth of impression. I will give my personal impression and what our student choose when they are not enforced to choose one software over the other.Personal
In teaching I'm using Mathematica for at least 10 years, and this is how long Mathematica is used in my department since I'm the local "enthusiastic". We give freshman year students a "lab" divided half a semester for matlab and half a semester Mathematica (two hours weakly). They already got a Java course a semester earlier,so programming is not a new issue for them. Courses where Matlab/Mathematica is used are (for undergraduates):
1. Graph Theory
2. Queueing Theory
3. Signal Processing
4. Information Theory
5. Communication Theory
7. Sensor networks
... and a collection of other courses where the professor require some mathematical/algorithmic simulation / research
for courses 1,2,4,6,7 the students are asked to use Mathematica by the professors. In course 3 the professor is a matlab fan but the students prefer to do the assignments with Mathematica. We usually enforce them to use matlab since we want them to practice it more. Course 5 is a natural for matlab not because of matlab itself, but because of the availability of the communication toolbox.
Courses for graduates use Mathematica (if any simulation tool is required).
As a teacher I write my lecture note, my slides and demonstrations with Mathematica, in each course I teach. I have tried almost any available tool for these purposes (slides and scientific writing) and I find it the best tool for my needs.
I wonder what was meant by
They calculate fine until they are saved. At that point, everything gets hard-coded into pure text
I have notebooks generated 7 years ago, and besides the fact that I needed to keep my own style notebooks (no need anymore since version 6) they are kept as they were written. Text (formatted of course), running code, notes etc.
A friend of mine is teaching the matlab/Mathematica lab. I presented in his matlab sessions, and this was really poor (and the guy is a real matlab expert) compared to the Mathematica slides (which I generated for him).
About one half of our faculty members (we are a small department, 11 members) use Mathematica for their courses.Students
I think that the part of the students is almost obvious. They prefer Mathematica, since they really can PROGRAM with it, and not only use it as a tool. For use it for mathematics and physic courses when they discover hos it can expand their understanding (I didn't list their courses). For matrix processing in various courses we usually find them using Mathematica. For displaying results of field measurement (cannot be done with matlab, easy with Mathematica) they use Mathematica.
As a concluding remarks, I may sound one sided towards Mathematica but this was an evolving preference rather than a "religious decision": I was the first matlab user in my university as a grad student (M.Sc.), then I used matlab as a daily working tool for two years in the industry. After that, the simulation part of my PhD were mostly done with matlab (I'm not so young ... ). I used Mathematica for symbolic When I became a faculty I decided to choose a single tool that will best serve my needs, and I picked Mathematica which combined at the time (version 3.5) typesetting, programming, "live documents" (code + text) and it is getting better with each version. Version 5 closed the performance difference of the numerical part (until then matlab was substantially faster) but this was almost 7 years ago (summer 2003).
So, if one is looking for recommendation it is clear what I will recommend, but the teacher need to be a skilled MAthematica user