Und genau an dieser Stelle kommen auch eine Reihe "unnützer" Inhalte zum Tragen. Mir wären ohne dieses Zeug niemals so manche pfiffigen Lösungen überhaupt in den Sinn gekommen, wenn ich nicht mal ganz abstrakt über Graphen, Sprachtheorie, oder Fourier-Analysen gehört hätte. Manche schier unlösbaren und sehr komplexe Probleme lassen sich manchmal gut in solche zunächst substanzlos erscheinende Konstrukte überführen, als welche sie dann auf ein Mal sehr elegant behandelbar werden. Aber um diesen Sprung überhaupt erwägen zu können, muss man sich mit diesen Dingen mindestens etwas mehr als oberflächlich beschäftigt haben. Es mag einzelne geben, die das in ihrer Freizeit aus Interesse getan haben, aber selten in der nötigen Tiefe, und vor allem auch Breite - welche durch das persönliche Interesse meist doch eher eingeschränkt ist.
Kann ich bestätigen. Gerade der Teil, von dem man es am wenigsten erwartet, bringt einem oft am meisten.
Von der Sprache Java sollte man sich wirklich nicht abschrecken lassen. Ich weiß nicht, wie das an anderen Unis ist, aber ich hatte hier genau zwei Einsteigervorlesungen mit Java im ersten bzw. zweiten Semester (zum Vergleich: im gleichen Zeitraum vier Mathevorlesungen und zwei zu theoretischer Informatik). Danach hatte ich nie wieder mit Java zu tun, und auch mit Programmierung nur sehr wenig. Hatte dann noch eine Vorlesung mit ein bisschen C am Rande, ein Praxisprojekt mit C++, und eine Vorlesung, in der neben eher abstrakten Inhalten mal ein paar experimentellere Sprachen wie Haskell oder Scala vorgestellt wurden. Und das war's. 90 % des Studiums hat mit Programmieren oder Softwareentwicklung schlicht nichts zu tun.
Zum eigentlichen Thema: Kann dazu nicht viel sagen, aber ich ärgere mich auch immer ein bisschen, wenn ich Stellenanzeigen sehe, wo jemand studierte Informatiker als Systemadministratoren o.ä. sucht. Ich glaube, diese Leute wissen einfach gar nicht, was Informatik ist.