Home
Java e Minecraft: programmare… a blocchi

24 Gennaio 2017

Java e Minecraft: programmare… a blocchi

di

Sembrava un passatempo ed è diventato uno, anzi, mille universi, con ricadute impensabili in fatto di creatività e apprendimento.

Abbiamo parlato più volte di quanto sia proteiforme Minecraft. Sembra un gioco di cubi da impilare e nascono calcolatrici scientifiche, stampanti virtuali, carte geografiche 3D, interpreti BASIC e continenti immaginari.

Si vende in decine di milioni di copie ed è accessibile su qualsiasi piattaforma, a tutte le età: così è interessante anche per insegnare a programmare, magari in Java, tema al quale abbiamo dedicato un libro, Imparare a programmare in Java con Minecraft. Abbiamo intervistato Michele di Paola, formatore in Italie e in Europa (tramite il programma europeo Erasmus+) e animatore dei corsi del CampusLaCamilla per capire meglio come si possa passare dal gioco alla programmazione per tutti in poche semplici mosse.

Apogeonline: Ci spieghi meglio questa faccenda di bimbi messi a programmare in un linguaggio da professionisti attorno a un gioco di cubi da mettere uno sull’altro?

Michele Di Paola: Minecraft è il Lego dei nostri tempi; è uno dei giochi più giocati e più di richiamo tra i ragazzini oggi. Sul tema esistono libri, pupazzi, peluche e la stessa Lego ha inaugurato una serie di personaggi e set in tema. Il gioco consiste nell’esplorazione di un mondo tridimensionale a blocchi, in cui è possibile scavare (mine) e ottenere materiale da costruzione, per poi appunto aggiungere a quel mondo quel che si vuole (il proprio castello, la propria casa, una astronave eccetera) o per combinare i blocchi ottenuti a creare (craft) attrezzi ed equipaggiamento per una migliore esplorazione e sopravvivenza, contro le tante creature (anche ostili) che si possono incontrare. Le possibilità sono infinite e la creatività è l’unico limite. Per questo, anche se il gioco ha qualche anno e la grafica non è certo all’ultimo grido, continua tuttora ad attirare così tanto l’attenzione e l’interesse dei ragazzi.

Minecraft è stato scritto dai suoi autori, gli svedesi della casa di software Mojang (che poi ha venduto a Microsoft), in Java: uno dei linguaggi di programmazione più versatili e potenti al mondo, usato praticamente dovunque, da cellulari o frigoriferi ai server di banche o sistemi informatici giganteschi. Il succo della faccenda insomma è che conoscendo un po’ di Java, si può metter le mani negli ingranaggi del gioco preferito e personalizzarlo. Può interessare? 🙂

Ok, quindi ci muoviamo nell’ambito del coding. Molti genitori sono entusiasti di questi sviluppi, ma altri sono perplessi, preoccupati o comunque dubbiosi. Come li rassereniamo?

Con molta calma, evitando di attribuire alle attività di coding poteri salvifici che non possono avere e anche una infinita lista di colpe e di responsabilità negative che ugualmente, essendo semplici strumenti, non possono avere. Ma soprattutto con qualche semplice paragone con il mondo predigitale, cosa che proprio i genitori possono fare.

Dal Trono di spade a Minecraft

I luoghi del Trono di spade sono stati ricostruiti in Minecraft, mattone su mattone.

 

Smontare, aprire, modificare (mi sto trattenendo, per evitare di dire hackerare…) i propri giocattoli preferiti non è sempre stato il passatempo dei bambini di ogni periodo storico?

Da genitori, e da persone con vari background in ambito educativo, capiamo e in parte condividiamo la preoccupazione per la molta fruizione passiva delle tecnologie da parte dei ragazzi. Ma il nostro lavoro a CampusLaCamilla in fondo è proprio dimostrare che la tecnologia si può fruire anche in altri modi, riportandola a quel che è: un diverso tipo di giocattolo che possiamo smontare, aprire, modificare per applicarci la nostra creatività e trasformarla in qualcosa di personale, fatto-con-le proprie-mani, anche se in ambito digitale.

Apogeo ha effettivamente in catalogo Imparare a programmare in Java con Minecraft, diretto a lettori dai nove ai novantanove anni. L’idea di corsi può essere ulteriormente di aiuto. Come si articola la vostra proposta?

In sostanza, non teniamo un corso di Java: teniamo un corso per consentire a ragazzi appassionati di Minecraft di utilizzare un server di gioco modificato, in cui inserire plugin Java che aggiungono comandi e funzioni (anche molto… scenografiche) al loro gioco preferito per renderlo ancora più divertente.

Imparare a programmare in Java con Minecraft

Il Lego dei tempi digitali avvicina ragazzi e ragazze al coding.

 

Il corso è stato finora proposto in due diverse formule: quattro puntate da quattro ore, ogni sabato pomeriggio, oppure cinque mattinate da tre ore durante le nostre settimane estive, dal lunedì al venerdi (in questo caso i pomeriggi sono poi dedicati al gioco all’aria aperta). I partecipanti sono mediamente nella fascia d’eta delle scuole medie, anche se a volte si aggiunge qualche “piccolo” che vuole partecipare a tutti i costi.

Investiamo molto sulle nostre metodologie, quelle che in Europa chiamano di educazione non formale: accompagnare i partecipanti a fare esperienze dirette, provare, sbagliare e riprovare, e riconoscere insieme il loro apprendimento riflettendo poi su quanto si è fatto.

Accanto a questo corso, abbiamo sviluppato altre proposte ambientate dentro Minecraft. Una è sempre collegata al coding ma rivolta ai più piccoli, attraverso un sistema che riprende alcuni elementi di programmazione a blocchi resi famosi da ambienti come Scratch del MIT e li incrocia con una versione Minecraft delle tartarughe del nostro mito ispiratore, Seymour Papert; altre permettono di approfondire altri aspetti della creatività digitale, da modellazione 3D e CAD a digital storytelling, sempre con l’intento di personalizzare e rendere unica e soprattutto fatta in casa l’esperienza di gioco Minecraft dei partecipanti.

Minas Tirith in Minecraft

Dal Signore degli Anelli a Minecraft: la fortezza di Minas Tirith, in vista frontale.

 

Che cosa promettete ai partecipanti di un corso di questo tipo? Che cosa vi aspettate, e che cosa ottenete? Che succede quando si espongono in modo giocoso bambini a tematiche di programmazione che hanno anche una loro complessità?

Siamo ben consapevoli che Java è un argomento enorme e questo corso può esserne solo un assaggio. Né più ne meno, è quello che promettiamo: la possibilità di assaggiare, di avvicinarsi a un vero linguaggio di programmazione, apprendendone elementi di sintassi e di struttura in maniera semplificata, realizzando qualcosa di divertente insieme e soprattutto arrivando a capire che dietro a quasi tutto quello con cui i ragazzi hanno a che fare oggi ci sono linee di codice scritte da qualcuno.

È una bella sfida trovare sistemi, parole, esempi per rendere comprensibili i concetti più ostici. Alcuni argomenti, come la programmazione per oggetti, sono complicati per i più piccoli, quindi proviamo a offrire diversi livelli di ingaggio, per soddisfare sia chi vuole semplicemente far vedere agli amici le frecce esplosive che si è costruito e che possono far crollare una montagna dentro Minecraft, sia chi invece vuole capire fino in fondo cosa c’è dietro. Alla fine quel che succede, quel che davvero ci importa che succeda, è che tutti si rendono conto di cosa c’è sotto al cofano del loro gioco, e di quanto ancora si potrebbe spingere avanti la personalizzazione e la modifica della loro esperienza di giocatori.

Java è un linguaggio universale, diffuso su tutte le piattaforme desktop, continuamente aggiornato. Qualcuno però potrebbe criticare la scelta in quanto un po’ lontana dalle piattaforme mobile, che rappresentano presumibilmente una buona fetta di futuro. Non c’è il rischio di introdurre bambini alla programmazione attraverso strumenti che domani risulteranno obsoleti o poco utili?

A parte che, se si sviluppa per Android, con Java bisogna fare i conti eccome, noi per chi vuole stare sul mobile abbiamo altre proposte. Ma a costo di essere un po’ brusco, svelerò un segreto: non ci interessa promuovere la programmazione, né tantomeno un certo linguaggio di programmazione. Programmare per noi è un mezzo, non un fine. Un mezzo che ti insegna come pensare (ma questo l’aveva già detto la buonanima di Steve Jobs in tempi non sospetti…), un mezzo che ti fa capire come dietro a ogni dispositivo ci siano scelte, potenzialità e limitazioni che qualcuno ha ideato e ha deciso per te. Un mezzo per rimettere in mano a bambini e ragazzini la loro creatività, in un mondo in cui gli strumenti per esercitarla non sono decisamente più solo fogli, pennarelli e plastilina.

Partecipanti al camp all'aperto

La mattina si gioca/programma in Minecraft, ma il pomeriggio si sta all’aperto.

 

Faccio un esempio: la musica ha effetto su tutti, chi va a correre con le cuffiette, chi in garage fa il punk con la chitarra distorta, chi mette in loop suoni e campionamenti al computer, l’orchestrale della Scala, il direttore d’orchestra. Non è obbligatorio essere direttori d’orchestra, per amare la musica e goderne. E nemmeno per farla!

Che cosa vi ha sorpreso maggiormente nell’accoglienza ricevuta dalle vostre proposte? Che direzioni di sviluppo avete per arrivare a un’offerta ancora più centrata e capace di produrre buoni risultati per tutte le parti in gioco?

Abbiamo visto che i bambini vogliono crescere e far crescere le loro competenze con noi, continuando a darci fiducia: questo ci dà la carica e ci fa sentire anche una bella responsabilità nei loro confronti. Abbiamo partecipanti che hanno cominciato con noi mentre erano alle elementari, quando abbiamo iniziato a fare corsi di creatività digitale che mescolavano Scratch e Lego WeDo… e adesso sono adolescenti, con gli inevitabili brufoli e la voce cambiata, e partecipano ai corsi su e dentro Minecraft.

Per quanto riguarda gli sviluppi, con l’introduzione del coding nei programmi scolastici abbiamo deciso di abbandonare sistemi come Scratch, che ormai viene usato sempre più massicciamente a scuola, anche se non sempre nel modo migliore, e concentrarci… sui videogame. I giochi sono ancora troppo poco valorizzati, sia come strumenti di apprendimento, sia come prodotto da realizzare tramite la programmazione, sia come ambito dentro al quale vogliamo realizzare sempre più attività.

pygame

Si può imparare giocando e giocare programmando anche in Python, con pygame.

Oltre a questo corso con Java abbiamo almeno altre due proposte all’interno di Minecraft, come dicevo: poi c’è Unity, che è un ambiente di sviluppo professionale e cross platform per giochi veri; stiamo sperimentando (e questa è un’anteprima!) l’ambiente pygame per quanto riguarda Python… non dimentichiamo la nostra anima maker proponendo anche percorsi con Lego Ev3, Raspberry Pi e Arduino, sempre però applicati al gioco, quindi costruendo robot o strumenti simili.

Vi siete già confrontati con il mondo della scuola per portare le vostre proposte nelle classi e nei laboratori?

L’introduzione di coding e robotica nei programmi scolastici da un lato ha fatto aumentare l’interesse nei confronti delle nostre proposte (e anche la concorrenza, fino a due anni fa praticamente inesistente…), mentre dall’altro temiamo stia un po’ appiattendo i contenuti: anche per questo abbiamo deciso di superare definitivamente Scratch. Da due anni sperimentiamo con i più piccoli, alla scuola primaria, attività che stanno a cavallo tra la programmazione e il digital storytelling, in questo caso su tablet, ma per il resto preferiamo concentrarci sulla formazione degli insegnanti, provando anche con loro a mostrare la forza del gioco come ambito in cui sperimentare, sbagliare, imparare insieme.

Un bambino impegnato a lavorare con Java in funzione di Minecraft, che skill sviluppa? A parte la padronanza dei rudimenti di Java e di Minecraft, intendiamo?

Prima di tutto, teniamo molto alle tante competenze trasversali che possono essere potenziate da un corso come questo, e i metodi che utilizziamo puntano proprio a svilupparle. Si lavora sempre in gruppo, si impara a gestire il tempo e a stare nei tempi, a confrontarsi su idee e proposte diverse per poi costruire un progetto insieme. Inoltre chi scrive codice deve prima fare un lavoro di analisi, imparare a ridurre le questioni in passaggi sempre più piccoli da risolvere poi uno ad uno, e imparare, soprattutto con Java, a fare i conti con una certa attenzione alla forma, alla sintassi, a regole a cui attenersi pena la non riuscita di tutto quel che si è fatto.

Programmazione in Minecraft

Dal gioco alla programmazione il passo può essere breve, e divertente.

 

Questa è un’altra abilità secondo noi centrale: chi partecipa ai nostri corsi impara a sbagliare, e impara che… sbagliando si impara! Questa è forse la nostra più grande distanza dall’approccio scolastico: teniamo a far capire a chi partecipa che sbagliare è un modo per restringere il campo delle possibilità, per avere indicazioni utili, per trovare la strada.

Amplierete l’offerta ad altri linguaggi e ambiti, o approfondirete quella esistente? In base a che considerazioni?

Non è tanto una questione di linguaggi quanto di ambiti, e abbiamo scelto di approfondire quello dei videogiochi. Il pensiero che c’è dietro è che intanto… siamo tutti felici videogiocatori, e non siamo cresciuti disturbati né maniaci né sociopatici (almeno credo…). Il videogioco ormai è una forma di espressione contemporanea, se non d’arte (ma c’è differenza?). Personalmente lavoro con i videogiochi anche in altri campi formativi, ad esempio con gli educatori e gli animatori giovanili a livello europeo, e mi colpisce sempre vedere quanta distanza c’è tra adulti e videogiochi, compresi gli adulti che per inclinazione o professione dovrebbero stare più vicini ai ragazzi. Usare i videogiochi è quindi una piccola rivincita, ma anche un potentissimo aggancio che secondo noi rimette le cose nella giusta prospettiva: la programmazione è un mezzo e il fine è poter applicare la propria creatività e fantasia anche al digitale.

Esiste qualche pagina dove possiamo vedere i lavori realizzati dai bambini, per farci un’idea del tutto? O ci si arriva magari tramite il possesso di una copia di Minecraft?

I partecipanti si portano a casa le loro creazioni. Questo fa parte del gioco, quindi i risultati non sono esattamente accessibili… anzi, è un buon suggerimento. Nel frattempo, potete curiosare sui nostri profili social e qualche foto si può intercettare.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.