L'intelligenza artificiale sta cambiando il modo di lavorare di ogni settore, compreso quello dello sviluppo software: questa tecnologia aiuta gli sviluppatori a scrivere codice più velocemente e renderlo più robusto, automatizzando molte fasi del processo.
Queste novità impatteranno anche il mondo dell'insegnamento dell'informatica: poiché nei prossimi anni il modo di sviluppare software sarà molto diverso da com'è stato finora, le scuole e le università dovranno adattare il percorso di studi per preparare gli studenti a una modalità diversa di lavorare.
Nisha Talagala, CEO di AIClub e AIClubPro, spiega che se finora gran parte delle lezioni si sono concentrate sull'insegnare agli studenti a programmare (focalizzandosi in particolare sulla sintassi, sulla struttura dei linguaggi e su altri dettagli tecnici), con l'IA questa skill diventerà meno importante.
I tool di IA infatti stanno diventando sempre più "bravi" a generare codice di qualità e gli studenti dovranno essere in grado invece di gestire le altre fasi di sviluppo e messa in funzione del software. Nel dettaglio, essi dovranno essere capaci di leggere, aggiornare, modificare ed estendere il codice generato per assicurarsi che risponda ai requisiti funzionali definiti e che non contenga errori di logica.
Come riporta Talagala, i professionisti dello sviluppo software che hanno usato l'IA come tool di coding affermano che ora il loro lavoro si concentra per lo più sul prompting e sulla modifica del codice generato (circa l'80% del totale).
Si tratta di una forma di programmazione "prompt driven" che unisce le capacità umane di analisi e monitoraggio a quelle di generazione dell'IA. Questo tipo di collaborazione richiede che i futuri programmatori siano in grado di leggere e comprendere il codice più che scriverlo da zero; le conoscenze tecniche, quindi, non scompaiono, ma si dà priorità alle capacità analitiche.
Rimane comunque una questione importante da risolvere: è possibile imparare a leggere codice se non lo si sa scrivere? Talagala ritiene che gli studenti debbano comunque, almeno in parte, coltivare capacità di scrivere codice, ma questa parte di apprendimento avrà indubbiamente un peso minore nei prossimi anni.
I modelli di insegnamento tradizionali che si fondano quasi esclusivamente sulla scrittura di codice non sono più adatti per preparare gli studenti al futuro panorama dello sviluppo software. Anche se le conoscenze di scrittura di codice devono rimanere nel programma di insegnamento, le lezioni devono essere riviste per lasciare spazio allo sviluppo di capacità analitiche di alto livello.
"I trend suggeriscono che gli studenti dovrebbero apprendere un modello collaborativo di sviluppo del software in cui un umano e un assistente di AI lavorano insieme per generare codice" afferma Talagala. In tal senso, si deve dare modo agli studenti di sviluppare capacità di software engineering, come conoscere i meccanismi di controllo qualità del software, di continuous integration, di testing e di collaborazione.