Coding

Quando si parla di coding a scuola s’intende non solo la scrittura di codice, ma in senso più ampio anche l’acquisizione degli strumenti intellettuali per procedere alla risoluzione di un problema. Strumenti che sono propri del pensiero computazionale. Come scrive Jeannette M. Wing, in Computational Thinking:

Che cos’è Scratch, il linguaggio di programmazione per imparare il coding

Scratch - Imparare a programmare con Scratch

Nello scorso post abbiamo illustrato alcune motivazioni per l’insegnamento del coding a partire dalla scuola primaria. I linguaggi di programmazione tradizionali possono però risultare, almeno all’inizio, un po’ ostici per i bambini.

Niente paura: negli ultimi anni sono stati sviluppati dei linguaggi specifici per l’apprendimento, tanto semplici da utilizzare quanto divertenti e versatili. Oggi vi presentiamo Scratch, probabilmente il più diffuso e utilizzato al mondo. Vediamo meglio di che cosa si tratta, e perché utilizzarlo!

Che cos’è Scratch e come funziona?

Scratch è un linguaggio di programmazione grafico a blocchi, pensato per imparare il coding a partire dalla scuola primaria ma utilizzabile a qualsiasi età, data la sua semplicità e immediatezza.

Il principio è semplice: le porzioni di codice contenenti le istruzioni (scripts) non vengono scritte dall’utente, ma sono già contenute in blocchetti colorati che possono essere trascinati sulla schermata principale (stage) e incastrati in ordine logico proprio come se fossero dei mattoncini.

Le istruzioni così assemblate serviranno a guidare personaggi e oggetti (sprites), per farli muovere e agire, permettendo così di creare storie interattivevideogamesopere d’arte o musicali e molto altro ancora!

Scratch è completamente gratuito ed è stato creato dagli sviluppatori del Lifelong Kindergartendel MIT Media Lab. Uno dei suoi “papà”, Mitchel Resnick, descrive in questo video lo spirito che anima il linguaggio di programmazione.

Perché includere Scratch nella didattica

Come anticipavamo, Scratch è un ottimo sistema per insegnare i principi del coding fin dalla scuola primaria, possedendo le più importanti caratteristiche per questo scopo:

è intuitivo e facile da usare

i linguaggi di programmazione grafici permettono anche a chi non ha grande dimestichezza con la tecnologia o con il coding di essere subito operativo. Basta infatti trascinare alcuni blocchi sulla schermata e incastrarli tra di loro per creare un semplice progetto già funzionante, che potrà essere migliorato con l’aggiunta di ulteriori blocchi di istruzioni man mano che vengono insegnate le loro regole di utilizzo.

permette di scatenare la creatività

pur essendo un linguaggio di programmazione “semplice”, Scratch consente di creare progetti di una certa complessità, grazie alle numerose istruzioni precompilate all’interno dei blocchi già disponibili, che possono essere ulteriormente ampliate con la creazione di blocchi personalizzati. Lo slogan della comunità online di Scratch recita “Immagina, Programma, Condividi”. Ed è vero: non ci sono limiti al suo utilizzo, se non l’immaginazione!

apprendere diventa divertente

anche se l’obiettivo rimane quello di imparare, grazie a Scratch questo viene raggiunto nel modo più divertente e ludico possibile. I bambini possono animare personaggi, creare storie o giochi, personalizzare i loro progetti e sfidare i propri compagni e amici, imparando allo stesso tempo i principi fondamentali del coding, che potranno applicare in futuro a linguaggi più complessi, facendo propri anche i meccanismi del pensiero computazionale.

sviluppa la collaboratività

Scratch è un linguaggio di programmazione, ma anche una community: chiunque crea il proprio programma o contenuto può renderlo disponibile per gli altri utenti, così che possano trarne ispirazione per “remixarlo”, migliorarlo e crearne una propria versione personalizzata. Lavorare su Scratch con i compagni, gli amici, i genitori o gli insegnanti permette inoltre ai bambini di apprendere come collaborare, condividere le proprie idee e aiutare o essere aiutati dagli altri membri del gruppo.

Scratch può quindi essere introdotto nelle classi e utilizzato come supporto didattico, facendo sì che gli studenti lavorino assieme per creare i propri progetti e apprendano i principi alla base di ogni blocco per utilizzarlo al meglio.

Come iniziare con Scratch?

Consultando il sito ufficiale di Scratch potrete accedere a tanti progetti già realizzati e alle informazioni essenziali su questo linguaggio di programmazione per bambini di ogni età.

Nella nostra sezione risorse, inoltre, troverete numerosi tutorial che vi spiegheranno passo passo come realizzare degli splendidi progetti con Scratch!

 

Collegamenti a siti web per fare coding e molto altro

Alcuni esempi da codepen.io

Articoli correlati:

Coding unplugged, come insegnare ai bambini a programmare senza computer

Fare coding a scuola, ma senza computer. Sembrerebbe un ossimoro, o quanto meno una contraddizione in termini, eppure non solo questo è possibile, ma è anche molto utile nel processo mirato all’acquisizione del pensiero computazionale.

Stiamo parlando del così detto coding unplugged, un’etichetta che definisce ogni attività di apprendimento e insegnamento dei principi della programmazione che non prevede l’utilizzo di dispositivi elettronici, come computer o tablet.

Per fare coding unplugged può bastare un foglio di carta a quadretti, qualche matita colorata e tanta fantasia. Ma ci si può spingere anche oltre, integrando il coding con l’educazione motoria, quella artistica ecc. Più avanti, attraverso alcuni esempi di coding unplugged, spiegheremo meglio come.

Perché fare coding unplugged?

Il coding unplugged ha un primo indubbio vantaggio pratico: non richiede attrezzature elettroniche – computer, tablet o smartphone – di cui spesso le scuole non dispongono, o non in numero sufficiente.

L’apprendimento del coding senza computer è però propedeutico anche a quello davanti allo schermo. I bambini fanno pratica con giochi di gruppo coinvolgenti, accedendo in modo naturale ai meccanismi alla base dei linguaggi di programmazione che saranno pronti a tradurre al computer con Scratch e gli altri linguaggi grafici pensati specificamente per l’apprendimento.

Alcune proposte di attività di coding unplugged

Pixel art

Il pixel è l’unità fondamentale di rappresentazione di un’immagine digitale. Immaginate lo schermo del vostro computer o smartphone come un reticolo formato di tante caselline, ognuna delle quali può assumere un diverso colore, fino a definire un’immagine.

Lo stesso principio, ma più in piccolo, può essere applicato attraverso la pixel art. Agli alunni, in questo caso, verrà richiesto di partire da un reticolo disegnato sui quadretti del proprio quaderno, simile allo schema di una battaglia navale, e colorare soltanto gli spazi necessari per comporre l’immagine desiderata, ad esempio quella del proprio personaggio preferito.

Questo è solo il primo passo della pixel art. Quello successivo è trasformare questa operazione in una sequenza di istruzioni, pensate per far sì che anche un altro alunno che non conosce in anticipo il soggetto del disegno possa riprodurlo con sicurezza.

Il metodo operativo è stato ben spiegato da Alessandro Bogliolo, docente dell’Università di Urbino e ambasciatore del pensiero computazionale attraverso iniziative come la Europe Code Week

Percorso a ostacoli

Ripartiamo dal reticolo di cui abbiamo parlato precedentemente, ma stavolta immaginiamo che si tratti del pavimento piastrellato di un’aula. Gli alunni saranno le “pedine” del gioco, ai quali altri alunni dovranno dare le istruzioni per raggiungere un traguardo – obiettivo.

Un esempio di percorso a ostacoli è quello di Cappuccetto Rosso, che deve portare il pranzo alla nonna senza perdersi nel bosco e senza finire mangiata dal lupo. Tracciato il reticolo e piazzati gli ostacoli lungo il percorso, saranno gli stessi alunni, magari collaborativamente, a scrivere le istruzioni per permettere alla loro compagna di raggiungere il traguardo: 2 passi avanti, un passo a sinistra, altri due passi avanti, e così via.

Quali istruzioni saranno necessarie? E quante? Il “programma” potrà essere riscritto con meno istruzioni? Ci saranno dei bug, ovvero degli errori? Divertitevi a scoprirlo, magari seguendo questo spunto del maestro Alessandro Rabbone.

Scrivere un algoritmo

Il precedente esercizio rappresenta un algoritmo, ovvero una serie di istruzioni elementari che, se eseguite correttamente, permettono di risolvere un problema o raggiungere un obiettivo.
Pensate a una qualsiasi attività, anche la più semplice, come preparare lo zaino per andare a scuola, o riordinare la propria stanza dai giochi. Ognuna di queste azioni contiene al suo interno una serie di micro-azioni codificabili:

  • muoversi di due passi avanti verso il quaderno
  • prendere il quaderno con la mano destra
  • muoversi di due passi a sinistra verso lo zaino
  • utilizzare la mano sinistra per aprire lo zaino
  • infilare il quaderno nella mano destra dentro la cartella

e così via.

Chiedete ora ai vostri alunni di scrivere un algoritmo per far svolgere ai propri compagni un compito elementare, come preparare una ricetta o preparare lo zaino per uscire dall’aula. E una volta creato l’algoritmo, mettetelo alla prova cercando e correggendo i bug, gli errori che impediscono al programma di essere eseguito correttamente!

Dall’unplugged al “plugged”, con Scratch

Ora che i principi con i quali fare coding unplugged sono chiari, provate a tradurre quegli stessi algoritmi scritti dai vostri alunni in un gioco creato con Scratch, magari introducendo ulteriori livelli di difficoltà e di concetti, come le variabili o i loop.

Qualche ulteriore esempio di attività di coding unplugged

Programma il Futuro – Alcune lezioni di coding unplugged già pronte e che non necessitano del computer per essere svolte.
CS Unplugged – In lingua inglese, con molti esempi di attività ed esercizi di coding unplugged da svolgere in classe.
Cercatori di Energia – Un gioco da tavolo simile al gioco dell’oca, ma col coding al posto dei dadi!
Smartcoding – Un documento PDF che raccoglie alcuni utili spunti per organizzare coinvolgenti lezioni di coding unplugged

Un pensiero su “Coding

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...