Molti colleghi delle scuole secondarie che in questo periodo si sono avvicinati al coding mi hanno chiesto un “sostituto” di Scratch. In altri articoli ho già descritto le potenzialità di questo strumento e seppur ritengo che Scratch può comunque essere adattato a contesti (cicli) diversi, in questo breve articolo vi presento Blockly.
Ma cosa sono i Blockly Games?
I Blockly Games (si accede da qui) sono appunto una serie di giochi educativi (7 in tutto) creati da Google per insegnare la programmazione. Possono essere utilizzati sia dagli alunni che hanno già una buona esperienza con Scratch sia da chi parte da zero. Vediamoli meglio nel dettaglio:
Puzzle: utile per chi non ha esperienza con la programmazione a blocchi. Questo gioco introduce molto bene il concetto di “collegamento del blocco”. Come prima attività ci viene chiesto di attaccare per ciascun animale (blocco verde), la sua immagine, individuare il numero di gambe corretto, e fare un elenco dei suoi tratti distintivi. Potendo inoltre scegliere la lingua dal menù a tendina presente sulla destra, questo gioco (ma anche tutti gli altri) può essere utile anche come esercizio interdisciplinare.
Una volta collegati per ciascun animale (blocco verde) i blocchi richiesti, cliccando su “controlla le risposte” sarà possibile avere un feedback immediato e procedere al game successivo.
Labirinto (Maze): questo game è il mio preferito, lo utilizzo spesso con i ragazzi delle medie e delle superiori per parlare di coding. Prevede 10 livelli a difficoltà crescente e vi assicuro che gli ultimi sono veramente intriganti!. Il primo livello permette di prendere confidenza con la logica della programmazione a blocchi e ci guida nelle prime mosse. In questo modo sarà possibile procedere autonomamente nei livelli successivi del gioco. Grazie a questo game sarà possibile introdurre il concetto di ciclo e di condizione, argomenti importantissimi nel coding.
Cliccando su “esegui programma” si ha la possibilità di verificare la correttezza o meno dei comandi inseriti. La forza di Blockly sta nel presentare a fine livello il codice JavaScript appena inserito.
JavaScript è il linguaggio più utilizzato sul web per scrivere eventi dinamici. Senza saperlo, o meglio grazie all’interfaccia di programmazione a blocchi, in realtà i nostri alunni non stanno giocando (o meglio non solo!), stanno scrivendo vero e proprio codice, e questa schermata di riepilogo ne è la prova!. Soprattutto con i ragazzi più grandi sarà utile soffermarsi man mano su i comandi inseriti nel linguaggio JavaScript in modo da acquisire conoscenza tecniche sempre più dettagliate.
Come ho precedentemente detto, il game Labirinto prevede gli ultimi livelli abbastanza impegnativi, sarà comunque possibile procedere negli altri games previsti in Blockly anche se non si completano tutti i livelli del Labirinto.
Bird: se grazie al game Labirinto (Maze) siamo stati introdotti al concetto di condizione, in questo game per procedere saremo obbligati ad immergerci in flussi di condizioni sempre più complessi. Niente paura! Così come per il Labirinto, anche per Bird inizieremo il percorso grazie ai primi livelli guidati.
Così come per il Labirinto anche per Bird è possibile proseguire nei game contenuti in Blockly anche senza completare tutti i 10 livelli.
Turtle: approfondisce molto bene il concetto di ciclo (loop).
In altri articoli dedicati alle risorse inserite su code.org (nello specifico l’attività Artista e Minecraft) ho già spiegato cosa sono i cicli e il motivo della loro importanza.
In questo game i cicli vengono presentati appunto come sfide da superare per salire di livello 10 livelli in totale) e permettono ai nostri alunni di capirne le logiche intrinseche divertendosi.
Movie: questo game e i successivi due aprono la strada a concetti più specifici. Movie è un’introduzione alle equazioni matematiche. Grazie a questo game è possibile usare la matematica per animare un film che potrà poi essere pubblicato e reso pubblico su Reddit. Come vedete dall’immagine, anche Movie prevede dei livelli guidati in modo da prendere confidenza con le indicazioni richieste.
Già dal primo livello ci accorgiamo immediatamente che questo game richiede delle conoscenze matematiche ben specifiche.
Infatti come è possibile vedere dall’immagine, il piano cartesiano e le equazioni saranno indispensabili per farci superare i vari step.
Pond Tutor: questo game ci introduce finalmente alla vera e propria programmazione testuale. Se i nostri alunni avranno superato tutti i livelli di ciascun game presenti in Blockly allora saranno pronti per Pond Tutor (e successivamente per Pond).
Nel primo livello abbiamo ancora il codice a blocchi, superandolo però già dal secondo livello, ci verrà richiesto di inserire una vera e propria stringa di comando testuale.
Di volta in volta superando i vari livelli ci verrà mostrata un’alternanza tra programmazione a blocchi e comandi testuali.
Pond: siamo giunti all’ultimo game presenti in Blockly. Più che un game esso può essere definito come una sfida a tempo indeterminato per programmare l’anatra più intelligente dello stagno.
In questo game, abbiamo la possibilità di utilizzare il codice a blocchi o sperimentarci nel JavaScript. Indipendentemente dalla modalità di scrittura del codice (che abbiamo visto è indifferente nel risultato poiché identico) qui ci viene data la possibilità di creare un game contenente tutte le caratteristiche che contraddistinguono un buon gioco (un contatore di punteggio, un avversario, un obiettivo, etc…).
Come abbiamo visto Blockly è veramente un ottimo strumento per portare il coding nelle secondarie proponendolo anche a quei ragazzi che non hanno mai utilizzato Scratch.