Numerical Methods Class
When I was a student, in my Numerical Methods class, we were allowed to choose any programming language to do the assignments.
As second-year students, most of us knew Pascal or C. So it was an easy choice to use the language that you know instead of learning a new one. Was it a good choice though?
Imagine that you have a problem that involves some matrix operations.
Matrix multiplication? 10 lines of code in C. Finding a determinant? Another function, another N lines of code. Transpose? Yet another function, another X minutes of wasted time
I chose to learn MATLAB from scratch instead. A few hours of fun learning, and as a result:
Matrix multiplication? A*B
Determinant? det(A)
Transpose? A'
So I could focus on the algorithm, not on low-level matrix functions. A much more pleasant experience. And, as a bonus, an extra programming language under my belt.