Evidentemente nella tua facoltà e per il tuo indirizzo le cose sono diverse.io invece nonostante il mio 98 dico che l'università (almeno Ing Inf) debba essere tenuta così.
Certo, decurterei qualche credito alla coppia Elettronica Analogica ed Ele.Digitale e toglierei qualche esame che è chiaramente un tappabuchi... però ritengo che gli esami di settore siano fatti bene e con il dovuto livello di astrazione.
Ti dico: nel mio corso di laurea ho fatto un corso di "programmazione" solo sul C++, ma successivamente il passaggio al Java è stato rapido ed indolore. E contemporaneamente io mi sono studiato la piattaforma .NET di mio. Cosa che ho potuto fare grazie agli strumenti teorici che mi ha dato l'università.
Lo stesso vale per programmazione su Socket (hai voglia ad usare le socket di java se non sai come funzionano quelle del C) e multiprogrammazione sotto linux (anche qui, hai voglia a giocartela con i vari Thread ed IRunnable di Java se non hai studiato il problema a basso livello).
Basi di dati? Idem. "ai miei tempi" DB si faceva su Access, niente di trascendentale, ma ora so usare SQL Server e MySQL grazie a quegli insegnamenti base: e non ho preso in mano Oracle giusto perchè non c'è mai stato bisogno, ma non credo che avrei problemi.
Ingegneria del Software? Fondamentale! Non tanto per i capitoli di analisi e progettazione, che trovo siano cose che vengano affinate con la pratica, ma il capitolo sulla fase del Testing è stato fondamentale. Trovare i casi test adatti per verificare la presenza ed eventualmente localizzare gli errori è fondamentale nel ciclo di sviluppo del software.
Una volta che hai le basi, gli strumenti, o la singola tecnologia è alla tua portata. SharePoint l'ho imparato in 2 giorni ed al terzo giorno smadonnavo dietro perchè trovo che WSS 3.0 abbia perso le principali caratteristiche di ASP.NET 2.0 (x-copy deployment in primis). Al quarto smadonnavo perchè mi sentivo limitato dalla struttura di SP.
Giusto per farti un esempio, per la mia tesi ho dovuto studiare da zero un intero settore dell'informatica ovvero l'automazione di processi di business attraverso l'uso di Workflow. Grazie alle basi che il corso di laurea mi ha dato sapevo esattamente cosa cercare, ad esempio un linguaggio simbolico UML-like per esprimere graficamente i processi di business, i vari strumenti, i vari standard e così via.
non so sviluppare per SAP? dammi un manuale di ABAP ed in un mese sono pronto per la certificazione.
Ti serve uno sviluppatore SharePoint? Se non lo hai già fatto, guardati .NET e poi passi all'API di SP ed il gioco è fatto.
Personalmente ritengo che l'università deve darti dei "meta strumenti" ovvero degli strumenti con cui tu puoi costruirti degli strumenti.
Poi, ti parlo da informatico/sviluppatore. Siamo molto fortunati noi, ci serve un pc con un editor di testo ed un compilatore per "studiare" cose nuove, anche da autodidatta. Perchè non sfruttare questa fortuna?
Cmq come dici tu più volte, sapendo una cosa, tempo un mese ne impari un' altra ma il problema, sovente, è proprio quello:
le aziende, quel mese, non te lo concedono.