Perché dobbiamo insegnare a programmare ai bambini

[…] Nella nuova era dei microchip «questi ragazzi avranno l’opportunità di fare soldi». […] La prossima volta che vi capita di vedere un ragazzino di dieci anni indemoniato che impreca contro Mad Alien Targ, ricordate che non si sta solo divertendo, non sta solo ammazzando il tempo e buttando via soldi: sta imparando il linguaggio informatico. […]

L’invasione degli Space Invaders

Potrebbe suonare strano ma il mio avvicinamento al mondo della programmazione è avvenuto durante il Liceo Classico. L’indirizzo P. N. I (Piano Nazionale di Informatica) prevedeva, oltre alle materie di un classico “tradizionale”, le stesse ore di matematica e fisica di un liceo scientifico e, in quarta e quinta ginnasio, informatica. Il programma si concentrava fondamentalmente sull’apprendimento di Turbo Pascal.

Nonostante non sia mai stato una cima in matematica e abbia sempre odiato i test di logica, i Giochi di Archimede e cose simili (ricordo ancora con orgoglio i miei 18 punti quando, lasciando tutte le risposte in bianco, il punteggio minimo era 20), programmare era una cosa abbastanza naturale: con un paio di miei compagni c’era sempre la sfida a chi riusciva a completare i problemi più velocemente o con meno righe di codice.

All’inizio della prima liceo la maggior parte della classe era sollevata dal non dover più dover scrivere una riga di Turbo Pascal; dal mio punto di vista, invece, sentivo la necessità di approfondire l’argomento perché era divertente riuscire a insegnare a un computer a risolvere un problema. Se dal punto di vista dell’IT sperimentavo tutte le distribuzioni di Linux di quegli anni, con la programmazione mi orientavo più sullo sviluppo web avendo capito i limiti di Turbo Pascal ed essendo spaventato dal fatto che mia sorella, al primo anno di ingegneria informatica all’università, non riuscisse a venire a capo di Java.

Lo sviluppo web può sembrare semplice ma io l’ho ritenuto sempre affascinante, complesso e, al tempo stesso, completo: unire contenuti testuali, video, immagini, acquisire o richiedere dati in modo dinamico a un database, sviluppare un’interfaccia grafica intuitiva, la gestione degli errori causati dagli utenti con spiegazioni che fossero umano-comprensibili e, infine, nonostante il rispetto di tutti gli standard, doversi barcamenare per fare in modo che il sito funzionasse correttamente con tutti i browser presenti sul mercato (cosa che, negli ultimi anni, si è complicata ulteriormente dovendosi adattare a tutti i nuovi dispositivi con schermi di dimensioni differenti e interfacce di controllo touch screen).

La programmazione per il web è, come dicevo prima, una disciplina completa perché permette allo sviluppatore di scontrarsi con varie difficoltà appartenenti a categorie differenti: back-end, front-end, database, user interface, compatibilità multipiattaforma, ecc… che non possono fare altro che renderti un programmatore migliore, attento tanto alla funzionalità del programma quanto al fatto che sia a prova di idiota.

Se Martin Amis, autore del libro sopracitato, aveva capito le potenzialità in termini economici e occupazionali legate al mondo dell’informatica già nel 1982, è chiaro che, a più di vent’anni di distanza, nel nostro paese stiamo rimanendo indietro ancora una volta rispetto al resto del mondo; così come è avvenuto per l’insegnamento delle lingue straniere, sarebbe importante introdurre lo studio delle basi di programmazione fin dalla scuola primaria. Ovviamente questa cosa avrebbe senso se indirizzata subito a risvolti pratici: creiamo un gioco insieme, scriviamo un programma per risolvere problemi quotidiani; e non fermandosi solo alla teoria delle condizioni if, then, else o ai loop.

Da quanto mi risulta, l’unica realtà in Italia che si sta muovendo in questo senso è, ovviamente, privata: Digital Accademia, una società legata all’incubatore H-Farm, che sviluppa progetti di formazione e promuove la cultura digitale. In particolare il loro corso denominato «K-12» (sigla che, negli Stati Uniti, identifica la scuola primaria e secondaria), il cui scopo è quello di sviluppare una conoscenza degli strumenti digitali e una consapevolezza nel loro utilizzo, è rivolto a bambini e ragazzi dai 3 anni in su.

Nel resto del mondo ci sono diversi progetti in ballo ma, attualmente, il paese che sta investendo maggiormente in questa direzione è l’Inghilterra che, in seguito alla riforma della scuola, ha inserito nel National Curriculum, l’insegnamento della programmazione ai bambini dai 5 ai 16 anni. A partire dal prossimo settembre, i bambini e i teenager di sua maestà avranno un vantaggio rispetto ai loro coetanei in giro per il mondo. Quanto ci impiegheremo per metterci alla pari?

Da dove cominciare?

Ecco qualche spunto (purtroppo tutti in inglese) per chi avesse voglia di lanciarsi in questo mondo:

http://www.code.org/ – Se avete un’ora libera, cominciate da qui.
http://www.codecademy.com – Una vera e propria scuola on-line e gratuita.
http://www.programmr.com – Become a programming guru.
http://learncodethehardway.org – Learn Code the Hard Way.
https://www.codeschool.com – Learn by doing.