A me sta molto a cuore l’insegnamento dell’informatica nelle scuole. In questo articolo parlerò specificatamente di chi l’informatica la studia come materia d’indirizzo e non come materia secondaria, cosa che vorrò trattare più avanti. È comunque un dato di fatto, anche il professore migliore avrà fatto almeno uno di questi errori. Nessuno è perfetto in fin dei conti.
Poca logica, troppe nozioni
Credo che uno dei problemi principali della scuola italiana, in generale, sia il nozionismo. Cioè apprendere nozioni a memoria senza una reale logica.
Ciò si applica anche all’informatica. Anzi, per via dei due anni comuni con gli altri ITIS si buttano sostanzialmente due anni cazzeggiando con Word e con l’HTML. Tra l’altro la divisione è anche legale eh, se andate a fare per una qualsiasi ragione gli esami di seconda e terza insieme farete un esame di informatica, ossia la materia di terza, e uno di tecnologie informatiche, ossia la materia di seconda.
In questi due anni non c’è logica sostanzialmente. Ed è un peccato.
Vi faccio un esempio: Si impara la conversione binario-decimale e viceversa. Il metodo logico per farlo è usando le potenze. Lo può dedurre qualsiasi persona abbastanza brava in matematica che sa come funzionano i numeri binari e le potenze.
Invece viene insegnato un procedimento meccanico di divisione. Peccato che la macchina che agisce meccanicamente (ma velocemente) sia il computer, non l’informatico. Non dico che sia sbagliato insegnare questo metodo, ma preferirlo all’altro è come dare in una facoltà di veterinaria il bisturi ad un cane, un’inversione di ruoli.
Poi nei tre anni successivi le cose migliorano, ma ci son altre criticità che vedremo più avanti.
Poca passione
Certe lezioni d’informatica sono divertenti come un esame della prostata fatto col cavatappi.
Ok, non tutte le lezioni possono essere entusiasmanti, è ovvio. Ma se più della metà delle lezioni sono appassionanti come vedere una vecchietta che attraversa la strada c’è un problema.
Comunque una delle bravure del docente dovrebbe essere rendere interessante ciò che non lo è.
Una lezione sulla sicurezza informatica dove si dice per un’ora “bisogna usare l’antivirus, il firewall e aggiornarlo” è barbosa. Attaccate un Raspberry alla rete, spiegate agli alunni come bucarlo, fateglielo fare e portateli a ragionare su come renderlo sicuro.
Avrete catturato la loro attenzione.
Il docente non dovrebbe ripetere una manfrina a memoria, deve raccontare una storia appassionante, un qualcosa in grado di coinvolgere gli alunni, anche con trucchetti e colpi di scena come quello descritto sopra.
Poi, per carità, ci sarà sempre la lezione barbosa che bisogna fare, non si può avere una scuola con gli unicorni che scorreggiano arcobaleni e dove ogni lezione è bellissima e divertentissima.
Ma se gli alunni che recitano nozioni a memoria come si recita la poesia sono un problema sono mille volte peggio i professori che fanno ciò.
La scienza
Quando mi iscrissi all’ITIS non è che andassi troppo bene in matematica. E un po’ di gente “eh allora è difficile, l’informatica è tutta matematica”. Il che è anche teoricamente vero, per carità, solo che ci sono molti strati tra la matematica e l’informatica pratica.
Poi ovviamente esiste la materia di matematica dove si studiano equazioni, disequazioni, derivate e compagnia cantante. Quindi non è che l’ITIS sia la scuola per chi non sa far di conto.
Tuttavia l’informatica come scienza è ignorata. È un peccato che non si studino cose come P vs NP, il problema della terminazione, la decidibilità, il calcolatore deterministico e altre cose utili di informatica teorica.
Quando si studia RSA ad esempio sarebbe meglio sapere perché un computer quantistico lo viola in poco tempo che l’origine del nome, che è puro nozionismo.
Queste cose servono a sviluppare una mentalità logica, non sapere che il C è nato nel 1972. E lo dico io che sono appassionato di storia dell’informatica.
Poi ovviamente non si può pretendere che si studi la pratica di queste cose, lasciamola all’università. Ma i principi teorici.
È vero che l’informatico se non sa che un algoritmo non può dirti se un altro algoritmo finisce chissene mentre se un chimico non sa fare le configurazioni elettroniche scoppia il laboratorio, ma non vedo perché considerare l’informatica di serie B.
Programmazione fine a sé stessa
Programmare vuol dire saper risolvere un problema. Nel caso dell’hobbista i propri (o quelli della zia o del moroso), nel caso del professionista quelli del committente.
Ecco, spesso i problemi che vengono forniti sono noiosi. Io insegnerei la programmazione a micromoduli. Piccole lezioncine che poi lo studente mette insieme per fare il suo programma.
Anche nelle verifiche: Un problema precompilato e un esercizio “pensa ad un problema e alla maniera di risolverlo”. Cosi si ha sia un metro di giudizio oggettivo sia uno soggettivo. Ovviamente la valutazione dipenderà anche dalla difficoltà del problema scelto, un test di Lucas-Lehmer verrà valutato più del programma che fa la somma di due numeri. Certo, ci vuole più tempo a valutarlo. Ma permette di sviluppare il senso logico, che come dicevo serve molto agli informatici.
Ah, e non dimentichiamo che c’è chi studia a memoria il codice. Che ogni tanto si confondono perché hanno studiato a memoria anche la poesia d’italiano e vanno dal prof di informatica recitando:
L’han giurato li ho visti in Pontida
convenuti dal monte e dal piano.
L’han giurato e si strinser la mano
cittadini di venti città
E poi al prof di italiano:
#include <stdio.h> int main(void){ printf("hello, world\n"); }
A proposito, non sono nemmeno così convinto del C come unico linguaggio didattico. Però mi adeguo, perché alla fine è una scelta sensata.
Pochi legami
Informatica si può legare bene a varie materie. Può essere usata per risolvere vari problemi in altre materie.
Non solo nelle ovvie materie come matematica, anche con italiano ad esempio. Si può studiare un programma che trova le ricorrenze delle lettere in un testo, un database di libri… Insomma, cose utili.
Penso anche alle lezioni in inglese di informatica. Non intendo quelle lezioni che si fanno oggi in stile “This is the computer. The computer is on the desk”, ma serie lezioni di informatica in lingua inglese.
Ah, io dico informatica, ma esistono anche altre materie d’indirizzo. In molte scuole sono trattate bene, insieme, e in modo coeso, in altre in modo più diviso, e non è una bella cosa.
Bonus: Poca informazione
C’è poca informazione sull’informatica scolastica. C’è chi va a scuola convinto di giocare al computer o di creare videogiochi. Puntualmente viene bocciato.
Purtroppo si fa poca informazione sul tema, complice la fama sgargiante dei licei. Si punta molto a livello comunicativo su quelli, e agli ITIS mica vengono mandati i docenti di indirizzo.
Sarebbe opportuno spiegare bene e in modo chiaro agli allievi di terza media cosa si fa ad informatica in tutti i cinque anni, non mettere una cortina fumogena sovietica e inventarsi cose come il biennio comune per permettere ripensamenti. Se fin da subito ci fosse un’informazione chiara, puntuale e presente si potrebbe ridurre il biennio ad un solo anno, per esempio.
Non ho frequentato un ITIS e conosco molto poco dei programmi di questa scuola, ma ho qualche appunto da informatico:
Dal mio punto di vista il problema P vs NP non viene spiegato adeguatamente nemmeno nella maggior parte dei corsi di laurea triennali; spiegarlo alla scuola superiore è utopico. Ancora peggio la questione del calcolo quantistico: si rischia di convincere davvero gli studenti che “un calcolatore quantistico viola RSA in poco tempo”, come in effetti affermi tu. Piuttosto però ti dò ragione sul fatto che è importante che vengano trasmessi adeguatamente i concetti di complessità computazionale, costo computazionale, e magari anche determinismo.
Grazie del commento.
Ovviamente si tratta anche di considerazioni un po’ utopiche, so che non sarà mai così l’insegnamento scolastico, ma sarebbe già buono migliorare sull’ultimo punto.