Debugging Mindstorms: (ri)leggere un classico

Seymour Papert delinea in Mindstorms la sua visione di bambini che usano i computer come strumenti per imparare. Il libro è ancora rilevante oggi come quando fu pubblicato quasi quarant’anni fa nel 1980. Per chi volesse (ri)leggere Mindstorms in originale, c’è una versione on-line resa disponibile dalla sua famiglia: mindstorms.media.mit.edu

Un tema centrale di Mindstorms è che le persone raramente capiscono qualcosa esattamente al primo tentativo. L’attività intellettuale non progredisce, come i logici e i progettisti dei programmi scolastici potrebbero volerci far credere, andando passo dopo passo da una verità chiaramente affermata e ben confermata alla successiva. Al contrario, la costante necessità di correzioni di rotta, che in questo libro chiamo “debugging”, è l’essenza dell’attività intellettuale. (Introduzione alla seconda edizione di Mindstorms)

Debugging è il termine con cui in informatica si designa l’attività di rimozione degli errori nei programmi. Per Papert “debugging” è un attività importante che ci porta ad apprezzare gli errori. Se facciamo un errore, bisogna studiare quello che è successo e capire cosa non ha funzionato per correggerlo. La scuola, invece, insegna che gli errori sono cattivi. Quindi non ci si sofferma a pensarci; piuttosto si cancellano le prove non riuscite, così da nascondere gli errori fatti.

[…] molti bambini sono frenati nel loro apprendimento perché hanno un modello di apprendimento in cui o hai “capito” o “hai sbagliato”. Ma quando si impara a programmare un computer non si riesce quasi mai a farlo bene la prima volta. Imparare a essere un programmatore esperto significa imparare a diventare molto abile nell’isolare e correggere gli errori, quelle parti che impediscono al programma di funzionare. La domanda da porsi sul programma non è se è giusto o sbagliato, ma se si può aggiustare. Se questo modo di guardare ai prodotti intellettuali fosse generalizzato al modo in cui la cultura più ampia pensa alla conoscenza e alla sua acquisizione, potremmo essere tutti meno intimiditi dalle nostre paure di “ essere in errore”. Questa potenziale influenza del computer nel cambiare la nostra nozione di una versione in bianco e nero dei nostri successi e fallimenti è un esempio di utilizzo del computer come “oggetto con cui pensare”. (Mindstorms capitolo 1: I computer e le culture del computer)

Ma ci sono errori in Mindstorms? Capita che nei libri ci siano degli errori (per esempio, quelli che poi finiscono negli “errata corrige”), in Mindstorma ce n’è uno in un programma (siamo alla terza edizione del libro e sinora è sfuggito all’editore). L’errore è a pagina 12 e 13 di Mindstorms, dove Papert presenta il disegno di una casa con la “tartaruga” ottenuto combinando un quadrato e un triangolo. Molti esempi di attività riportati nel libro derivano da esperienze fatte con i bambini anche anni prima. Il disegno di una casa e l’attività di debugging messa in atto sono descritte in un report del 1973 (Logo memo n.8, p. 55–57), ma per qualche motivo chi ha sviluppato i disegni di Mindstorms, dove la stessa attività e riportata, ha fatto un errore.

Se volete provare a cimentarvi con il debugging del programma per disegnare una casa potete fare un remix di questo progetto Scratch.

Se volessimo però trovare un altro tipo di errore, qualcosa che non funzioni nelle idee di Papert sostenute in Mindstorms, potremmo provare a esaminare la sua ipotesi di “apprendimento senza curriculum”. Papert, citando Piaget, si dice a favore di un apprendimento che avviene senza un insegnamento deliberato. Molti hanno interpretato questa sua affermazione come lasciare liberi i bambini di scoprire come usare Logo e la Tartaruga. Ora che la programmazione è di nuovo in auge, Mindstorms è citato come antesignano del pensiero computazionale e si torna a celebrare l’arte del debugging, si costruiscono corsi e si pubblicano libri sul come introdurre il “coding” nel curriculum. Papert avrebbe designato questo approccio come istruzionista.

“Insegnare senza curriculum” non significa, però, classi spontanee e libere o semplicemente “lasciare il bambino da solo”. Significa sostenere i bambini mentre costruiscono le loro strutture intellettuali con materiali tratti dalla cultura circostante. In questo modello, l’intervento educativo consiste nel cambiare la cultura, piantandovi nuovi elementi costruttivi ed eliminando quelli nocivi. Si tratta di un’impresa più ambiziosa dell’introduzione di un cambiamento curricolare, ma che è fattibile nelle condizioni che si stanno delineando. (Mindstorms capitolo 1: I computer e le culture del computer)

Papert era cosciente che non si può semplicemente rimuovere la scuola così come la conosciamo, bisogna sviluppare un alternativa per cambiare la cultura dell’educazione. In Mindstorms, Papert dedica l’ultimo capitolo del libro a delineare quest’alternativa usando come metafora le scuole di samba del carnevale di Rio.

Durante​ ​l’anno​ ​ogni​ ​scuola​ ​di​ ​samba​ ​sceglie​ ​il​ ​suo​ ​tema​ ​per​ ​il​ ​prossimo​ ​carnevale, vengono​ ​selezionate​ ​le​ ​stelle​ ​dello​ ​spettacolo,​ ​vengono​ ​scritti​ ​e​ ​riscritti​ ​i​ ​testi,​ ​si​ ​prepara la​ ​coreografia​ ​e​ ​si​ ​prova​ ​la​ ​danza.​ ​I​ ​membri​ ​della​ ​scuola​ ​variano​ ​in​ ​età​ ​da​ ​bambini​ ​a nonni,​ ​e​ ​in​ ​abilità​ ​da​ ​principiante​ ​a​ ​professionista.​ ​Ma​ ​ballano​ ​tutti​ ​insieme​ ​e,​ ​così facendo,​ ​ognuno​ ​impara​ ​e​ ​insegna​ ​mentre​ ​balla.​ ​[… ] La​ ​scuola​ ​di​ ​samba,​ ​anche se​ ​non​ ​”esportabile”​ ​in​ ​una​ ​cultura​ ​diversa,​ ​rappresenta​ ​un​ ​insieme​ ​di​ ​attributi​ ​che​ ​un ambiente​ ​di​ ​apprendimento​ ​dovrebbe​ ​e​ ​potrebbe​ ​avere.​ ​L’apprendimento​ ​non​ ​è separato​ ​dalla​ ​realtà.​ ​La​ ​scuola​ ​di​ ​samba​ ​ha​ ​uno​ ​scopo​ ​e​ ​l’apprendimento​ ​è​ ​integrato nella​ ​scuola​ ​a​ ​questo​ ​scopo.​ ​Il​ ​principiante​ ​non​ ​è​ ​separato​ ​dall’esperto​ ​e​ ​anche​ ​gli esperti​ ​stanno​ ​imparando. (Mindstorms capitolo 8: Immagini della società dell’apprendimento)

Un primo tentativo di realizzare questa visione di una scuola di samba tecnologica è la comunità di apprendimento on-line che è parte integrante dell’ambiente di programmazione Scratch.

Secondo Papert ci sono bug in Mindstorms. Per esempio, la promozione della programmazione strutturata.

Mindstorms ha indiscutibilmente un bug nel dare risalto alla programmazione strutturata come modello per pensare a pensare. Potrei dire, come attenuante, che di tanto in tanto faccio notare che questo è solo un modello e propongo persino di usarlo per definire modi di pensare “meno meccanici” per contrasto. Tuttavia, posso capire perché il libro sembra aver avuto per alcuni lettori l’effetto netto di rafforzare la tendenza a vedere il pensiero strutturato e analitico come sinonimo di buon pensiero che è insito nell’informatica, nella teoria dell’educazione, e in effetti nella stessa epistemologia tradizionale “canonica”. Un motivo potrebbe essere che sebbene Mindstorms proponga enfaticamente l’idea del “bricolage” come modello per la teorizzazione scientifica generale, questa idea arriva tardi nel libro e non è sviluppata come uno stile alternativo di programmazione; sono stato più esplicito su questo in scritti successivi, incluso, in particolare, il mio lavoro collaborativo con Sherry Turkle. (Introduzione alla seconda edizione di Mindstorms)

Una delle caratteristiche del lavoro di Papert è l’ascolto del punto di vista dei bambini. Logo è stato il primo linguaggio di programmazione progettato per i bambini. Quando Mindstorms fu scritto, poco ancora si sapeva di come i bambini si rapportassero a questo nuovo linguaggio. Un approccio da programmazione strutturata sembrava un buon punto di partenza, ma le ricerche successive hanno mostrato che questo non era l’approccio migliore per tutti. In una serie di studi, in collaborazione con Sherry Turkle, Papert scopre che i bambini e sopratutto le bambine preferiscono un altro stile di lavoro.

Non sono attratti dalla programmazione strutturata; il loro lavoro al computer è caratterizzato dal desiderio di giocare con gli elementi del programma, di muoverli quasi come se fossero elementi concreti — le parole in una frase, le note in una composizione musicale, gli elementi di un collage. Il bricoleur assomiglia al pittore che, tra una pennellata e l’altra, guarda la tela e solo dopo questa contemplazione decide cosa fare. Per i progettisti, gli errori sono passi falsi; per i bricoleur sono l’essenza di una navigazione per mezzo di correzioni a metà percorso. Per i pianificatori, un programma è uno strumento di controllo premeditato; i bricoleur hanno degli obiettivi, ma si propongono di realizzarli nello spirito di una collaborazione con la macchina. Per i progettisti, far funzionare un programma è come “recitare il proprio pezzo”, per i bricoleur è più simile a una conversazione che a un monologo. In cucina, questo sarebbe lo stile di chi non segue le ricette e prende invece una serie di decisioni a seconda dei gusti. Mentre la gerarchia e l’astrazione sono apprezzate dall’estetica del programmatore strutturato, i programmatori bricoleur preferiscono la negoziazione e la riorganizzazione dei materiali. (Turkle e Papert (1993), Stili e voci)

P.S. (ri)leggere Mindstorms — Per chi conosce l’inglese c’è la copia on-line di Mindstorms. In attesa di una nuova versione italiana (quella del 1984 è fuori stampa), ho inserito nel testo i link a una traduzione del capitolo 1 e 8.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store