Qual è il futuro dell’informatica? Cosa posso fare in più per migliorare e rafforzare le mie competenze?

Oddirittura, il futuro dell'Informatica potrebbe non essere troppo luminoso. I computer sono diventati una tecnologia così pervasiva che penso che lo studio dell'informatica potrebbe presto essere sussunto da altre materie accademiche e CS potrebbe perdere la sua indipendenza come materia accademica. Non mi sorprenderebbe se in 20 anni i dipartimenti di CS morissero.

Già l'informatica ha generato diversi dipartimenti accademici come Information Technology, Software Engineering, e Computer Engineering, che raramente sono integrati con il curriculum di un dipartimento di Computer Science. Recentemente sono nate anche altre sottodiscipline informatiche come l'informatica scientifica/scienza computazionale, la scienza gestionale, le arti grafiche digitali e il computer gaming/realtà virtuale.

Altri studi principali di CS probabilmente emergeranno presto come materie indipendenti. Il trio di scienza dei dati, intelligenza artificiale e riconoscimento dei modelli sono un esempio. Il successo fulmineo di questi tre negli ultimi 5 anni e la loro probabile convergenza in una singola disciplina probabilmente causerà uno scisma in CS che potrebbe staccarsi da solo in un nuovo grado accademico. (Questo sembra particolarmente probabile dal momento che tutti e tre trarrebbero grande beneficio da una totale ridefinizione dell'insieme dei corsi di base richiesti per la laurea, lontano da quelli di CS. Teoria matematica avanzata, matematica discreta, probabilità, statistica, calcolo ingegneristico, elaborazione dei segnali, progettazione sperimentale e altri fondamenti sono essenziali ma assenti nella formazione CS per questa disciplina in espansione. Invece questi Watson in erba devono prendere architettura dei computer, teoria dei linguaggi di programmazione, organizzazione dei computer, sistemi operativi, compilatori, ecc. Non va bene.

Un altro spin-off di CS può essere la computer grafica o il computer game design, in cui l'acquisizione di un livello professionale di competenza richiede più corsi di grafica o arte di quelli disponibili attraverso la maggior parte dei programmi CS undergrad.

E come IT (business computing), lo sviluppo web si è evoluto come sufficientemente dissimile dal CS tradizionale che anch'esso può garantire l'indipendenza dal dipartimento CS tradizionale.

Peggio ancora, molti datori di lavoro stanno scoprendo che la laurea CS non serve particolarmente bene i loro bisogni. In molti casi cercano assunzioni con un insieme molto diverso di competenze, spesso un piccolo sottoinsieme che è sufficiente a soddisfare i loro bisogni. Richiedere agli studenti di completare corsi impegnativi ma irrilevanti in teoria, calcolo, hardware o ingegneria spesso complica e impedisce l'acquisizione di quelle competenze di cui hanno bisogno (ad esempio web design e programmazione, analisi di business e prototipazione rapida, sviluppo di progetti agili, ecc). Per molte aziende, un curriculum CS può essere una responsabilità, specialmente se dissuade più studenti dal perseguire una carriera nel software perché l'inessenziale ha ostacolato o espulso molti nel percorso verso il completamento della laurea.

Ovviamente, è possibile che CS non si balcanizzi; che i curricula CS accademici si modernizzino generando sub-degrees mentre rifattorizzano i suoi corsi di base per servire meglio il nucleo comune alla nuova moltitudine di bisogni informatici moderni. Ma ne dubito.

Un clamoroso controesempio di questo grazioso adattamento è l'insistenza di quasi tutti i dipartimenti di CS nel mantenere la loro antiquata e irrilevante dipendenza di base dall'hardware, richiedendo ad ogni studente di CS corsi multipli di logica digitale, organizzazione dell'hardware e spesso corsi avanzati nella progettazione di CPU o SoC. Questi corsi sostituiscono il materiale di base alternativo che ha acquisito molta più rilevanza grazie ai recenti sviluppi dell'informatica. Esempi sono lo sviluppo di progetti software, l'apprendimento automatico, le tecnologie web, il networking, i database, l'informatica scientifica, la modellazione e la dimulazione, gli algoritmi probabilistici, ecc... tutte materie che offrono una maggiore utilità al 99% dei laureati in CS (siano essi professionisti o accademici).

Fino a quando non vedrò i dipartimenti di CS aggiornare i loro curricula di base sempre meno rilevanti, in particolare, buttando via la loro arcaica enfasi sull'hardware dei computer (riportandola all'EE da cui proviene), continuerò ad avere dubbi sulla sana evoluzione dell'informatica e sulla sua vitalità come disciplina accademica.