Articoli

Coding

Coding (ovvero la logica si impara da piccoli)

Sabato prossimo, il 7 novembre, ospitiamo il terzo appuntamento ad Ancona di Coderdojo, organizzato in collaborazione con l’associazione CoderDojo Ancona. Che cosa è un Coderdojo ve lo abbiamo spiegato già in un post di qualche tempo fa. Oggi vorremmo spiegarvi perché, secondo noi, è così importante. Ed anche così poco legato solo all’informatica.

Occuparsi di programmazione significa avere a che fare con cifre, numeri, matematica: tutti d’accordo? Ok. E poi: chi sa destreggiarsi meglio con le parole e le materie umanistiche è decisamente negato per una materia così scientifica come l’informatica: giusto? Non troppo. La matematica e l’informatica vanno sicuramente a braccetto ma ciò che le lega non è un’approfondita conoscenza di numeri, quanto una assoluta aderenza a un metodo, a un modo di procedere. E questo modo di procedere si chiama logica. La logica non è materia esclusiva di matematici, fisici e quanti altri hanno fatto degli studi algebrici la loro priorità. La logica può appartenere a tutti. lo racconta bene una giornalista americana il cui racconto è stato ripreso qualche tempo fa dalla rivista Internazionale.

Victoria Fine, questo il nome della giornalista, si era convinta che per stare al passo coi tempi era necessario per lei imparare bene l’informatica: per usare la meglio le nuove tecnologie, aprire un sito web, districarsi tra gli strumenti di diffusione on line dei contenuti che produceva (articoli, post, dossier). Ma Victoria era assolutamente spaventata dalla matematica, materia che fin dalla tenera età non riusciva a digerire. Quello che non sapeva era che la matematica non le sarebbe servita più di tanto. Imparate alcune regole fondamentali della programmazione, il resto è stata una questione di metodo che seguiva sostanzialmente due principi. Il primo: vedere quello che facevano altri e tentare di imitarli; non solo altri studenti di un corso a cui era iscritta, ama anche altri programmatori che postavano cose su internet (facilmente reperibili attraverso Google). Il secondo: non era questione di numeri e di parole; l’HTML (un codice di programmazione) è. come dice la parola stessa, un linguaggio di programmazione. Per questo impararlo è più una questione legata alla nostra capacità di imparare una lingua diversa, piuttosto che a quella di avere abilità con i numeri.

Certo, funziona per un livello base ma la cosa bella è anche che quello base può essere il primo di una serie di gradini che piano piano possiamo scalare imparando dagli errori che si fanno nella codificazione informatica. L’informatica è, sostanzialmente, imparare facendo.  Dice Victoria:”imparare a programmare non ha fatto di me una programmatrice, ma ha cambiato il mio atteggiamento quando devo imparare cose nuove“. In questa conclusione della giornalista americana c’è l’essenza del coding e anche del Coderdojo: l’obiettivo non è diventare prigrammatori informatici, ma cominciare ausare la testa, la logica. E magari lo facessimo tutti!

Cosa c'è da imparare oggi (per domani)

codingL’epoca che stiamo vivendo, da un punto di vista professionale, richiede un continuo aggiornamento delle nostre capacità e delle nostre competenze. Non si tratta solo di frequentare corsi di formazione in continuo (che, diciamolo, a volte sono anche ridondanti). Piuttosto sempre più spesso viene richiesto un grado di adattabilità, di mutazione, di “improvvisazione” o prontezza a situazioni nuove e diverse: alcuni la chiamano flessibilità, ma così facendo il termine viene troppo spesso confuso con precarietà. Forse quello che potremmo intendere per flessibilità è la nostra capacità di adattare le nostre conoscenze a contesti diversi, la possibilità che abbiamo di apprendere non soltanto conoscenze tecniche ed operative ma anche saperi funzionali. Qualcosa che possiamo poi adattare a situazioni e contesti variegati. Una volta avrebbero detto “le basi”. Oggi, certamente, queste “basi” non son più quelle di una volta (come le stagioni 😉 ) e dobbiamo forse aggiornarci e registrare la nostra formazione su altri parametri.

In questo senso pensiamo che un esempio di quel che intendiamo possa essere rappresentato dai corsi di programmazione informatica. In gergo si chiama coding (da code, codice in inglese) ed è la competenza di riuscire a programmare un software affinché possa poi svolgere le funzioni che immaginiamo. Volendo fare un po’ di filosofia il coding è in qualche modo un atto creativo (in senso letterale) perchè spesso in informatica immaginare una cosa significa poi, quasi direttamente, poterla realizzare. Per molti esperti è una materia sempre più necessaria per chi è nato in questo millennio, al pari dell’inglese. Un docente dell’Università di Urbino, Alessandro Bogliolo, sostiene che “imparare a programmare non serve solo a creare futuri programmatori, il salto di qualità si fa quando si inizia a pensare che il coding debba diventare materia di studio. Non comprate un nuovo videogioco, fatene uno. Non scaricate l’ultima app, disegnatela.

Il concetto che sta alla base del linguaggio informatico è il pensiero computazionale, ovvero la capacità che possiamo acquisire di pensare in maniera algoritmica ovvero trovare una soluzione e svilupparla alle esigenze ed ai problemi che ci si presentano, che decidiamo di affrontare. Ammesso che questa cosa sia importante quando bisogna iniziare ad imparare il “linguaggio della macchina”? La risposta è la stessa che diamo alla domanda “quando è meglio imparare una lingua straniera?”. Presto, prestissimo, già da bambini. Per tanti motivi. Il coding dà ai bambini una forma mentis che permetterà loro di affrontare problemi complessi quando saranno più grandi. Imparare a programmare apre la mente. Per questo si può cominciare già in tenera età. Anche per uscire da un equivoco, quello secondo cui i cosiddetti «nativi digitali» siano bravissimi con le nuove tecnologie (è un luogo comune): i minuti e le ore passate davanti ad un dispositivo digitale rischiano di essere una fruizione passiva, anche se è uno svago che può assorbire tempo ed energie. Quando i bambini si avvicinano al coding, invece, diventano soggetti attivi della tecnologia. I risultati sono immediati. In poco più di un’ora si può creare un piccolo videogioco, funzionante (per farlo partendo da zero il MIT di Boston ha creato un’applicazione apposita, che si chiama Scratch). Un responsabile didattico del coding afferma che “I ragazzi che approcciano il coding via via maturano una presa di coscienza: quando lavorano per il loro videogame vogliono che sia difficile, per renderlo più avvincente e divertente; iniziano a vedere le cose da una prospettiva diversa”.

Ecco, forse proprio di questo abbiamo bisogno, di trasformare e leggere la flessibilità come una prospettiva diversa. Ma la possiamo adottare solo se abbiamo gli strumenti e le conoscenze per vederla.