Il coding tradotto letteralmente vuol dire programmazione, ma più in generale con questo termine si intende una disciplina che ha come base il pensiero computazionale. Dunque, con il termine di coding, racchiudiamo tutti quei processi mentali che mirano alla risoluzione di problemi.
Il coding è alla portata di tutti e può essere proposto a scuola come un’attività interdisciplinare consigliata per tutte le fasce d’età.
Dalla scuola primaria a quella superiore, tanti sono infatti gli strumenti per fare coding in maniera divertente e creativa!
Strumenti per fare coding per bambini e ragazzi
Iniziamo con il dare qualche suggerimento per i più piccoli, proponendo attività anche senza l’utilizzo degli strumenti informatici, un esempio può essere la Pixel Art.
Per i bambini dagli 8 anni in su si può passare ad un apprendimento divertente del coding grazie al programma Scratch https://scratch.mit.edu/. Questo programma è utile per creare programmi e giochi, semplicemente spostando blocchi di codice colorati ed intuitivi.
Ecco un’immagine rappresentativa del programma Scratch:
Un altro programma di facile intuizione è mBlock, https://mblock.makeblock.com/en-us/. Anche qui si tratta di spostare semplicemente dei blocchi di codice ed è adatto anche ai più grandicelli.
Un sito web ricco di risorse per il coding è Programma il Futuro, https://programmailfuturo.it/. Qui si seguono dei veri e propri percorsi ricchi di giochi di logica e programmi interattivi.
Anche AppInventor presenta un’interfaccia grafica semplice ed intuitiva e numerose sono le applicazioni che si possono realizzare. Una sezione introduttiva del blog, dimostra come utilizzare il programma, al seguente link: https://www.codingcreativo.it/app-inventor/.
Uno strumento utile per creare diagrammi di flusso è Algobuild. Anche in questo caso il blog traccia in dettaglio come utilizzare questo programma per acquisire alcuni concetti base degli algoritmi: https://www.codingcreativo.it/i-diagrammi-a-blocchi/.
I benefici nel fare coding e quindi nel favorire lo sviluppo del pensiero computazionale si trasmettono in un maggior successo scolastico, in tutte le discipline.
Tante sono infatti le discipline che si possono coinvolgere nel fare coding. Inoltre ci sono tantissimi altri strumenti per imparare a programmare. Navigando nel web troverete tantissime risorse a disposizione.
In questa lezione svilupperemo un gioco di macchine con Scratch al fine di utilizzare le istruzioni condizionali e le iterazioni.
Lo scopo del gioco è quello di guidare una macchina in modo da farle schivare i sassi che incontrerà per strada.
Preparazione scena del gioco di macchine con Scratch
Prepariamo la scena iniziando a costruire la strada utilizzando forme e linee. Quindi scegliamo l’opzione disegna un nuovo sfondo e creiamo una strada come da figura sotto.
Per creare un effetto di movimento riproduciamo altri costumi spostando semplicemente le strisce tratteggiate.
Dopo andiamo nello sfondo ed inseriamo uno script che ogni 0.1 secondi passa allo sfondo successivo.
Per fare ciò ci servirà il ciclo per sempre.
Preparazione personaggi del gioco di macchine con Scratch
Posizioniamo lo sprite della macchina e della roccia in un punto dello stage, come da figura sotto:
Programmiamo il gioco di macchine con Scratch
Programmiamo la macchina in modo da spostarla con le frecce della tastiera ed in modo tale che, se dovesse toccare il bordo, si sposterà in automatico in una posizione vicina.
Facciamo anche in modo che se la macchina toccherà la pietra allora il gioco finirà, inviando un messaggio di game over a tutti.
Ecco quindi il codice della macchina:
Adesso programmiamo la roccia in modo da clonarsi. Ogni roccia clonata andrà verso la macchina e se la colpirà il gioco è terminato.
Quindi per terminare il nostro gioco con le macchine con Scratch ci rimane solo da far apparire il messaggio di game over.
Disegniamo uno sprite con la scritta game over che inizialmente nasconderemo. Quando lo sprite riceverà il messaggio game over allora apparirà.
In questa lezione realizzeremo un cruciverba con Scratch avente come tema il testo descrittivo.
L’obiettivo di questo cruciverba è quello di imparare alcuni concetti riguardo l’apprendimento del testo descrittivo ma anche di acquisire concetti di logica di programmazione.
Adesso prepariamo nel dettaglio tutti i passaggi del gioco.
Preparazione scena del Cruciverba con Scratch
Innanzitutto prepariamo la scena costruendo le nostre caselle. Quindi andiamo su disegna uno sprite, come da figura sotto:
Realizziamo ad esempio l’1 orizzontale disegnando una serie di quadrati uno attaccato all’altro:
Procediamo analogamente per l’1 ed il 2 verticale, inserendo rispettivamente 5 e 9 caselle.
Domande del Cruciverba con Scratch
Adesso programmiamo le domande:
1 – Verticale. Quello di osservazione indica da dove si osserva. Risposta corretta: Punto.
2 – Verticale. Una descrizione in cui l’autore esprime il proprio punto di vista. Risposta corretta: Oggettiva.
1 – Orizzontale. Nei testi narrativi agiscono nella storia e di solito quelli principali sono descritti accuratamente.. Risposta corretta: Personaggi
Programmiamo gli sprite delle risposte
Quindi programmiamo gli sprite delle risposte, andando nuovamente su disegna sprite.
Scriviamo ciascuna risposta e la posizioniamo esattamente sopra le caselle corrispondenti, quindi la nascondiamo in modo da farla visualizzare solo se l’utente risponde correttamente.
Domande e risposte del Cruciverba con Scratch
Adesso programmiamo lo sprite del gattino con le domande.
Quando la risposta è corretta inviamo allo sprite corrispondente un messaggio grazie al quale apparirà nel tabellone. Ad esempio se l’utente risponde correttamente alla domanda 1 inviamo il messaggio 1-verticale che sarà catturato dallo sprite punto che apparirà:
Chiaramente potete divertirti a creare altre varianti del gioco.
Ad esempio si potrebbe inserire un controllo affinché l’utente può andare avanti solo se la risposta data è corretta.
Innanzitutto scegliamo uno sfondo ed uno sprite a piacere.
Dopo creiamo le due variabili numero1 e numero2. Assegniamo a ciascuna un valore a caso tra 1 e 100 (chiaramente potete scegliere voi l’intervallo desiderato).
In questo modo, ogni volta che il programma verrà avviato verranno generati dei nuovi numeri random.
Adesso chiediamo all’utente di inserire il simbolo giusto tra il primo ed il secondo numero. Il simbolo da inserire sarà: <, > oppure =.
Memorizziamo la risposta inserita dall’utente in una variabile che chiameremo simbolo.
Abbiate cura di rendere le variabili visibili:
Le posizionate sullo schermo, cliccate con il tasto destro su di esse e selezionate l’opzione grande:
Quindi adesso dobbiamo sviluppare il nostro algoritmo pensando alle possibili condizioni.
Visualizziamo il messaggio ‘Hai detto giusto‘ se il simbolo inserito è corretto, altrimenti il messaggio ‘Risposta sbagliata‘.
Possiamo pensare di ripetere questa operazione ad esempio 10 volte, utilizzando il blocco ripeti 10 volte. In questo modo verranno effettuati più operazioni di confronto tra numeri.
Infine possiamo aggiungere un punteggio per ogni risposta corretta.
Quindi creiamo una variabile punti che inizializziamo a zero e che incrementiamo di 1 per ogni risposta corretta.
Inoltre puliamo la variabile simbolo in modo che appaia vuota prima che l’utente inserisca il simbolo:
Abbiamo sviluppato un semplicissimo programma per il confronto tra numeri, personalizzatelo come meglio credete.
Un numero si dice perfetto quando la somma dei suoi divisori propri è uguale al numero stesso. Per divisori propri si intende tutti i divisori tranne il numero stesso.
Alcuni esempi di numeri perfetti sono 6, 28, 496, 8128, ecc…
Infatti se consideriamo il numero 6 i divisori propri sono 1, 2 e 3. La somma di questi divisori è proprio 6.
Se consideriamo il numero 28 la somma dei divisori è 1+2+4+7+14=28.
Quindi in definitiva per risolvere l’algoritmo con Scratch basta trovare tutti i divisori di un numero e sommarli.
Innanzitutto scegliete uno sfondo a piacere. Dopo chiediamo all’utente di inserire un numero e lo memorizziamo in una variabile.
Adesso impostiamo la variabile divisore ad 1, cioè cominciamo a dividere per 1 il numero preso in input. Dopo impostiamo la variabile sommadivisori a 0.
Quindi inseriamo il ciclo ripeti fino a quando inserendo la condizione divisore>numero/2. Cioè continueremo a dividere il numero finché il divisore sarà uguale alla metà del numero. Infatti, dato che dobbiamo escludere come divisore il numero stesso e dato che è scontato che dividere un numero per valori maggiori della sua metà dà resto diverso da 0, possiamo fermarci alla sua metà.
Ad esempio se il numero preso in input è 6, il divisore si ferma a 3.
Quindi ecco il prossimo passaggio:
Adesso dobbiamo controllare se il resto della divisione di numero diviso divisore è uguale a zero. Se questa condizione è vera il divisore si somma alla variabile sommadivisori.
In ogni caso si incrementa il divisore di 1.
Quindi rimane da controllare se il numero è uguale a sommadivisori, se questa proprietà è verificata allora il numero è perfetto, altrimenti non lo è.