← Tutte le novità
Rubrica

Le regole della casa e cosa c'entrano con l'imparare a programmare

Nyaice! Code è un gioco da tavolo in cui si tirano cinque dadi di programmazione, si combinano le facce in un «programma» e si guida il gatto fino al Pesce Dorato. Loop, jump, debug, meta, shift: ogni dado prende il nome da un’idea della programmazione.

Ma il vero meccanismo che abbiamo messo in questo gioco non sta dentro i dadi. Sta nel fatto che chi gioca può riscrivere le regole.

Consegnare le regole invece di imporle

Il regolamento dice, in sostanza:

Nyaice! Code vuole essere un gioco da tavolo in cui si senta cosa c’è di divertente nel programmare. Aggiungere una regola può renderlo più avvincente, oppure creare ogni sorta di difetto finché il gioco non funziona più. Come renderlo allora più interessante e tenerlo insieme? Provate a scrivere regole e scopritelo.

Non è solo un invito a giocare come vi pare. Creare una regola della casa è progettato per essere un’esperienza di programmazione essenziale.

Scrivere una regola della casa somiglia molto a scrivere codice

Vi viene in mente una regola nuova e la aggiungete al gioco. È sorprendentemente simile ad aggiungere una riga a un programma.

Cosa succede nel giocoCosa succede nella programmazione
Scrivete una regola della casaScrivete codice
Due regole si contraddiconoCompare un bug
L’equilibrio saltaDiventa lento o scomodo da usare
Rimettete in ordine le regoleRefactoring e debugging

Un bug non è un fallimento. È un indizio sulla progettazione

Diciamo che aggiungete una regola: se un dado esce vuoto, si ritira. Sembra sensato. Poi giocate davvero e trovate una situazione in cui il turno semplicemente non finisce mai.

Quello è un bug, nel pieno senso della parola. E trovarlo significa che avete visto esattamente dove il sistema di regole è sotto tensione. Non è un fallimento: è ciò che vi dice cosa fare dopo.

Ripararlo è il modo in cui si impara a progettare

Trovata una contraddizione? Aggiungete una condizione. L’equilibrio scivola? Spostate un numero. Rimettere in ordine le regole poco a poco ha la stessa forma di pensiero del refactoring e del debugging che chi programma pratica ogni giorno.

Creare una regola, vederla rompersi, ripararla: percorrete questo ciclo qualche volta con le vostre mani e finirete con una visione dell’intero sistema. È un gradino sopra il livello istruzione per istruzione del pensiero computazionale: è progettazione.

Sul lasciare spazio

Non vogliamo fare giochi che vengono semplicemente consegnati, finiti. Vogliamo lasciare spazio perché chi gioca entri e si metta dove sta chi progetta.

Lo spazio per le regole della casa è uno di questi. Chi stava giocando si ritrova a progettare. Si scontra con un bug, capisce come sistemarlo e dà un nome alla propria regola. Dentro quell’esperienza c’è, in silenzio e senza mai definirsi materiale didattico, ciò che l’educazione alla programmazione cercava davvero di trasmettere.

Divertimento vero. Pensiero vero. Le regole della casa sono un piccolo pezzo di progettazione, ma forse sono il posto in cui quell’idea si mostra più chiaramente.