Ich kann mich erinnern dass anno 2005 schon im Prolog zum Studium der Satz gefallen ist: "Ein Informatiker muss programmieren können, aber nicht unbedingt programmieren." Ich finde das sehr richtig. Algorithmisches Denken ist absolut notwendig, und auch irgendwann mal eine Programmiersprache praktisch intensiver verwendet zu haben. Auf der anderen Seite gibt es natürlich viele die letztendlich nicht oder nicht viel programmieren; trotzdem wird man die Denkweise brauchen (sofern man nicht später in eine völlig andere Branche wechselt, was es ja auch gibt).
Was mich etwas stört ist das Festmachen der Fähigkeiten an konkreten Technologien: du sollte diese oder jene Sprache, dieses oder jenes Framework perfekt beherrschen. Es schadet nicht wenn man es kann, aber das ist eher die Folge davon dass man es schon mal verwendet hat. Technologien auf Vorrat lernen (wie in diversen Aus- und Weiterbildungen praktiziert) macht wenig Sinn. Wichtiger ist dass man exemplarisch mit einigen Technologien gearbeitet hat um ein Gefühl zu bekommen. Wenn man dann irgendwann mal was braucht das man noch nicht kennt, dann kann man sich das relativ schnell aneignen. Den umgekehrten Weg kenne ich von der HTL, wo wir 2 Jahre vergeudet haben um das Java 1.4 SDK zu nahezu 100% zu lernen. Das Wissen war dann nicht nicht nur nach der Matura schon veraltet (u.a. wegen der Einführung von Generics), sondern es geht auch am Zweck vorbei. Es gab da ein paar Kandidaten die zwar die Unterschiede zwischen diversen Collection-Klassen runterbeten konnten, aber kein wirkliches Gespür für Algorithmen hatten. Wenn man dagegen die Konzepte verstanden hat kann man recht flexibel zwischen Sprachen und Frameworks wechseln. Ich will auch keinen rein theoretischen Unterricht, aber wenn man sich da nur einen Teil anschaut und den Rest bei Bedarf nachschlägt ist das allemal sinnvoller.