If it's high level numerical analysis, normally performed on a desktop system and using any available tools. I would have to agree with Horace1.
However, if your goal is to educate your students on developing algorithms to be written in C/C++ or other HLL and to incorporated into a standalone application, maybe an embedded system. I might be inclined to have your students develop these algorithms in C#, reducing the temptation of using any of Matlab's toolboxes, built-in functions, etc.
The third options is to incorporate both Matlab and C# in your lessons. You can have your students develop algorithms in C# and then compare their routine's output/results in Matlab using Toolbox and built-in functions in the comparison.
You can also build a COM module from the C# routines and create your own MEX modules which can be used directly in Matlab.
Hope these suggestions help in your decision.
Ciao