I am doing an MEng in microelectronics and software engineering and so we are split across the school of electronic engineering and the school of computing science. What this means is that I have had to use C/C++, Java, Haskell, x86, PIC and 68000 assembly, and various modelling/scripting languages as appropriate.
The school of comp sci is predominantly Java based courses, but they say this is only so that the language is known by everyone and so more advanced techniques can be introduced without everyone starting from scratch with a new language. The school of engineering on the other hand use whatever language they happen to prefer for a given module (granted it is sometimes predetermined by hardware etc) and as a result there is much head scratching at practical sessions over the most basic points such as how to even use a given development environment etc.
However I strongly agree with one of the above posters in that good students will thrive on this challenge, and adapt to whatever programming languages are put in front of them, whilst bad ones will not. The school of computer science remedy this by forcing one language strongly down everyones throats (and this is just one of their many methods of hand holding including attendance registers etc) whereas the engineering dept just let you fail miserably (unless you take it into your own hands ask for help!). I much prefer the latter, by university everyone should be taking their education into their own hands.