Coding. Linguaggio di programmazione nella scuola primaria: (1) come introdurlo in modo semplice e stimolante.

IL LINGUAGGIO DEGLI OGGETTI: introduzione al pensiero computazionale.

Ecco come ho introdotto il linguaggio di programmazione nel mio gruppo classe e quali strategie ho adottato per tenere viva la partecipazione e l’interesse stimolando curiosità e motivando gli alunni a saperne di più.

Classe di riferimento: seconda di scuola primaria
Contenuti affrontati: cos’è il linguaggio di programmazione; concetto di codice binario; introduzione al concetto di algoritmo.

Inizio la discussione richiamando l’attenzione dei bambini con semplici domande chiave che stimolino la discussione. Facciamoci caso, abbiamo mai visto oggetti che parlano? Voi direte di no, forse penserete a strani robot o a particolari giocattoli. Ma parlare significa soltanto emettere dei suoni? E se invece per “parlare” intendessimo un concetto più ampio come quello di comunicare? Cos’è la comunicazione? Riflettiamoci su. Possiamo parlare solo attraverso le parole emesse dalla nostra voce o abbiamo anche altre possibilità? A questo punto possiamo o ritornare su contenuti già trattati (cos’è la comunicazione e come funziona) oppure introdurli brevemente (mittente – ricevente o destinatario – messaggio – canale di trasmissione, ecc.) facendo semplici esempi. A mio avviso è importante soffermarsi su questo aspetto perché molti bambini con il termine “parlare” potrebbero limitarsi al “parlare con la voce” e a questo punto è ovvio che noi non parliamo mica poi tanto spesso con gli oggetti! Tuttavia “comunichiamo” a modo nostro con loro. Vediamo come e perché.
A farci caso ci mettiamo quotidianamente in comunicazione con altre persone ma anche con degli oggetti. Pensiamo ad esempio a quando dobbiamo “dire” al nostro forno a microonde di riscaldare il latte la mattina o ancora quando “chiediamo” al nostro computer di farci vedere il nostro videoclip preferito o ancora quando “comando” al nostro videogiochi di caricare i personaggi che ci occorrono per giocare. I bambini hanno sempre parlato coi loro giocattoli che si son sempre animati tra le loro mani e oggi, se guardiamo bene, ci rendiamo conto che le cose che abbiamo attorno rispondono e fanno (più o meno) quello che noi gli chiediamo di fare. Ma come fanno a “parlare”, a comunicare con noi? Diamo la parola ai bambini e ci sorprenderemo nell’apprendere quanto siano in grado di capire il funzionamento degli oggetti. Dopo aver raccolto le loro impressioni, cerchiamo di riassumere brevemente quanto emerso focalizzando l’attenzione su come gli oggetti possano comunicare con noi: al loro interno infatti c’è un oggetto ancora più piccolo, il microprocessore, che riesce ad eseguire semplici istruzioni. Queste istruzioni, badate bene, devono essergli date in modo chiaro, una per volta e non troppo in fretta. Scrivo alla LIM le parole chiave in modo che i bambini possano avere un riscontro visivo. Anche il microprocessore ha i suoi tempi per capire (facciamo esempi pratici e della quotidianità chiamando in causa i bambini stessi: quando avete imparato a fare le addizioni avete avuto il bisogno di capire bene il procedimento, mettendoci anche del tempo) … anche se poi risponde ai comandi molto in fretta (tornando all’esempio delle addizioni: ma poi una volta imparato il procedimento siete diventati veloci e abili) grazie alla sua potenza e alla sua velocità. A proposito – ho bisogno di riattivarli in qualche modo coinvolgendoli alla lavagna – sapete come viene misurata la velocità del microprocessore? Con il gigahertz! Pensate che ogni secondo riesce ad eseguire un miliardo di istruzioni! Ma quanti zeri ci vorranno per scrivere un miliardo? Chi vuole venire alla lavagna per cercare di scrivere un miliardo?
Dopo la pausa lavagna ritorno all’argomento. Stavamo parlando di istruzioni, tante. Qualcuno di voi ricorda ancora come devono essere formulate per essere ben comprese? Devono essergli date in modo chiaro, una per volta e non troppo in fretta. Proprio per questo motivo dobbiamo pensare nel modo corretto così che il microprocessore non si confonda. Questo linguaggio, corretto da adottare, si chiama programma. I programmi infatti ci consentono di mettere insieme, nel modo migliore, tutte le istruzioni che ci permettono di risolvere problemi, di fare qualcosa di utile o addirittura divertente. Senza la programmazione il microprocessore è vuoto, quindi inutile: non può comunicare con noi e noi non possiamo comunicare con lui. Per farlo ci serve un linguaggio (che permette appunto la comunicazione e ci fa “parlare”): la programmazione. La programmazione è il linguaggio delle cose!
Così abbiamo scoperto come metterci in comunicazione con gli oggetti. Adesso pensiamo ad un oggetto di uso comune e quotidiano che riesce a fare un sacco di cose e comunica con noi continuamente. Lo SmartPhone! Smart in inglese ha tanti significati: intelligente, veloce, alla moda, elegante. Phone, lo sappiamo tutti. Pensando allo SmartPhone come lo definireste? Con questo piccolo oggetto, in modo veloce, noi possiamo entrare in comunicazione con tutto il mondo quando vogliamo e possiamo fare tante cose. Qualcuno mi sa fare un esempio? Raccogliamo gli esempi dei bambini e proseguiamo il nostro percorso di scoperta. Inoltre sono facili da usare, sono sempre connessi ad internet, riescono a parlare con altri oggetti e hanno un sacco di applicazioni (APP). Facciamo esempi di APP: partiamo da un bisogno e troviamo la soluzione. Questo è possibile perché qualcuno, prima di noi, ha programmato un microprocessore che rispondesse a queste necessità. Ce ne sono per tutti i gusti e i programmatori (chi usa il linguaggio di programmazione) sicuramente ci hanno permesso di risolvere tanti problemi o, se non altro, ci hanno reso la vita più comoda o divertente. Ma se un giorno non trovassimo la APP che fa per noi? Se volessimo fare qualcosa di nuovo che nessuno ha ancora pensato e programmato? A quel punto dovremmo conoscere il linguaggio delle cose. Così con il linguaggio delle cose e il nostro PENSIERO CREATIVO potremmo essere in grado di inventare ciò che desideriamo.

Ma come funziona questo strano linguaggio? Possiamo comunicare con il microprocessore come facciamo con i nostri amici? In italiano? In inglese? In cinese? Quale sarà la lingua giusta? La lingua universale che consente a tutti i microprocessori di capire i nostri comandi corre attraverso i numeri, esattamente gli zeri e gli uno! Si chiama linguaggio macchina, funziona usando 1 e 0 messi in varie combinazioni, è un linguaggio binario (usa solo due cifre a differenza dei numeri decimali che ne usano 10) ed è molto difficile da usare. Ipotizziamo alla lavagna alcuni esempi con le sequenze di zero e uno [esempio: 0010001100]. Lo facciamo solo per gioco senza entrare in merito del significato di ACCESO/SPENTO. Propongo ai bambini di provare a parlare in linguaggio macchina! Aiutooo, sarebbe impossibile! Per questo motivo i programmatori utilizzano istruzioni scritte in inglese che vengono tradotte automaticamente in codice binario, linguaggio di programmazione appunto [esempio: Maze.moveForward]. Ma non ci si ferma qui. Infatti per comunicare in modo più semplice si ricorre anche ai linguaggi visuali che consentono di comporre graficamente le istruzioni [esempio: vai avanti] creando sequenze che poi possono essere tradotte in linguaggio di programmazione e poi in linguaggio macchina e permettere così a tutti di poter creare qualsiasi cosa!

Linguaggio visuale –>  Linguaggio di programmazione –>  Linguaggio macchina

Quindi siamo arrivati alla conclusione che il linguaggio è importante per far capire alle cose ciò che devono eseguire ma abbiamo anche detto che è necessario farlo capire bene, con ordine e precisione, seguendo un determinato procedimento. Questo procedimento si chiama algoritmo ed è il modo per esprimere al meglio il linguaggio. Faccio velocemente un esempio semplice riguardante il nostro linguaggio e l’importanza di formulare frasi corrette. Se io dicessi questa frase: FERMARTI IMBOTTIRE A SCUOLA PER UN PANINO PRIMA DI MERENDA E FATTI ANDARE DAL SALUMIERE – riuscireste a capirmi tutti e subito? Ci provereste, con difficoltà e quanto meno restereste stupiti! Dovrei formularla in maniera corretta: PRIMA DI ANDARE A SCUOLA FERMATI DAL SALUMIERE E FATTI IMBOTTIRE UN PANINO PER LA MERENDA. Stessa cosa accade con i nostri oggetti, con la differenza che loro non proverebbero stupore ma… rimarrebbero inattivi, non riuscirebbero a capire cosa stiamo chiedendo loro e perciò non ci risolverebbero il problema. Per questo motivo dobbiamo imparare a pensare istruzioni semplici stando attenti a non compiere errori, in modo veloce, uno alla volta e senza fantasia (nel senso che non possiamo inventarci al momento un linguaggio tutto nostro!). Per fare ciò sarà importante non trascurare mai i dettagli e soprattutto provare a mettersi nei panni di chi eseguirà le istruzioni.
Proviamo a fare subito un esperimento. Scegliamo un bambino a caso e sistemiamolo davanti alla cattedra. Un compagno al posto dovrà fornirgli una serie di indicazioni per eseguire un percorso che gli permetta di raggiungere nel minor tempo possibile un astuccio sistemato all’ultimo banco e portarlo alla maestra che sta alla cattedra. Il compagno che deve compiere il percorso può farlo solo seguendo le indicazioni del bambino al posto che dovrà mettersi nei suoi panni (dando indicazioni in base al punto di vista dell’alunno in movimento e quindi stando attendo a destra e sinistra) e dare indicazioni semplici e precise. Giochiamo per cinque minuti e raccogliamo le impressioni su quanto accaduto provando a trasferire questa piccola esperienza al discorso che abbiamo fatto a lezione.
A questo punto, per tirare un po’ le somme, andiamo on line sulla LIM e vediamo insieme questo breve video riassuntivo: IMPARIAMO IL LINGUAGGIO DELLE COSE

7 Comments on “Coding. Linguaggio di programmazione nella scuola primaria: (1) come introdurlo in modo semplice e stimolante.”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *