Diario

Caro TuttoMeritoMio, ti scrivo: la palestra del coding

Caro TuttoMeritoMio, ti scrivo: la palestra del coding

Eccoci giunti alla sesta pagina del Diario di TuttoMeritoMio, il programma di Fondazione CR Firenze e Intesa San Paolo per la valorizzazione del merito scolastico. In questa occasione ci concentreremo su una delle attività portanti della Palestra delle competenze, ovvero la palestra del coding. Un laboratorio digitale pensato per apprendere la programmazione informatica e offrire alle generazioni del futuro maggiori consapevolezze sui mezzi tecnologici.

Programmo, dunque sono: l’arte di pensare in modo computazionale

Il celebre filosofo Immanuel Kant riteneva che il vero potere della logica non fosse la capacità di descrivere come pensiamo, bensì come dovremmo pensare. Gli esseri umani difatti hanno pensieri confusi, dettati da mille eterogenei fattori. Istinto, passioni, inconscio. Sembra talvolta impossibile poter dominare ciò che abbiamo nella testa. Ma ecco che arriva la logica: con lei si può mettere ordine, stabilire relazioni tra le cose, ragionare per obiettivi. 

E, contemporaneamente, ci rende anche in grado di dialogare con le intelligenze artificiali. Anzi, meglio: di comprendere il loro linguaggio. Abituarsi a ragionare in modo computazionale (Computational Thinking), quindi con l’intento di risolvere un problema attraverso un rigoroso schema di passaggi, offre una nuova visione della realtà e dei suoi meccanismi. Si tratta di un vero e proprio lifting mentale, di una sfida costante per il nostro sistema cognitivo. Attraverso questo nuovo approccio diventiamo utenti attivi, più consapevoli dei dispositivi tecnologici.

Perché imparare il coding  è importante

Per tali ragioni, i tutor di TuttoMeritoMio hanno ritenuto che inserire una palestra del coding tra le attività pensate per i ragazzi fosse uno stimolo importante. Sia per l’allenamento del ragionamento strategico, sia per avvicinare i ragazzi a un ambito professionale in continua espansione attraverso un’applicazione pratica della conoscenza.

Tramite il coding, gli studenti scoprono i segreti della programmazione e, quindi, anche di ciò che viene programmato. Instaurano un rapporto paritario con i dispositivi, ne comprendono il funzionamento. Diventano in questo modo fruitori e cittadini attenti, mai passivi.

Sapersi relazionare alla tecnologia, renderla meno oscura e più familiare, è il miglior modo per essere proattivi nel mondo contemporaneo e per tutelarsi in quanto soggetti umani. Significa avere voce in capitolo sul futuro, prenderne parte. Difatti, le grandi sfide che investiranno le generazioni future necessiteranno di molta consapevolezza e capacità critica nei confronti dei meccanismi economici e sociali.

Coding oltre il computer: l’esperienza dei nostri ragazzi

Adesso entriamo nel vivo delle attività proposte nella palestra. Per avvicinare i partecipanti alla programmazione informatica, la tutor Sonia Montegiove ha ideato un percorso di esercitazioni di difficoltà crescente. Mentre gli esercizi più complessi prevedevano l’uso del linguaggio Python, il primo –  intitolato coding senza computer –  aveva lo scopo di rompere il ghiaccio, di proporre ai ragazzi un nuovo approccio: quello del pensiero computazionale.

Nello specifico, i partecipanti erano tenuti ad elencare le azioni necessarie per vestirsi al mattino a seconda del tempo previsto. Per svolgere questo esercizio è stato suggerito loro di fare una lista di azioni e vedere quali di queste si ripetevano ciclicamente e quali invece erano occasionali. I nostri studenti, dovendo cambiare il loro modo di osservare la realtà, hanno dato vita a importanti osservazioni sulla vita quotidiana. Riportiamo qui una testimonianza:

Nello svolgere queste azioni mi sento effettivamente come un robot, perché da quando le ho imparate, le ho sempre fatte, magari anche senza rendermene conto. Si ripetono, le svolgo sempre in modo meccanico, sono cose che potrei fare anche ad occhi chiusi e spesso nel mentre penso a tutt’altro. Quelle che rimangono uguali ogni giorno per me sono come indispensabili, mi sono state insegnate dai miei genitori quando ero piccola e da lì in poi, sono diventate un punto fisso nella mia giornata.
B.

Sviluppare il computational thinking non comporta solo la mera logicizzazione del ragionamento, ma implica anche un sovvertimento del proprio punto di vista. Permette di guardare il mondo da una prospettiva differente, di osservarlo partendo da nuove regole del gioco. 

Concludiamo questo pagina con Lo Zen del Python di Tim Peters. La lista di principi che guidano la scrittura in questo linguaggio. Chi lo ha detto che il coding non può essere poetico?

  1. Bello è meglio di brutto.
  2. Esplicito è meglio di implicito.
  3. Semplice è meglio di complesso.
  4. Complesso è meglio di complicato.
  5. Lineare è meglio di nidificato.
  6. Rado è meglio di denso.
  7. La leggibilità è importante.
  8. I casi speciali non sono abbastanza speciali per infrangere le regole.
  9. Anche se la praticità batte la purezza.
  10. Gli errori non dovrebbero mai accadere in silenzio.
  11. Salvo esplicitamente silenziati.
  12. Davanti all’ambiguità, rifiuta la tentazione di indovinare.
  13. Ci dovrebbe essere un – e preferibilmente solo uno – modo ovvio per farlo.
  14. Anche se all’inizio potrebbe non essere un modo ovvio, a meno che tu non sia olandese.
  15. Adesso è meglio che mai.
  16. Anche se “mai” è spesso meglio di “proprio adesso”.
  17. Se l’implementazione è difficile da spiegare, è una cattiva idea.
  18. Se l’implementazione è facile da spiegare, potrebbe essere una buona idea.
  19. I namespace sono una delle grandi idee – facciamone di più!