I still think C++ is a better language to teach at universities than Java or C#. I dread to think that there are students who finish their basic programming course and don't know what pointers are.
Remember Computer Science at a University science is not aimed at preparing you to get the best possible job in business. It's aimed at preparing you for academia. As such I don't believe real-world relevance of a language is all that important.
Java is an excellent language to teach the concepts of object oriented programming. It's very clean and purist in that respect. If you want your students to get a better idea of how a computer actually works, C++ would win. Heck, do both! My university's main
we had a course describing the underlying design principles of programming languages in general. Anyway, you get the point.
No matter which path you take to the top of the mountain, in the end we all look at the same moon (Zen saying).