Strumenti per fare coding a scuola

Il pensiero computazionale ed il coding sono un'interessante disciplina che tutte le scuole stanno cercando di promuovere per aiutare gli studenti a sviluppare logica e abilità nel problem solving.
Oggi vorrei passare in rassegna alcuni strumenti utili per lanciare un programma di coding a scuola in maniera semplice e soprattutto gratuita.

coding strumenti1. The Hour of Code
Un programma internazionale per sensibilizzare gli studenti al pensiero computazionale (quest'anno la settimana del codice è fissata per il 4-10 dicembre 2017). I docenti possono iscrivere le loro classi su https://programmailfuturo.it/. Trovate percorsi tradizionali e digitali con indicazioni precise sulle attività da svolgere alla scuola primaria e secondaria in base all'età dei vostri alunni.

2. App per tablet

  • Daisy the Dinosaur (iPad). Questa app gratuita e divertente ha un'interfaccia drag & drop che i bambini di tutte le età possono usare per animare Daisy e farla ballare sul loro schermo.
  • Hopscotch (iPad). Che si tratti di giochi, arte, storie o altro, puoi programmare tutto ciò che vuoi con un coding a misura di bambino. Pubblica le tue creazioni nella community completamente modulata di Hopscotch, dove i bambini possono giocare e imparare dai tuoi giochi.
  • Scratch Junior (Android e iPad).Anche i più piccoli (dai 5 ai 7 anni) possono programmare storie interattive e giochi. E mentre lo fanno imparano a risolvere problemi, a creare progetti e ad esprimersi in modo creativo usando il computer.
  • Cargo Bot (iPad). È un gioco di puzzle in cui si insegna a un robot come spostare delle casse.

3. Scratch
Il celebre software gratuito del MIT, utilizzato anche per programmare i robot (Scratch for Arduino). Ho realizzato una serie di video lezioni che mostrano alcune delle sue principali funzionalità.

coding con google scuola4. Google
Anche il colosso di Mountain View si è dedicato al coding, sviluppando almeno 3 filoni di proposte per imparare a programmare

  • Blockly è un linguaggio di programmazione molto semplice nato come risposta a Scratch. Esistono 52 giochi veramente belli per imparare ad utilizzarlo in classe.
  • Con CS First bambini e ragazzi dai 9 ai 14 anni potranno imparare le basi della programmazione e sviluppare così il loro potenziale creativo, partecipando a divertenti Club, totalmente gratuiti.
  • Made with Code. Alcuni pensano che la programmazione sia una di quelle discipline prettamente maschili, ma secondo Google è solo una realtà statistica che si può modificare. Per farlo ha creato Made With Code, progetto che vuole aiutare le giovani donne a fare la differenza con l'informatica.

Coding alla scuola media

coding scuola mediaIl coding sta diventando un must nella didattica con le nuove tecnologie e tutte le scuole si stanno attrezzando per lanciare laboratori di programmazione e robotica. Per introdurre gli studenti della scuola media al pensiero computazionale esiste un modo molto semplice e gratuito, affidarsi alle attività di Programma il Futuro.
Il sito altro non è che la traduzione italiana di alcune delle proposte didattiche create dal movimento internazionale The Hour of Code (L'ora del codice).
Il corso 3 è indicato per gli alunni della scuola media che desiderano familiarizzare con la programmazione a blocchi in stile Scratch.
Passo dopo passo gli studenti vengono guidati, attraverso semplici giochi, a comprendere il significato di algoritmo e ad impartire comandi a uno simpatico zombie, che li aiuterà a capire anche i cicli.

Il pensiero computazionale

pensiero computazionale scuolaOgni giorno i computer, gli smartphone e i tablet ci aiutano a risolvere «problemi» piccoli e grandi: prenotare il biglietto per uno spettacolo, mettersi in contatto con qualcuno che si trova dall'altra parte del mondo, scrivere testi, creare video.
Tuttavia, è necessario che prima qualcuno abbia definito questi problemi e le strade più efficaci per poterli risolvere. Questo lavoro, il più delle volte a noi invisibile, è svolto dai programmatori e dagli ingegneri che si avvalgono di una «grammatica mentale» per affrontare i problemi, il pensiero computazionale, e di linguaggi specifici, i linguaggi di programmazione.
Il pensiero computazionale permette di definire che tipo di problema abbiamo di fronte e quindi di sviluppare possibili strategie di risoluzione, presentandole in modalità comprensibili sia dall'uomo che dai calcolatori elettronici. Questo tipo di pensiero si basa su alcuni principi fondamentali tra i quali:

  • la scomposizione di un problema complesso in sottoproblemi o unità più piccole e quindi più facili da gestire;
  • l'individuazione di pattern (schemi) comuni alla base di molti problemi ma formulati in maniera differente;
  • l'astrazione e la generalizzazione, i processi con cui una soluzione o alcuni suoi elementi possono essere generalizzati rispetto a una situazione specifica e quindi applicati per risolvere altri problemi;
  • gli algoritmi, cioè sequenze ordinate di operazioni che costituiscono il «libretto di istruzioni» per risolvere un problema.
    A prima vista può sembrare che tali principi hanno a che fare con il funzionamento di un cervello elettronico ma non ci riguardano più di tanto.

Eppure, basta poco per trovare esempi di pensiero computazionale nella vita quotidiana. Ad esempio, se vogliamo cucinare una torta per la prima volta, per non commettere errori probabilmente cercheremo sullo smartphone o sul computer la ricetta che contiene, oltre all'elenco degli ingredienti, la sequenza ordinata delle operazioni da compiere per risolvere il nostro «problema» gastronomico.
Un altro esempio, utile per capire il concetto di scomposizione: vi sarà capitato di prendere parte a un lavoro di gruppo per raggiungere un obiettivo, magari un problema troppo grande da risolvere tutto insieme, ma che è diventato affrontabile con la sua scomposizione in step progressivi da risolvere in sequenza o in sottoproblemi affrontati da diverse persone. Gli esempi potrebbero essere tanti: preparare una ricerca per la scuola, realizzare uno spettacolo, organizzare una festa di compleanno.
Questi sono casi di astrazione e generalizzazione. Il riconoscimento dei pattern, o schemi, è l'operazione che compiamo quando rileviamo uno schema simile o delle regolarità in situazioni diverse tra loro: se in un problema di matematica è dato un triangolo rettangolo del quale è richiesta la misura di un lato conoscendo gli altri due, sappiamo di dover applicare il teorema di Pitagora. Il riconoscimento dei pattern consente di ridurre la varietà dei problemi a un numero gestibile di situazioni e di applicare quindi per ciascuna di esse una o più strategie definite.

Il Coding a scuola

coding scuola primaria e secondariaUn concetto strettamente connesso al pensiero computazionale è quello di programmazione o coding. La programmazione è il processo che parte dalla formulazione di un problema e giunge alla creazione di programmi eseguibili al computer in grado di risolverlo.
Nella programmazione, tutte le operazioni che contraddistinguono il pensiero computazionale (ad esempio l'analisi, la scomposizione e l'astrazione di pattern, cioè schemi di progettazione) vengono tradotte in algoritmi, cioè sequenze di azioni, con l'utilizzo di un linguaggio di programmazione. In termini semplici, il coding comprende quei linguaggi con i quali si può istruire il computer a svolgere determinati compiti attraverso la scrittura di una sequenza di operazioni.
Il testo scritto con questi linguaggi è chiamato «codice sorgente»: quando si programma, le sequenze di operazioni vengono scritte in un codice che il computer sa interpretare. Come ogni altro linguaggio, anche quelli di programmazione possiedono una grammatica e un vocabolario che vanno appresi se vogliamo capire e farci capire dai computer.
Lo scopo della programmazione è trovare una sequenza di istruzioni che renda automatica l'esecuzione di un compito o la soluzione di un problema: riprendendo l'esempio precedente, è un po' quello che accade quando, dopo aver trovato la strategia migliore per cucinare una torta, scriviamo con precisione la sequenza delle azioni da compiere in modo che si potrà eseguire il procedimento in modo corretto ed efficiente, pur mantenendo la possibilità di ottimizzare questa strategia in futuro.
Nel momento in cui iniziamo a programmare, tiriamo fuori la curiosità, alleniamo lo spirito di analisi e usiamo la logica nel cercare le soluzioni più efficaci per risolvere nuove sfide. Creiamo inoltre nuovi ambienti e prodotti digitali (un videogioco, un'opera d'arte digitale, una presentazione interattiva, ecc.) che, oltre a essere «prodotti», sono anche strumenti per pensare e per costruire nuove conoscenze. Se i programmatori si possono considerare gli architetti dell'era digitale, imparare a programmare significa diventare capaci di ricostruire il mondo.

Sottocategorie

corso scratch scuola primaria secondariaQuesto corso è dedicato a Scratch, un ambiente di programmazione creato all'interno del MIT (Massachusetts Institute of Technology), uno dei più importanti centri di ricerca del mondo. Nello specifico, Scratch è stato creato grazie al lavoro del Lifelong Kindergarten Group dei Media Lab del MIT, gruppo di ricerca guidato dal prof. Mitchel Resnick, che si occupa di come le persone possono apprendere, progettare e creare grazie anche alle nuove tecnologie.
Scratch è stato progettato nel 2006 per l'insegnamento della programmazione tramite primitive visive, è adatto a studenti, insegnanti e genitori ed utilizzabile per progetti pedagogici e di intrattenimento che spaziano dalla matematica alla scienza, consentendo la realizzazione di simulazioni, animazioni, musica e semplici giochi.

Si può scaricare Scratch gratuitamente dal sito del MIT oppure utilizzarlo online come web app.