Digi Tales

Sotto il vestito, il codice

Ott
28

Digitale ovunque. Nella scuola, nel lavoro, nel divertimento.

Digitale come servizio, come risorsa a disposizione di tutti, appena girato l’angolo di Google.

Tempo fa1 scrivevo che ci sono tre miti che circolano sulla rete:

  • 1) che sia un ambiente naturale,
  • 2) che le risorse che offre sono gratuite e
  • 3) che siano infinite.

Un supermercato infinito, con scaffali pieni di ogni ben di dio, senza nessuno alla cassa. Tanta formazione alla “didattica digitale” si poggia proprio su questi miti: ecco qui un sito per fare i cruciverba, ecco una app per i quiz, ecco una collezione di sfondi animati.

C’è ancora chi proprio non riesce ad adeguarsi al flusso mainstream e si domanda: cosa rende possibile tutto questo? Facile: i computer, prima di tutto, poi i cavi e i satelliti, senz’altro. Ma cos’altro c’è, sotto la superficie?

In un primo senso, sotto ci sono interessi, soldi, potere, che governano questo come altri campi, con buona pace di chi vede solo futuri rosei in cui intelligenze artificiali e persone andranno a braccetto. Non è grazie all’amore della condivisione della conoscenza che possiamo fare ricerche, scambiarci email, tradurre, condividere agende, parlarci a distanza senza spendere un euro. Ed è curioso che quasi nessuno – in un mondo così attento al profitto, alla conquista di ogni possibile mercato – metta in questione tutta quest’abbondanza di risorse gratuite; non solo quelle create e condivise da docenti-artigiani di buona volontà, ma anche quelle che richiedono enormi centri di calcolo solo per essere distribuite. Cosa ottengono le grandi imprese in cambio di questi servizi gratuiti? Da dove traggono le risorse economiche per restare in piedi? Per quanto tempo questi servizi resteranno gratuiti?

In un altro senso, sotto tutti questi servizi c’è il codice sorgente: un testo che fa funzionare i computer, raccoglie e trasforma dati, inventa mondi e connette persone. Anche oggi, nell’era delle interfacce ammiccanti, dei podcast, dei videotutorial, quello che c’è sotto è sempre un testo. Proprio così: solo lettere, numeri e segni di interpunzione, perché è di questo che sono fatti tutti i programmi che fanno girare il mondo, dagli smartphone ai satelliti. E questo non è tanto strano in una cultura in cui il paradigma dominante è ancora il libro scritto.

Oggi, molto più di ieri, siamo letteralmente (!) immersi in un mondo di testi. Solo che non lo sappiamo, o non vogliamo saperlo. La superficie è molto più rassicurante. Secoli di divisioni tra tecnica e umanesimo, tra estetica ed etica ci hanno abituato a disinteressarci di quello che c’è sotto il cofano della macchina. Il design dei dispositivi che ci rendono possibile lo stile di vita occidentale punta a nascondere sotto superfici lisce, morbide, dai colori tenui, tutto quello che potrebbe disturbarci perché ci ricorda che non lo capiamo.

Perché questi testi che governano il nostro mondo sono incomprensibili per il 99,6% della popolazione mondiale (oggi ci sono circa trenta milioni di programmatori nel mondo, che su 8 miliardi di abitanti del pianeta circa fa appunto lo 0,4 %). Questi trenta milioni sono gli unici esseri umani in grado di verificare (leggendolo) cosa fa un programma. Se, per ipotesi, venissero tutti sostituiti da software in grado di programmare al loro posto,2 avremmo un mondo perfetto di cui non saremmo più in grado di riprendere il controllo. Questo secondo senso si incastra perfettamente col primo: se otteniamo tutto quello che ci serve gratis, non c’è più bisogno di capire come funziona.

Ma sapere cosa davvero c’è sotto è importante anche per avere una conoscenza di una parte di attività umana che ci sfugge. Il codice sorgente non è fatto di 0 e di 1, come ancora si legge da qualche parte; magari sottintendendo che siccome usano un codice binario i computer possono scegliere solo tra due cose, bianco e nero, senza capire le sottigliezze, le sfumature: insomma sono stupidi. Sarebbe come dire che la lingua italiana è composta solo da una trentina di suoni e quindi non può esprimere più di trenta concetti. 0 e 1 sono le lettere di un alfabeto, con il quale si compongono parole, frasi, testi e intere biblioteche. Non è vero che computer capiscono solo 0 e 1: non li capiscono affatto. Invece capiscono istruzioni complesse, descrizioni di situazioni, condizioni, specifiche di azioni, purché appartenenti ad uno degli ottomila linguaggi di programmazione oggi esistenti e purché rappresentate con l’alfabeto più semplice possibile: quello appunto a due simboli. Sotto sotto il punto importante non è l’esistenza di due soli simboli, ma che i computer usino una logica a due valori per eseguire un algoritmo semplice come: “se questo valore è maggiore di 37 fai questo, altrimenti fai quest’altro” o uno più complesso, come quello che riconosce un viso. Qui però i computer digitali c’entrano poco: anche i primi computer, che erano analogici, si basavano sulla cosiddetta algebra di Boole (1847), che ha solo due valori. Dietro all’idea di effettuare un calcolo per decidere la verità di una proposizione c’è il neopositivismo, le tavole di verità del primo Wittgenstein, e poi indietro Leibniz, e poi Ramon Llull, e indietro “Sic et non” di Abelardo, e ancora prima le Confutazioni Sofistiche di Aristotele, fino alla dicotomia di Parmenide tra l’Essere e il non Essere. E il fatto che usino una logica a due valori non impedisce affatto ai software di produrre risultati con un grado di certezza limitato o valutazioni probabilistiche.

Quando oggi gli esseri umani scrivono il codice sorgente di un programma non usano 0 e 1, né quelle strane parolette incomprensibili (MOV, PTR, JMP) che sono solo delle etichette più facili da ricordare per ordinare al processore di spostare dati da un registro all’altro. I linguaggi che si usano oggi sono flessibili, complessi. Permettono di scrivere regole e fatti, di definire funzioni, di costruire classi di oggetti che ereditano conoscenze. Non sono nemmeno tutti ispirati all’inglese, come ancora qualcuno crede: ci sono linguaggi basati sul francese, sul finnico, sull’arabo, sul cinese.

I linguaggi di programmazione vengono inventati continuamente, a differenza delle lingue naturali. Spesso un linguaggio viene inventato per fornire ai programmatori uno strumento più veloce e pratico, o più flessibile e potente; a volte per fornirne uno più elegante e piacevole. Perché i linguaggi sono creati da esseri umani per altri esseri umani, non per i computer. Tant’è che ci sono linguaggi inventati per gioco, per divertimento, per mostrare quanto si è intelligenti e sfidare gli altri, ed hanno nomi come Malebolge, Shakespeare, LOLCAT, Chef o Cow. Questa classe di linguaggi, detti pomposamente “esoterici”, sono praticamente inutili, ma svolgono una funzione puramente estetica, alla faccia di chi sostiene che l’informatica è una tecnica senz’anima. L’esistenza di questi linguaggi dice anche molto sul fatto che gli esseri umani riescono a divertirsi anche facendo le cose più serie, e non resistono a prendersi in giro da soli.

Anche i codici sorgenti non sfuggono a questa legge: i testi dei programmi non sempre sono “algoritmi codificati in un linguaggio per risolvere un problema”, come vorrebbero i manuali. Ci sono programmi che non risolvono nulla, ma sono opere d’arte, scherzi, poesie. Sì, poesie: perché l’estetica si infila in ogni attività umana, in particolare quando si mette di mezzo un linguaggio.

Certo viene la curiosità, soprattutto per una scuola che ospita iniziative di Coding e che propone l’apprendimento del pensiero computazionale per preparare le generazioni future di programmatori (o almeno così pensa): ma chi sono allora questi programmatori? Sono sacerdoti della Macchina Divina che si aggirano in camice bianco? Sono hacker quindicenni e brufolosi che scatenano guerre nucleari spiattellando i segreti della CIA? Sono nerd bianchi etero che vivono solo per schiacciare tutti gli altri con la forza della loro conoscenza ultra-specialistica? Questi sono i luoghi comuni che costituiscono il nostro immaginario collettivo e che provengono dal cinema e dalla letteratura di fantascienza. Ma i programmatori sono anche altro: sono ragazzini e vecchietti, cinesi e russi, donne (poche, purtroppo) e altri generi, geni e principianti, creativi e precisini. Scrivono in maniera diversa, anche per ottenere lo stesso risultato, in base alla loro storia, alla loro lingua madre, alle preferenze stilistiche, alla fase della loro vita. Esattamente come ciascuno di noi scrive diversamente un messaggio d’amore e una velenosa lettera all’amministratore di condominio.

Il fatto è che ancora se ne sa poco: è un campo che non è studiato allo stesso modo, poniamo, di quello della letteratura tradizionale. Non esiste una “sociolinguistica” del codice sorgente.

Di tutti questi temi si è occupato CodeFest 2021, il festival online che si è svolto tra il 27 Settembre e l’8 ottobre 2021. Un Festival unico al mondo, organizzato insieme dall’Università di Torino e dall’associazione Codexpo.org. Riflessioni, concerti, spettacoli, laboratori in cui si affrontano l’estetica digitale, la conservazione del patrimonio, le sfide sociali, le infinite possibilità della scrittura. Tutto per cercare di sfatare il mito della programmazione come roba da macchine, per cercare di raccontare un’altra avventura dell’umanità alla ricerca della perfezione.

Altre informazioni, ma pure le registrazioni degli eventi, le potete trovare su https://codexpo2021.lynxlab.com .

1Le tre fallacie della rete, in “Una scuola per la cittadinanza. Volume 2: Gli orizzonti di senso”, a cura di Mario Ambel. PM Edizioni, 2020, pagg. 178-184.

2Come provo a raccontare in La fine della formazione, https://www.stefanopenge.it/wp/?p=912

Strumenti digitali usati analogicamente

Set
05

Mi sono reso conto improvvisamente (eh sì) che la mia maniera di pensare la “didattica digitale” è spesso lontana da quella di molti che in teoria dovrebbero essere dalla mia stessa parte, la parte di quelli che studiano, sperimentano e propongono agli altri attraverso corsi, libri, seminari e sogni vari. Ci troviamo vicini, ci salutiamo cortesemente, sembra che vogliamo camminare nella stessa direzione, poi improvvisamente c’è un’interruzione di questa comunità di intenti. Forse ho capito perché.

Gli strumenti digitali sono tanti, diversi, e si possono usare in tanti modi diversi. Già per questo parlare di “innovatività del digitale”, o di “didattica digitale” è un po’ generico e ingenuo. Certi strumenti digitali si possono usare per creare strutture nuove, o per replicare modelli esistenti. Si possono usare in maniera ingenua, come se fossero funzioni naturali, date ad Adamo una volta per tutte; oppure si possono esaminare, scegliere, usare magari lo stesso ma sapendo chi li ha costruite e perché.
Soprattutto, si possono usare strumenti digitali come se fossero analogici, all’interno di strutture di pensiero tradizionali; oppure capire come funzionano e sfruttarne le caratteristiche più proprie.
Detto in altro modo: ci sono tante dimensioni lungo le quali si può immaginare e valutare l’uso degli strumenti digitali:

  • consapevole/ingenuo
  • creativo/fedele al modello
  • individuale/collettivo
  • fruitivo/produttivo

    ma quella fondamentale per me resta:
  • digitale/analogico

Dimensione paradossale, in cui il termine che sembra lapalissiano (“uso digitale di uno strumento digitale”) è in realtà la descrizione di un uso del digitale consapevole delle differenze e delle opportunità che offre rispetto al corrispondente analogico; mentre il contrario, cioè “l’uso analogico del digitale” è la descrizione di un uso veloce, superficiale, attento agli obbiettivi immediati, quelli che si possono definire a priori, indipendentemente dalle tecnologie scelte e usate.

Anni fa avevo provato a descrivere alcune delle caratteristiche del digitale. Sbagliando, credevo di parlare del “digitale in sé”, mentre stavo parlando proprio di questa differenza.
Scrivevo che il digitale è inerentemente flessibile, plurale, virtuale, omogeneo. Ognuno di questi aggettivi era un modo di descrivere delle operazioni possibili sugli oggetti digitali e non sui corrispettivi analogici: modificare all’infinito, modificare a più mani, tradurre e reinterpretare da un campo mediale all’altro, eccetera. Queste possibilità derivavano sia dal fatto che alla base c’erano bit, cioè forma e non materia, sia dal fatto che i dispositivi digitali si possono programmare per fare cose non previste, non contenute nell’orizzonte presente.

(La parte seguente può essere saltata da chi si è già interessato alla storia dei media e ha già riflettuto recentemente su questi temi, cioè immagino tutti. In questo caso, può saltare direttamente a leggere la Conclusione ).


1. Gli strumenti digitali nascono per la quasi totalità come rimediazioni di quelli analogici, come scrivono Bolter e Grusin, in un processo che non è una sostituzione netta, e in cui non è subito ovvio se e quando il doppio digitale prenderà il posto di quello analogico.
La coppia pc-wordprocessor, ad esempio, è una versione digitale della macchina da scrivere. Serve a fare le stesse cose, ma inizialmente costa anche di più, è più difficile da usare, richiede un apprendimento specifico; però presenta dei vantaggi: carta infinita, cambio di font, dimensioni variabili eccetera eccetera. Talmente vantaggi che le macchine da scrivere oggi sono scomparse.

Gli orologi analogici invece no, almeno quelli di altissima gamma. Come le carrozze a cavalli sono quasi scomparse, tranne per i matrimoni e per fare il giro del Colosseo. La versione digitale costa poco ed è per tutti, quella analogica per pochi. Potrebbe essere il destino dell’educazione analoagica (umana o cartacea), quella di essere riservata ai ricchi; ma passiamo oltre.
A volte sono quasi indistinguibili, come nel caso delle macchine fotografiche reflex o delle videocamere. Una reflex digitale assomiglia fisicamente ad una analogica, anche se pesa un po’ meno, e fa esattamente la stessa cosa. Solo che non ha bisogno di pellicola, perché la luce viene tradotta in bit prima di essere registrata su una scheda a stato solido, ma questo è del tutto trasparente per l’utente, il quale francamente se ne infischia.
All’estremo opposto, alcuni strumenti digitali sono apparentemente molto diversi da quelli analogici che intendono sostituire; o meglio, fanno astrazione dalla materia e dal corpo (che poi è proprio quello che fa meglio il digitale: rende generico l’hardware). Hanno in comune con quelli analogici solo l’interfaccia, il modello d’uso e lo scopo: un software di editing video assomiglia ad una centralina video ma è un software che gira in un PC qualsiasi, non ha bisogno di un macchina specializzata, non occupa spazio e si può aggiornare facilmente. Costa quasi lo stesso, è vero, ma si può copiare o accontentarsi della versione “open”.

In tutti questi casi, chi ha utilizzato prima gli strumenti analogici e poi quelli digitali ha (o meglio potrebbe avere) la percezione delle differenze, dei minus (“Ah, la qualità degli amplificatori a valvole…”) e dei plus (“Uh che sbadato! Va beh, Ctrl-Z”) che derivano dal fatto che i dati vengono creati filtrando e numerizzando segnali, e che una volta costituiti in forma digitale possono essere trasformati, copiati, inviati all’infinito, senza nessuna perdita. I più anziani, fortunati, o ricchi, possono permettersi di scegliere tra la versione analogica e quella digitale. In ogni caso, per quel poco o tanto di tecnica che conoscono, sanno che dentro il corpo macchina ci sono cose molto diverse.

Chi ha usato solo gli strumenti digitali invece li considera semplicemente gli strumenti disponibili oggi per ottenere certi risultati. Non confronta con nulla, non conosce la storia, non riconosce nel nuovo il vecchio – non sa perché sulle tastiere dei PC esiste un tasto per bloccare il maiuscolo che però non funziona con i tasti che presentano numeri e simboli insieme. Niente di male, intendiamoci: non bisogna per forza aver scritto con una penna d’oca per apprezzare le qualità della Bic. Ma per loro la Bic è lo strumento della scrittura, e non ce ne sono né possono essere altri. Soprattutto, non fanno attenzione al processo sottostante, non sono interessati al funzionamento.

2. C’è una seconda classe di strumenti, che nascono come doppi digitali di uno strumento analogico ma poi si trasformano in altro. E’ il caso del telefono, per spiegare l’evoluzione del quale non c’è bisogno di tante parole. In questo caso, una volta raggiunto l’obiettivo di simulare il comportamento dello strumento target (il telefono analogico) ci si è trovati tra le mani un oggetto talmente potente da poter essere usato come di altre pratiche (fare fotografie, registrare audio) e come terminale di servizi internet (navigare nel web, comunicare). Questo doppio o triplo uso per un certo periodo lascia interdetti gli utenti più vecchi, che continuano a usare uno smartphone come un telefono, mentre è perfettamente compreso dai nuovi utenti, che a limite non lo usano mai per telefonare, ma che importa? Non è un caso: è che essendo l’hardware (e il sistema operativo) dei supporti generici, quello che ci si fa sopra è praticamente illimitato. Una volta fatto lo sforzo di convincere le persone ad avere tra le mani un coso digitale, il più e fatto e da lì si può far passare tutto.

3. Infine ci sono gli strumenti totalmente digitali, nati digitali, senza nessuna corrispondenza analogica. Sono rari perché per affermarsi devono poggiare su concetti completamente nuovi. Il foglio di calcolo è uno di questi: non assomiglia veramente a nulla, non potenzia un foglio di carta a quadretti ma fa cose diverse (sostituisce la mente nei calcoli, e lo fa continuamente). Questi strumenti si basano su una caratteristica unica che gli deriva dall’essere, tutti, al fondo, dei computer: la possibilità di essere programmati. Che non significa : programmati per fare una cosa. Gli strumenti analogici si possono configurare, se ne possono variare i parametri; ma non si possono programmare, nel senso di stabilire comportamenti diversi in base a situazioni differenti. Uno strumento digitale è capace di scegliere come comportarsi sulla base di uno schema di situazione che può essere molto complesso e che si chiama “programma”.


Conclusione

Arriviamo al punto: i doppi digitali si possono anche usare limitandosi alle funzioni che erano possibili coi i loro antesignani analogici. Ma i risultati più ricchi, soddisfacenti, soprattutto per quanto riguarda l’educazione, si hanno quando se ne sfruttano le caratteristiche intrinseche, quelle che poggiano sul loro trattare dati digitali (flessibili, molteplici, omogenei…) e di poter essere programmati. Quando oltre ad usarli in maniera critica, creativa, in gruppo, per produrre artefatti eccetera eccetera si sfrutta il fatto che in questo particolare universo le lettere si possono trasformare in suoni, e i numeri in disegni; che le storie si possono rendere vive e le mappe navigabili, allora li si usa in maniera davvero educativa.
Ecco perché usare strumenti (o servizi) digitali all’interno di un framework educativo analogico mi pare riduttivo.
Ed ecco quello che mi separa da tanti educatori digitali “innovativi”.

Una teoria per l’apprendimento di gruppo

Ago
17

C’è una visione dell’apprendimento che si potrebbe descrivere partendo da questo schema di sapore informatico:

conoscenze = dati

abilità = algoritmi

competenze = saper applicare il corretto algoritmo ai dati relativi alla situazione attuale

L’apprendimento consiste nell’acquisizione dei dati, nell’elaborazione degli algoritmi e nell’accumulo dell’esperienza che consente di scegliere gli algoritmi più adatti.

Immagine tratta da https://ilmicroscopio.blogspot.com/2013_09_01_archive.html, blog del gruppo “Amici del Microscopio.” La foto mostra dei gruppi di fagocitazione con i ponti plasmatici.

E’ un modello pedagogico che chiamerei “tradizionale”, senza andare troppo a distinguere tra teorie diverse, perché mi sembra che sia presupposto implicito di molti discorsi, anche di quelli che non fanno riferimento ad una teoria precisa. Anzi, direi che sta dietro – sempre in maniera implicita – alle teorie dell’insegnamento di chi parla della difficoltà di trasmettere le conoscenze, di promuovere lo sviluppo di abilità e di valutare la presenza di competenze.

La formulazione in termini informatici invece l’ho inserita io, ma non mi sembra di aver forzato molto. Pensare uno studente in termini di computer è quello che si fa quando si parla di pensiero computazionale, sia che si voglia mettere l’accento sugli aspetti concreti della computazione (la calcolabilità, le risorse finite) sia che si pensi ad un elaboratore del tutto astratto che applica algoritmi per risolvere problemi.

In ogni caso: questo schema pensa l’apprendimento a partire dai meccanismi cognitivi superiori (memoria, elaborazione, selezione e applicazione), come fase necessaria perché l’individuo arrivi ad essere competente. L’apprendimento è un requisito per la performance. Il valore è la performance e l’apprendimento è una condizione. Le agenzie educative come la scuola sono la garanzia che l’apprendimento produca il risultato voluto – la competenza. La valutazione è principalmente la certificazione del raggiungimento del risultato finale.

Questa impostazione ha diversi punti oscuri: l’acquisizione delle conoscenze è basata sulla semplice esposizione? Come avviene la creazione degli algoritmi? Come si sceglie quale algoritmo applicare? Sono domande che la pedagogia lascia alla psicologia, secondo una piramide delle discipline accettata abbastanza universalmente.

E’ un modello che è costruito sulla cognizione, sulla memoria, sulla logica. Evidentemente presuppone un individuo normale, cioè che disponga di tutte queste funzioni superiori in maniera standard.

Non trovano posto, in questo modello, gli aspetti affettivi, la volontà, il bisogno. Se c’è un motore a muovere il tutto, è la società che definisce quali sono le competenze utili. E’ un vero “primum movens”, in cui esiste già in atto quello che negli studenti è solo in potenza.

E’ un modello che è costretto a procedere a ritroso nei casi in cui fallisce: se un individuo non è in grado di scegliere l’algoritmo giusto, o non si ricorda i passi, o i dati, significa, tornando indietro, che non ha appreso uno di questi elementi. Per questo occorre frammentare la formazione e inserire dei test che permettano subito di individuare l’elemento mancante.

Questo modello si sposa bene con una didattica basata su un sillabo e centrata sull’azione del docente. E’ il docente che sceglie i dati da registrare, gli algoritmi da costruire, e che mostra dei casi positivi di applicazione dell’algoritmo ai dati perché gli studenti siano in grado di riconoscere situazioni simili.

Naturalmente l’apprendimento riguarda solo l’individuo che apprende, nel senso che gli effetti sono misurabili da comportamenti esterni ma i meccanismi sono tutti interni alla mente dell’individuo. Se si potesse fare un apprendoencefalogramma si potrebbero vedere i dati e gli algoritmi ben allineati e pronti per il collegamento. La cosa più vicina che abbiamo immaginato a questo esame dell’interno dall’esterno sono appunto i test. Che sono, manco a dirlo, dei test individuali.

Questo modello riguarda infatti solo il singolo individuo. La didattica che ne risulta è prima di tutto una didattica individuale; tutte le tecniche rivolte al gruppo di individui sono fondate sull’esperienza, non sul modello che è stato descritto fin qui. Questo semplicemente perché sono gli individui che possono memorizzare dati, costruire algoritmi e applicarli, e non i gruppi. Si pensa l’apprendimento come fenomeno personale, individuale, al quale eventualmente si possono sovrapporre alcune tecniche di insegnamento relative al gruppo. Perché apprendere da soli è la regola.

Penso invece che sia vero il contrario: apprendere da soli non è la regola, è l’eccezione.

Apprendere in gruppo è normale. Norma nel senso della statistica: le modalità strutturate di insegnamento, per quel che ci racconta la storia della scuola, sono soprattutto di gruppo. Norma nel senso della scala: il gruppo fornisce dei riferimenti, delle possibilità di confronto: io sono qui, ma potrei essere lì insieme a quell’altro componente del gruppo. Quindi sto procedendo troppo piano, o troppo in fretta.

Il gruppo permette anche di apprendere per imitazione orizzontale, che è completamente diversa da quella verticale in cui il modello è lontano, competente per definizione. Il gruppo permette di elaborare algoritmi parziali e integrarli con frammenti costruiti da altri, alleggerendo il carico cognitivo. Il gruppo permette di confrontare la propria scelta di algoritmi con quella degli altri, e di fare così meta-apprendimento.

Insomma, apprendere in gruppo di solito funziona meglio. Le discipline sportive di squadra offrono tutte degli ottimi esempi di questa differenza: se l’allenatore punta solo alle eccellenze, e se gli stessi giocatori mirano solo al raggiungimento di obiettivi personali, la squadra ha un rendimento che dipende linearmente dalla somma delle competenze dei singoli. Se invece la squadra diventa il centro dei processi di insegnamento e apprendimento, e tutti investono del miglioramento della squadra, i risultati sono oggettivamente superiori.

Si tratta di considerazioni validissime, ma che partono appunto dalla pratica, non dalla teoria dell’apprendimento, e restano forse proprio per questo marginali nella prassi educativa scolastica. Inevitabilmente la parte relativa ai processi del gruppo è solo superficiale, incollata dall’alto. I processi di scambio di informazioni tra i partecipanti del gruppo sono forzati, scanditi da ritmi esteriori; sono considerati delle richieste a cui bisogna adeguarsi, non una necessità che viene dall’interno.

Facciamo resistenza a pensare in termini di analisi anziché di sintesi. Il gruppo lo costruiamo a partire dagli individui. Come se l’individuo fisico fosse più reale del gruppo.

Perché invece non si fonda la teoria dell’apprendimento sull’apprendimento di gruppo, per poi eventualmente ricadere su un caso particolare, in cui il gruppo è formato da un solo individuo, nei suoi diversi momenti? Perché non si progetta una didattica di gruppo, che ha davvero il gruppo come obiettivo, e non gli studenti? Perché non si immagina una valutazione di gruppo che non sia la media della valutazione dei singoli? Forse perché il modello di apprendimento che abbiamo in testa anche senza saperlo non è adatto.

Parecchi anni fa ho provato a disegnare un modello alternativo. Non tanto perché avessi le prove che questo che ho appena descritto non funzionasse, ma perché mi sembrava un modello debole, con troppi casi lasciati fuori come eccezioni. Non era centrato sull’apprendimento, ma sui risultati. Non rendeva possibile progettare del software educativo diverso da quello che circolava (eserciziari ripetitivi in cui si supponeva che le conoscenza dovessero essere apprese per semplice “esposizione” ripetuta). Anzi, questi esempi mi portavano a pormi la domanda: cosa rende un software davvero “educativo”? Il fatto di essere semplice, anzi banale? I colori sgargianti? La presenza di scoiattolini? I contenuti approvati da qualche centro di ricerca? Il test alla fine, con l’immancabile “Bravo!” ?

E difatti, sulla base di questo nuovo modello ho progettato e costruito, negli anni seguenti, un certo numero di software e ambienti “educativi”, ma in un senso diverso.

Il modello che ho immaginato, partendo certamente dalle letture di Dewey, Vygotskij e Bruner, ma senza cercare di derivarne formalmente una teoria, era molto semplice e in sostanza presentava l’interazione tra due elementi: il Soggetto e l’Ambiente. Il modello in questione descriveva l’apprendimento non come la condizione di qualcos’altro, ma a partire dal suo fine interno: il controllo di un ambiente. L’apprendimento è il processo nel quale il soggetto acquisisce il Controllo dell’ambiente. Di conseguenza, l’educazione consiste nell’assicurarsi che questa acquisizione si svolga in maniera efficace, attraverso la creazione di ambienti che sono progettati appositamente per cedere il controllo al soggetto. La valutazione è la parte del processo educativo che permette di rilasciare il controllo progressivamente, al momento giusto e nella misura giusta. Tutto qui. Ma da questi pochi concetti si possono trarre, a mio avviso, delle conclusioni interessanti soprattutto in termini di progetto didattico e di progetto valutativo, non solo legato ai software educativi.

Prima di tutto, si tratta di un modello che presuppone che l’apprendimento esista, che sia comune non solo ai cuccioli d’uomo, ma a tutte le persone, a qualsiasi età; e che non sia troppo diverso tra gli animali, scendendo via via alle specie meno complesso, e forse fino ai vegetali.

Non presuppone l’esistenza di facoltà cognitive superiori. Il che lo rende applicabile a molte più situazioni. Invece presuppone che ci sia un bisogno, una volontà, cieca quanto si vuole, che spinge il soggetto verso l’appropriazione dell’ambiente. Questa presupposizione è esterna al modello, ed è un modo diverso per descrivere un fatto dell’esperienza: c’è apprendimento quando esiste questa volontà. E difatti, ai cuccioli è quasi impossibile impedire di apprendere, e ai vecchietti quasi impossibile imporlo. L’educazione si svolge all’interno dei margini di questa disponibilità ad apprendere, altrimenti è destinata a fallire. Anche qui si tratta di un fenomeno evidente, ma che si spiega chiaramente: l’educazione è al servizio dell’apprendimento perché l’apprendimento è un processo naturale e l’educazione è solo il tentativo di rendere più efficace quel processo naturale all’interno di uno spazio artificiale.

Un aspetto importante del processo di apprendimento (come è descritto in questo modello) è che non solo il soggetto cambia, ma anche l’ambiente. Forse si tratta della differenza più grande rispetto al modello descritto sopra come tradizionale, ed è l’elemento che rende i due modelli incompatibili. Perché si possa dire che c’è apprendimento non basta andare a guardare nella testa del soggetto, ma occorre guardare gli effetti nell’ambiente. La modifica dell’ambiente è precisamente ciò che il soggetto si propone come fine nell’apprendimento. Non si tratta di una modifica necessariamente fisica (come non è necessariamente fisico l’ambiente): il passaggio del controllo dall’ambiente al soggetto significa che l’ambiente perde di libertà, di potere. Perciò non è pensabile, letteralmente, un apprendimento che non modifichi tanto il soggetto che l’ambiente.

È un modello filosofico, non psicologico. Non distingue tra dati e algoritmi, non si preoccupa di come vengono conservati gli uni e gli altri.

È un modello dinamico, non statico. Il controllo è il risultato della spinta reciproca di soggetto e ambiente; non è un terzo elemento ma solo il limite tra i due.

Resta anche qui da chiarire cosa significa controllo. Ma è un termine che ha un significato univoco: può valere, a seconda dei contesti, libertà, possibilità di agire, conoscenza, previsione, ….

Anche se non l’avevo specificato (o pensato) all’epoca in cui lo descrivevo, il soggetto non è necessariamente un individuo: può essere una parte di un individuo, oppure un gruppo di individui. È una descrizione di un processo partendo dai due elementi che si definiscono uno in relazione all’altro.

Questa possibilità di pensare il gruppo come soggetto di apprendimento a pieno titolo permette di studiare, progettare o verificare il processo anche al livello di gruppo e non solo di individuo. Si possono immaginare delle attività educative, cioè di supporto all’acquisizione del controllo del gruppo sull’ambiente. E, di conseguenza, si possono immaginare strumenti che mirano a fissare la posizione del limite tra soggetto e gruppo: una valutazione del gruppo come soggetto, e non (solo) dei singoli individualmente.

L’apprendimento del gruppo (non solo: in gruppo) non è la somma degli apprendimenti dei singoli. Il gruppo sa fare delle cose che i singoli non sanno fare, ma soprattutto il gruppo ha dei bisogni, degli obiettivi, una storia che sono diversi da quelli dei singoli.

Così l’ambiente di apprendimento del gruppo non è l’ambiente del singolo. E’ un ambiente collettivo dove si intrecciano le operazioni di tutti quelli che fanno parte del gruppo. E’ un ambiente che viene modificato dal gruppo, che si adatta ad esso (e non al singolo studente). E’ facile immaginare cosa significa pensare una piattaforma per l’e-learning in questi termini. In realtà, come si sarà capito, ADA è precisamente un ambiente di apprendimento di gruppo, è stata pensata in questo modo e funziona così. Senza questo modello non si capisce il senso di tante funzionalità, come quella che permette di modificare il contenuto di un corso da parte dei partecipanti del gruppo.

Ma quello che mi interessa soprattutto è che partire dal modello citato sopra permette di derivare una didattica coerente per il gruppo, senza dover aggiungere tecniche, suggerimenti, semplicemente perché l’esperienza ne ha confermato l’utilità. E’ la differenza tra una profilassi basata su una teoria biologica dei microorganismi e una profilassi basata sull’esperienza: fino ad un certo punto funzionano entrambe, ma la seconda finisce per dare origine ad una serie di pratiche magiche tramandate sulla base dell’autorità, alla nascita delle scuole e all’apparizione dei guru.

Basta coi dati, ancora più dati

Ago
15

Dati come algoritmi: ne parlano tutti, a qualsiasi proposito, a volte anche confondendoli. E si capisce, perché gli algoritmi senza dati girano a vuoto. Si legge e si ascolta sempre più spesso “I dati ci dicono che”, “Andiamo a vedere i dati”, “Ci vogliono nascondere i veri dati”. Ma a forza di citarli come risposta finale a tutte le domande, anche la pubblica amministrazione ha capito che si possono usare a fini di comunicazione.

Dalla sindaca di Roma che traccia le biciclette sulle piste ciclabili al software della sottosegretaria Floridia che “calcola il flusso dei tragitti che gli studenti fanno per venire a scuola”, sembra che la nuova tendenza non sia quella di aumentare l’apertura dei dati esistenti, ma di aumentare i dati raccolti da parte della PA.

Tracciare i movimenti e gli accessi, registrare i dati prodotti da azioni umane, è il nuovo dispositivo che da solo certifica l’approach modern e anche smart di una governance near ai citizens. Prima ancora di dire qual è il progetto generale e come quei dati verranno utilizzati, si annuncia la loro raccolta. Come se questa da sola fosse sufficiente; come se ogni raccolta non contemplasse un filtro e una trasformazione; come se i dati si potessero usare senza archiviarli, con il rischio che qualcuno se ne impadronisca (come è successo più volte).

Sul versante opposto, dopo aver richiesto a gran voce la pubblicazione dei dati del COVID, adesso le voci si alzano contro la registrazione dei dati (per esempio, contro il Green Pass) a volte anche senza sapere esattamente quali dati vengono raccolti, da chi vengono trattati, dove vengono archiviati e per quanto tempo. Cosa dice, esattamente, il QR Code? Anzi: cosa ci nasconde?

L’impressione è che da entrambe le parti ci sia superficialità e che tutto si svolga intorno alla parola “dati” più che intorno al concetto di raccolta di dati. Raccogliere i dati è segno di attenzione al territorio oppure è un furto di identità da parte di un sistema sempre più Grande Fratello?

Dal lato della PA, i proclami sono sempre molto opachi sul come quei dati potranno essere utili a tutti i cittadini, su come verranno protetti ora e i futuro, su quali flussi seguiranno. E’ facile pensare che ogni passo nella direzione del monitoraggio dei cittadini (o degli studenti) possa essere un precedente per altri passi più invasivi. Se un Comune può monitorare i passaggi delle biciclette (che per il momento non hanno una targa, e quindi non possono essere ricondotte ad un proprietario), cosa impedirà domani di costruire un Bicivelox che permetta di aggiungere entrate nella casse del Comune stesso? Se vengono tracciati i percorsi casa-scuola degli studenti, cosa impedisce di farlo anche per i docenti? Eccetera. Sono domande che sorgono spontanee nel momento in cui non c’è la necessaria trasparenza sull’uso di quei dati, sulla base legale, sui limiti non solo tecnici.


L’effetto di questo aumento della presenza dei dati come salvatori o come diabolici si mostrerà presto, a mio parere, in un movimento intellettual/popolare di ribellione all’acquisizione di dati. Un movimento che si presenterà come unito per poi spaccarsi in due ali francamente mosse da interessi diversi.

La parte intellettuale sosterrà che l’acquisizione dei dati (o la trasformazione in dati di azioni) è la nuova forma di creazione di valore a partire dalla vita delle persone. Che sia una processo gestito da grandi soggetti privati o da soggetti pubblici, e indipendentemente dalla finalità, si chiederà che nessun modello di machine learning possa essere addestrato sulla base di comportamenti ad alto valore professionale.

Un caso particolare di questa critica riguarderà i professionisti che vedranno scomparire il loro valore e sul mercato man mano che i dati del loro comportamento professionale saranno accumulati e utilizzati per il training di modelli di Machine Learning. Traduttori, programmatori, giornalisti per primi, poi in futuro docenti, medici, avvocati, architetti si renderanno conto che vanno incontro alla scomparsa come i panda. Anche l’università, e la formazione professionale in generale, si accorgeranno finalmente che rischiano un radicale ridimensionamento.

La parte popolare si limiterà a invocare il diritto all’opacità di ogni cittadino di fronte allo Stato, a difendere una generica libertà individuale. In un’unica rivendicazione verranno inclusi i dati fiscali, quelli produttivi, quelli formativi. Sarà facile per i movimenti politici che già fanno leva su questo tipo di istanze libertarie (nel senso della libertà del singolo individuo) cavalcare anche questa rivendicazione all’interno di un progetto politico liberista che punta a ridurre la presenza dello stato nella società.


Penso che questi movimenti vadano distinti, e le loro motivazioni analizzate con chiarezza. Se è vero che i dati sono il nuovo petrolio, nel senso che l’estrazione dei dati dalle azioni delle persone è la fonte principale di valore, questo valore va rivendicato sempre, soprattutto quando su quella base si costruiscono servizi che vanno a sostituire professioni avviando un percorso senza ritorno di rinuncia alla conoscenza teorica. Ma si tratta di un modo di raccogliere e usare i dati che è proprio primariamente di un numero ristretto di grandissime aziende, e che sta funzionando da modello e attrattore anche per le altre. Questo non ci esime dal cercare di ottenere da queste aziende una forma di autocontrollo; ma possiamo anche cominciare a pensare di usare meno servizi “gratuiti”, cioè pagati con i nostri dati, e usarne di nuovi a pagamento che però diano maggiori garanzie di trasparenza. Piccoli passi che ci aiuterebbero anche ad uscire dal sostanziale monopolio di servizi digitali in cui ci troviamo ora.

Per questo è necessario che la PA sia trasparente per quanto riguarda i percorsi di questi dati: perché anche se i suoi scopi sono diversi, la maniera di raggiungerli potrebbe implicare un passaggio (a costi limitati o addirittura senza costi) proprio per uno o più di questi fornitori di servizi.

Non si tratta tanto di proteggere il diritto del cittadino a nascondere alla PA i propri comportamenti, magari sul bordo dell’illegalità, ma di sancire il diritto di ogni cittadino, nei confronti della propria PA, di sapere cosa viene registrato, a chi viene consegnato e per quali usi, ed eventualmente limitare questi usi, così come si è fatto nel caso dei dati personali dal GDPR. Ma se il GDPR era nato per proteggere le economie dei Paesi europei contro la concorrenza di altri Paesi un po’ più leggeri nella gestione dei dati personali, stavolta si tratta di proteggere i diritti prodotti dai cittadini stessi, che non sono dati personali ma appartengono comunque alla sfera del valore e non solo a quella della tecnica.

Come per quanto riguarda i dati personali, la via più facile sarebbe quella di anonimizzare i dati, in modo che non sia possibile risalire al cittadino da cui sono stati prodotti. Purtroppo è una strada scivolosa e difficile. Facciamo un esempio: l’anonimizzazione può essere applicata per default oppure solo su richiesta del cittadino.

Nel primo caso, siccome i dati hanno senso soprattutto quando vengono incrociati, bisogna costruire un cittadino-doppio, un avatar anonimo su cui convergano tutti i dati raccolti. Questo doppio, identificato da un codice univoco all’interno della PA, non potrebbe davvero perdere il legame con il cittadino reale, altrimenti non sarebbe più possibile collegare i nuovi dati raccolti a quelli precedenti. Quindi il problema si sposta semplicemente dai dati al codice, dal tesoro alla chiave.

Nel secondo caso, quello di un’anonimizzazione su richiesta esplicita da parte dei cittadino, sorge il problema della propagazione a catena dell’anonimizzazione su tutte le repliche dei dati. Senza un protocollo che impone di tenere traccia di ogni replica, di ogni accesso in copia, sarebbe evidentemente impossibile assicurare il cittadino che tutte le copie sono state anonimizzate.

Insomma, in pratica i dati prodotti da un cittadino e quelli identificativi del cittadino restano connessi. E di qui il problema.


Spesso si dice che siccome le persone hanno già ceduto la maggior parte dei propri dati ad aziende private (l’uso della carta di credito, l’uso del telefono, gli spostamenti fisici, la navigazione web e in generale l’uso di servizi via Internet, i propri interessi e preferenze, la propria rubrica) non ha senso preoccuparsi dei dati forniti alla PA. E’ il tipo di critica che si riceve quando si parla di protezione dei dati all’interno di un social network. Fa venire in mente lo scrutatore non votante che “si fa la doccia dieci volte ma ha le formiche sulla tavola”.

Credo invece che i discorsi vadano tenuti separati. Da una parte è possibile, anche se difficile, condurre una vita senza cedere i propri dati ad aziende private, nel momento in cui si riesce a rinunciare ai servizi, a pagamento o gratuiti che siano, che queste offrono in cambio dei dati stessi. Si può vivere senza usare Google Maps, senza Gmail, senza Android, senza Windows e naturalmente senza social network centralizzati. Si possono cercare alternative, gratuite o a pagamento. Si possono fornire dati imprecisi, contraddittori o parziali.

Ma non si può vivere senza carta di identità, senza pagare le tasse, senza un fascicolo sanitario. In un caso c’è un contratto esplicito, accettato, che prevede uno scambio più o meno trasparente di dati contro servizi. Nell’altro caso, il contratto tra la persona e lo stato inizialmente non viene nemmeno firmato dalla persona, ma dai genitori al momento dell’iscrizione all’anagrafe. Quel contratto non specifica cosa lo stato possa fare in seguito con i dati del cittadino, ma fa riferimento alla Costituzione, alle Leggi statali e regionali. Da quel contratto si può uscire veramente solo rifiutando del tutto ogni nazionalità, o scegliendone una diversa.

Per questo è importante che la PA sia in grado di esporre un protocollo di raccolta dei dati che sia chiaro, inattaccabile, funzionale.


Una delle situazioni in cui questo problema potrebbe presentarsi improvvisamente (anche se le premesse sono presenti da anni) è quello della raccolta dei dati nella piattaforme di DaD, o di e-learning. Il tracciamento del comportamento degli studenti (non solo i voti o gli accessi, ma la navigazione fine, la consultazione dei link e degli allegati, la scrittura di testi, la comunicazione orizzontale) può essere più o meno spinto, e può essere più o meno usato a vantaggio degli studenti stessi, per esempio per arricchire la valutazione con dati che descrivono il comportamento degli studenti (o di un gruppo di studenti) in tempo reale, senza bisogno di aspettare il momento del test. Dati che permettono di confrontare quello che sta succedendo con quello che, in situazioni simili, ci si attende che succeda. Lo stesso potrebbe succedere, a breve, relativamente alla registrazione dei dati dei docenti: accessi, comunicazione con gli studenti, creazione di contenuti aggiuntivi, valutazione.

Da un lato è evidente che questi dati potrebbero essere usati per aiutare i docenti e i corsisti, o anche gli autori di contenuti, o i progettisti delle piattaforme; dall’altro, questi dati potrebbero essere usati per selezionare gli studenti ancora prima del termine del loro corso di formazione (come nel caso di alcuni MOOC), oppure per controllare il lavoro dei docenti e sanzionarne comportamenti inadeguati. O infine, e qui torniamo a quanto detto sopra, per costruire un modello di docente che sia in grado di fare lezione, correggere gli esercizi, assegnare voti.

Anche in questo caso occorrerebbe sbrigarsi a regolamentare cosa può essere raccolto, con che finalità, per quanto tempo.

Alcune ipotesi di lavoro.

1. Si può chiedere ad una PA di fornire un bilancio tra i servizi forniti grazie all’acquisizione di dati dei cittadini e la necessaria sottrazione di privacy dei cittadini stessi. Ci saranno casi in cui i vantaggi superano gli svantaggi, ed altri in cui l’acquisizione di dati non è giustificabile. Un bilancio che dovrebbe essere pubblico, facilmente leggibile dal maggior numero di cittadini, aggiornato frequentemente.

2. Si può chiedere ai poteri legislativi di stabilire, una volta per tutte, che i dati prodotti dalle azioni dei cittadini (come quelli che ne definiscono l’identità) vengano riconosciuti come di proprietà dei cittadini stessi. Non è un passo semplice, perché i dati non sono oggetti fisici che una volta ceduti non sono più di proprietà del precedente proprietario. I dati di cui parliamo non hanno nemmeno le caratteristiche dei prodotti dell’ingegno, che devono essere originali. Un’altra difficoltà deriva dal fatto che questa richiesta potrebbe andare in direzione opposta, almeno apparentemente, a quella dell’apertura dei dati pubblici. Andrebbe applicata una licenza permissiva ma con caratteristiche speciali: per esempio, dovrebbe essere possibile tracciare l’uso dei dati e rendere possibile la propagazione del blocco del loro utilizzo.

3. Questa legge dovrebbe anche stabilire che il trattamento di quei dati deve avere come finalità primaria il vantaggio dei cittadini e non del sistema organizzativo. I cittadini, attraverso i loro dati, dovrebbero sempre essere considerati un fine e mai un mezzo, come reciterebbe la versione moderna del principio regolativo kantiano.

Quali cittadini? Solo quelli a cui appartengono i dati, o tutti? E’ evidente che scienze come l’epidemiologia hanno bisogno dei dati di tutta la popolazione per provare a fare ipotesi significative.
Insomma, i principi non bastano, ci vuole ancora tanto lavoro. Ma sarebbe ora di iniziare a farlo.

Hello, world!

Giu
15

“Hello, world!” è uno dei luoghi comuni dell’universo della programmazione, nel senso di uno dei topic fondamentali, conosciuti magari solo superficialmente, ma su cui si ritorna in continuazione. Raccontare dell’origine di “Hello, world!”, e poi andare a cercarne le presenze nella cultura contemporanea, è un buon modo per fare un tuffo in questo mondo e rendersi conto di quanto sia ricco, complesso, e non così arido come immagina chi ne rimane fuori.

Banalmente, “Hello, world” (nel seguito: HW) è il nome convenzionale che si dà ad ogni programma che come unico risultato alla fine della sue esecuzione scrive sullo schermo la frase: “Hello, world!”.

E’ di solito il primo esempio che si fa per mostrare le caratteristiche di base di un linguaggio di programmazione all’interno di un manuale, un tutorial, un corso su quel linguaggio. Da un punto di vista puramente quantitativo permette di mostrare quanto codice deve essere scritto per ottenere un risultato in apparenza molto semplice. Perché a seconda del linguaggio scelto, questa quantità può essere molto diversa. D’altra parte anche per le lingue naturali è noto che ci sono lingue prolisse e lingue concise.
Ad esempio, in Pascal – che è un linguaggio didattico, inventato nel 1970 dall’austriaco Niklaus Wirth per insegnare la programmazione strutturata – occorre dichiarare un programma, con un nome, e al suo interno un blocco con un inizio e una fine:

program hello;  
uses crt;    
begin
  writeln('Hello, world');
  readln
end.

La stessa cosa succede in Java – uno dei linguaggi più usati al mondo, inventato dal canadese James Gosling nel 1994 – , dove ancora più informazioni sono necessarie per dichiarare l’usabilità del codice in contesti più grandi (public, static), o il riuso di librerie esistenti (System.out):

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world");
    }
}

Invece nei linguaggi interpretati, come in Perl – creato dallo statunitense Larry Wall nel 1987 con lo scopo di essere pratico, più che elegante – di solito non è necessaria tutta questa sovrastruttura, ma è sufficiente scrivere una sola istruzione, che in memoria dei tempi in cui terminali erano della stampanti si chiama “print”:

print "Hello, world\n"

Insomma: c’è più di un modo di fare la stessa cosa. Che è anche il motto del Perl: TIMTOWTDI (There Is More Than One Way To Do It). A dimostrazione che la programmazione non è un’attività ripetitiva, ma un’arte.

Questo “task” permette anche di far vedere come vengono trattate le sequenze di simboli, che è una parte fondamentale di tutti i linguaggi di programmazione, e come può essere gestito l’output verso lo schermo o verso altri dispositivi.

Per spiegare il versante più algoritmico dei linguaggi di solito si usano altri compiti, legati al mondo dei numeri, come quello di calcolare l’i-esimo numero di Fibonacci; oppure quello di scrivere tutto il testo della canzoncina da scout “99 bottles of beer“, tenendo conto delle varianti, con il minore numero di istruzioni.

Perché proprio “Hello, world!” e non “123 prova” o “tanto va la gatta al lardo”?

Non è affatto un testo casuale. C’è dietro una storia, che non è nota a tutti, anche tra i programmatori.

Nel 1972 Brian Kernighan, un fisico canadese che lavorava ai Laboratori Bell, si trovò a scrivere un tutorial sul linguaggio B, inventato proprio lì.

Nei primi capitoli del tutorial, dopo aver presentato gli operatori aritmetici, passa alla funzione “putchar” che scrive sul terminale l’argomento passato, in questo caso una costante:

main( ){
	auto a;
	a= ’hi!’;
	putchar(a);
	putchar(’*n’ );
}

Il valore della costante è in questo caso ‘hi!’, ciao.

Nell’ultima riga viene dimostrato come facilitare la formattazione usando dei codici particolari: ‘*n’ non sono due lettere da stampare, ma un codice unico che indica alla funzione putchar () che al termine deve aggiungere un ritorno a capo.

Poco più avanti, volendo mostrare come si creano e usano le variabili comuni, Kernighan ha bisogno di una frase più lunga, e abbastanza naturalmente da ‘hi!’ passa a ‘hello, world!’:

main( ) {
    extern a, b, c;
    putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';

Il motivo per cui ci sono tre variabili anziché una sola è che il massimo numero di caratteri che una costante nel linguaggio B può contenere era 4.

Ancora più avanti la frase “hello, world” viene riusata per introdurre le stringhe, che invece possono essere più lunghe di 4 caratteri.

Sei anni dopo, lo stesso Kernighan riusa esattamente la stessa frase quando si trova a scrivere il manuale del linguaggio C (che era un erede del B):

main( ) {
        printf("hello, world\n");
}

In questa versione scompare il punto esclamativo (probabilmente perché ha un significato preciso nel linguaggio: è un operatore unario, una negazione, e lo studente potrebbe esserne confuso).

Perché sceglie “hello, world”? Evidentemente questa frase faceva parte della cultura popolare statunitense, tanto che in un’intervista di quarant’anni dopo Kernighan sostiene di non ricordare esattamente perché l’ha scelta, ma di avere in mente un cartone animato con un pulcino che dice “Hello, world”. In ogni caso, questa frase era usata negli anni cinquanta da uno speaker radiofonico, William B. Williams, come suo saluto (un po’ come “Good morning, Vietnam!” o “Cari amici vicini e lontani”). Era quindi un saluto, un’espressione orale, colloquiale. Un buongiorno, la prima frase che si dice quando si incontrano delle persone.Siccome il manuale di Kernighan è stato tradotto in 20 lingue ed è considerato unanimemente “il” riferimento per il linguaggio C, la versione “hello, world” divenne quella più conosciuta da migliaia o milioni di studenti e apprendisti programmatori.

Talmente famosa da diventare un oggetto artistico: la versione scritta a mano del codice è stata battuta ad un’asta nel 2015 per 5.000 dollari.

Da quel momento, l’uso di HW come task per introdurre un linguaggio è diventato una specie di standard de facto, un omaggio al lavoro dello stesso Kerninghan, e implicitamente a quello di Dennis Ritchie (l’autore del linguaggio C) e di Ken Thomson (l’autore del linguaggio B).

L’omaggio non può che essere piuttosto rigido, nel senso che sarebbe considerato di pessimo gusto utilizzare come primo esempio nel manuale di un nuovo linguaggio un codice sorgente che stampi “Hey Jude”.

Talmente è diffusa questa tradizione che qualcuno ha pensato di raccogliere esempi di programmi HW scritti in centinaia di linguaggi di programmazione diversi, come ha fatto Wolfram Rösler a partire dal 1994:

http://helloworldcollection.de/

La prima versione dei codici si atteneva ad un singolo modello (“Hello World!”), in cui anche la parola World, essendo un sostantivo, viene scritta in maiuscolo come è corretto fare in lingua tedesca da Lutero in poi. Mano a mano che la raccolta è cresciuta – 603 linguaggi censiti oggi – i codici si sono allontanati dal testo originale. Per essere esatti, la tradizione consente queste sole varianti al testo originale:

– si usa la H maiuscola (corretta in Inglese ad inizio di frase)

– si può usare la w o la W (benché la maiuscola sia un errore in Inglese a meno che World non si intenda come nome proprio)

– si può omettere la virgola (che nell’originale serviva a mostrare l’uso dei segni di interpunzione all’interno delle costanti e fuori)

– si può omettere il punto esclamativo finale, in omaggio alla versione in C

– si può omettere l’acapo finale (\n)

Ma a dimostrare la posizione particolare di HW all’interno dell’universo culturale dei programmatori non ci sono solo le sillogi di codice.

Proprio pochi giorni fa, il maestro Nicola Campogrande per l’apertura di Codefest 2021, il festival del codice sorgente organizzato dall’Università di Torino e da Codexpo.org, ha composto e diretto quattro lieder sul testo HW, scegliendo quattro linguaggi tra quelli proposti in helloworld.de. E’ un caso lampante di uso del codice sorgente al di là della sua funzione primaria. D’altra parte, anche Franco Berardi (Bifo) nel 2001 aveva effettuato una performance singolare leggendo a voce alta il codice sorgente di un virus scritto per l’occasione dal collettivo [epidemiC]. In fondo, anche le partiture musicali e le ricette si possono leggere a voce alta e, perché no, cantare. D’altra parte, ci sono stati casi di poesie scritte in linguaggi di programmazione, da quelle in ALGOL a quelle in Perl.

Un altro omaggio dal mondo esterno è quello di Tomohiko Itō che nel 2019 ha diretto un anime dal titolo originale “Harō Wārudo” , che significa proprio quello che pensate. In questo mix di fantascienza e sentimenti, il mondo viene registrato in un supercomputer dal nome evocativo, Alltales.

Ma per tornare nel campo della molteplicità dei linguaggi di programmazione, che è facile definire come nuova Babele visto che ce ne sono 8000, ci sono artisti del codice che hanno dato vita a veri pezzi di bravura, come questo HW che può essere correttamente compilato/eseguito in 8 linguaggi diversi e produce lo stesso risultato:

https://ideology.com.au/polyglot/polyglot.txt

Per divertirsi un po’ – non solo se si è programmatori – si può andare a leggere questo testo riportato sul sito della Free Software Foundation, in cui vengono raccolte e presentate sedici maniere diverse di scrivere HW, organizzate in base all’età, alla competenza professionale e al ruolo dell’autore, utilizzando linguaggi diversi (BASIC, Pascal, Lisp, C, C++, Perl,…) e contemporaneamente prendendo in giro le caratteristiche di ogni figura: dal giovane programmatore che vuole impressionare il datore di lavoro all’hacker che ricompila un codice già scritto, al guru che usa meno caratteri possibili, al manager che scrive una mail per farsi fare il lavoro da un sottoposto fino al CE che non è in grado di fare nemmeno quello.

https://www.gnu.org/fun/jokes/helloworld.html

Un’altra magnifica prova di umorismo è quella di Benno Evers, un programmatore di Amburgo, che descrive dai diversi punti di vista di un novizio, un apprendista, un avvocato, un pedante, un idealista, un ideologo, un ingegnere, un fisico e un illuminato cosa succede quando viene eseguito una variante in C++ di HW:

#include <iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
}

https://gist.github.com/lava/f8732a6802988fe8d0a41bd7979a4d54

Il codice sorgente dovrebbe essere sempre leggibile, per permettere ad altri di imparare e correggere. Ma siccome i programmatori sono tendenzialmente dei nerd e tendono a sfidarsi sul terreno della bravura, a volte si divertono a scrivere codice illeggibile solo per il gusto di far vedere che sono capaci di farlo. Non tutti sanno che ogni anno, dal 1984, si tiene una gara di abilità tra programmatori C in cui vengono premiati i programmi meno leggibili: si tratta dell’International Obfuscated C Code Context. Uno dei codici vincitori della prima edizione era appunto un HW (che usa la versione originale del testo):

int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hello, wor\
ld!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}

Ma non è l’unico caso: ci sono state delle sfide aperte, come quella su codegolf.stackexchange.com che invitava a scrivere un HW senza usare nessuno dei caratteri seguenti:

h, l, w, d , e, o, r, 0, 1, 2 e 7

Per quanto possa sembrare strana, questa è una delle soluzioni (in Javascript) che fa anche un occhiolino all’ASCII Art:

https://codegolf.stackexchange.com/questions/307/obfuscated-hello-world

Infine, HW è entrato anche nel mondo dei linguaggi (non solo dei codici sorgenti) dal 2001, l’anno in cui Cliff Biffle ha inventato HQ9+.

Questo linguaggio nasce dalla constatazione che la maggior parte degli studenti di programmazione cercano degli esempi da cui imparare, e gli esempi sono appunto “hello, world”, la poesia “99 bottiglie di birra” e i programmi che stampano il proprio codice sorgente ( i cosiddetti “quine”, in omaggio a Willard Van Orman Quine, logico statunitense ).

HQ9+ risponde in maniera molto precisa a questa esigenza. Infatti ha solo quattro istruzioni:

  • H scrive “Hello, world”
  • Q scrive il sorgente del programma stesso
  • 9 scrive la poesia “99 bottiglie di birra”
  • + incrementa l’accumulatore

Con HQ+9 abbiamo terminato il nostro viaggio intorno ad “Hello, world”, e speriamo di aver contribuito a dare una visione un po’ più allegra e umanizzata dell’universo della programmazione.

Della solitudine e i suoi rimedi

Nov
22

Chi ha la fortuna di abitare in campagna, o in montagna, o al mare, o insomma ovunque meno che in città, vive in mezzo ad altre vite. Se si guarda intorno scopre cani e gatti, volpi e tassi, scoiattoli e topi; e poi passeri, corvi, merli, upupe. Per non parlare di mosche api e zanzare, farfalle ragni e scarafaggi, vermi e lumache. Ci sono alberi, cespugli, erbe, funghi, muffe e cose ancora più piccole di cui non sappiamo nemmeno il nome. Insomma avete capito.

Ognuno di questi esseri è un soggetto a tutti gli effetti, ha una vita propria che si intreccia con quella degli altri. Fa delle cose indipendentemente da noi, esiste indipendentemente da noi. Ognuno, se ci facciamo caso, ci sorprende. La sensazione generale è che se noi stiamo fermi, il resto del mondo invece si muove.

In un appartamento di città, invece… a parte qualche zanzara, qualche scarafaggio e qualche tarma (ospiti non graditi), qualche animale importato dall’esterno (Fido, Micio e Cocorito), il ficus Benjamin sofferente nell’angolo del soggiorno, la stella di Natale perenne e i gerani sul balcone… insomma, di esseri viventi in un appartamento di città se ne vedono pochini.

In questa scatola piena di oggetti se noi stiamo fermi, non succede niente. Il libro che abbiamo messo in quello scaffale continua a stare lì. Il maglione nello sportello in alto, sepolto sotto gli altri maglioni, non cambia di posto, di colore, di dimensione. Le cose di cui ci siamo circondati non sono soggetti, sono davvero solo oggetti.

E allora si capisce perché uno si circondi di macchine: orologi, lampadine, scaldabagni, radio, televisori, telefoni, computer, ognuno con il suo linguaggio visivo e sonoro, con le lucine colorate, i ronzii, crepitii.

Questi sì che sono soggetti: se carico un orologio, quello va avanti da solo. La radio parla e parla, il televisore mostra cose che io non conosco. Per non parlare di telefoni e computer che completano l’illusione che da qualche parte ci sia qualcun altro come noi, in un appartamento, circondato di macchine amichevoli e autonome. Per non parlare, ovviamente, dei vari Alexa e compagnia, con cui possiamo conversare anche quando l’ultimo degli amici è andato a dormire.

Certo non sono organismi del tutto indipendenti, sono solo giocattoli, nel senso che possiamo sempre spegnerli e riaccenderli a volontà, o almeno così ci sembra. Sono tutto sommato prevedibili, a grandi linee, e questo ce li rende ancora più cari e indispensabili.

Peraltro funzionano bene anche nell’altro senso, come parafulmini. Se dormo troppo, la colpa è della sveglia. Prendo chili nel posto sbagliato per colpa dell’e-reader. Strade violente: me la prendo con la TV. Se c’è una pandemia, la colpa è del PC. Non mi chiama nessuno? E’ colpa del telefonino, che anzi adesso me lo cambio e prendo quello che ha più cose e vedrai te.

Ma allora smettiamola di lamentarci della tecnologia fredda, distante, che ci rende tutti robot e ci fa perdere le capacità empatiche e ci addestra a tarpare la nostra emotività. E’ una storiella che non corrisponde più alla realtà e nemmeno alla nostra esperienza quotidiana.
Questa tecnologia è stata costruita apposta per non essere più fredda e distante: il suo chiacchiericcio continuo, come il borbottio dei robot di Star Wars, è la colonna sonora delle nostre vite. Altro che distante: è sempre più presente e si mette in mezzo proprio come un cucciolo che ci gioca tra i piedi, e che ogni tanto prendiamo a calci.

Questa tecnologia è la nostra coperta di Linus.
Ne parliamo male tutti i giorni, ma non potremmo mai rinunciarci.

Ah, io abito in campagna.

Piattaforme queste sconosciute

Ott
12

Tra le parole più consumate per il cattivo uso quella di cui parliamo oggi è piattaforma. Ne avevo parlato qualche tempo fa qui ma oggi vorrei approfondire perché sono scoraggiato da quanto leggo qua e là.

Platform 9 3/4
Immagine di Oleg Sklyanchuk , CC BY-NC 2.0

Due etti di storia della parola: derivata dal medio francese, in inglese è attestata a partire dal 1550 nel senso di “piano, disegno, progetto”; poi ha perso questo significato metaforico per orientarsi verso uno più letterale. A partire dal XIX secolo si usa in geografia, in tecnica ferroviaria e poi in politica. La piattaforma petrolifera è una cosa piatta, in mezzo al mare, sulla quale ci si sta a lavorare come se fosse un’isola, come se fosse terraferma. E infatti ci sono anche le piattaforme per i tuffi… divertitevi qui a trovare tutti gli usi censiti dal dizionario Treccani. Se cercate il significato di “piattaforma informatica” invece sarete delusi perché è definita piattaforma praticamente qualsiasi cosa, hardware o software, che ne permette altre. E infatti i software per la creazione e gestione di corsi online (che, tanto per ricordarlo ai distratti, NON significa a distanza) potrebbero essere chiamati “piattaforme”, invece che software e basta, quando si volesse sottolineare che non sono soluzioni autosufficienti, ma che sono dei piani dove si può sostare e fare cose come se si fosse a terra, cioè sono delle tecnologie abilitanti ad altro. Oppure per dire che le attività che si fanno lì dentro non sono cablate dentro al software, ma sono optional, moduli autonomi che si possono aggiungere e togliere a piacimento. Ora seguitemi mentre cerco di spiegare cosa possono essere questi moduli: contenuti, pezzi di software, altre applicazioni, e chissà che altro. In questo modo magari riusciamo anche a capire le differenze tra piattaforma, suite, groupware, cloud.

  1. Non tutti i software per l’apprendimento online sono letteralmente piattaforme. Alcuni sono perfettamente autonomi: anche se non è definito a priori ciò che contiene il singolo corso (i contenuti, la loro struttura, le modalità di comunicazione e collaborazione tra corsisti si possono decidere volta per volta), tutto quello che serve si fa lì dentro senza bisogno di aggiunte esterne. Sono ambienti di apprendimento, ma non piattaforme. Non è né un bene né un male in sé: sono il frutto di una scelta e seguono una filosofia precisa con vantaggi e svantaggi. Un paio di vantaggi come esempio: il monitoraggio e la valutazione sono molto semplici, perché tutto quello che corsisti e docenti fanno avviane lì dentro. Inoltre, è molto più facile garantire la privacy degli utenti, perché niente fugge verso altri lidi dove non si sa bene cosa capita ai dati personali. Ci sono ovviamente svantaggi: le attività possibili sono solo quelle previste da chi ha progettato il software; altre attività possono essere suggerite, segnalate, ma non integrate in maniera trasparente nel percorso di apprendimento.
  2. Un software per l’e-learning che sicuramente è una piattaforma è invece Moodle. Moodle è stato chiamato così (Modular Object-Oriented Dynamic Learning Environment) dall’inventore per far notare che è un software modulare, cioè che le attività didattiche non sono cablate all’interno una volta per tutte ma sono pezzetti di software che si possono a) aggiungere ad un corso b)aggiungere alla piattaforma e c) aggiungere al repository del codice sorgente di Moodle. La prima operazione spetta all’autore del corso (il docente) la seconda al sistemista che configura la piattaforma, la terza agli sviluppatori che seguono le linee guida e producono nuovi moduli che si possono agganciare alla piattaforma (b) e aggiungere al corso (a).
  3. Questo approccio si basa su due linee di pensiero collegate ma diverse. La prima è quella che pensa le attività come oggetti che si possono descrivere, circoscrivere, prendere da un deposito e riusare. Questa linea di pensiero è quella che è stata resa famosa (e anche presa in giro e vilipesa), con lo standard SCORM: Shareable Content Object Reference Model. Standard inventato dall’Advanced Distributed Learning, presso il Dipartimento della Difesa degli Stati Uniti. Standard che si è evoluto fino all’ultima versione del 2009, e poi è stato abbandonato dagli stessi promotori a vantaggio di un approccio diverso: “qualsiasi cosa può essere un’attività didattica, purché sia in grado di inviare dati sull’utilizzo da parte dello studente secondo un linguaggio standardizzato”. Inviare a chi? Ad una piattaforma (detta Learning Record Store) che non ha uno scopo preciso, ma si limita a ricevere e organizzare i dati in modo che possano essere interrogati dai software di e-learning. Un po’ più avanti, sempre su questa linea tecnico-didattica si colloca lo standard LTI proposto dal consorzio IMS. Qui si tratta, più modestamente, di un protocollo che permette ad una piattaforma di e-learning come Moodle di parlare con un sistema di videoconferenza come se fosse un oggetto SCORM , cioè di inviare i dati di accesso di un utente e ricevere i dati sul suo utilizzo.
  4. La seconda linea di pensiero è quella più strettamente informatica, quella dell’Open Source. Visto che il codice sorgente dei software open source è riusabile anche da altri, è possibile tecnicamente, ma anche legalmente, aggiungere librerie, moduli, oggetti realizzati da altri sviluppatori all’interno del proprio software. Naturalmente, perché non sia un furto, occorre assicurarsi che la licenza originale lo permetta e specificare l’autore iniziale. Prendere il codice altrui e ricopiarlo senza citare è poco diverso da un furto. Questa bella opportunità – che non è tipica delle piattaforme, ma di tutto il software opensource – però nasconde anche dei rischi: siccome è facile copiare e incollare, o includere, non è detto che chi include abbia il tempo di controllare linea per linea il codice sorgente incluso e verificarne la qualità. Potrebbe farlo, tecnicamente e legalmente, ma non è detto che lo faccia. Per questo esistono versioni di software open source (ad esempio, versioni di Moodle) che sono garantite da qualcuno che si è preso la briga di leggere tutto il codice sorgente, eliminare la robaccia e i pezzi sospetti e tenere solo i moduli robusti e sicuri. I software proprietari (non nel senso che sono di qualcuno, ma nel senso che il codice non è opensource) ovviamente non permettono questo tipo di controllo. Di qui l’obbligo previsto dal CAD per la pubblica amministrazione di effettuare sempre una valutazione comparativa che prenda in considerazione il software opensource.
  5. Un altro tipo di piattaforme, nel senso di software non mono-blocco ma modulare, sono le suite per ufficio. Quelle che tutti conoscono oggi sono Google Gsuite e Microsoft Office365, ma le suite per ufficio esistono dalla metà degli anni ’80. Sono collezioni di software indipendenti, online o offline, che dialogano tra loro. Nel caso di software installati sullo stesso computer, questo “dialogare” significa che condividono l’interfaccia e il linguaggio; che si possono copiare e incollare dei pezzi di documento dall’uno all’altro oppure convertire facilmente da un formato all’altro. Nel caso di applicazioni remote, a cui si accede tramite internet, il dialogo è anche a livello di accesso: quando un utente è registrato e fa il login nella piattaforma/suite non ha bisogno di essere registrato anche nei software satelliti ma può passare da uno all’altro senza apparente interruzione. Le applicazioni sono remote nel senso che stanno su computer accessibili solo via Internet, ma anche perché per ragioni di convenienza, cioè di flessibilità e di sfruttamento degli investimenti fatti, sono divise in pezzetti sparsi su più computer. In questo secondo caso si parla di cloud, per indicare appunto che l’utente non ha modo di sapere esattamente dove stanno le applicazioni che usa, i documenti che produce e in generale i propri dati. E’ una situazione di incertezza che è diventata problematica con l’applicazione del GDPR. Peraltro parliamo qui di suite “per la produttività”, non di software per l’apprendimento, anche se è molto percepibile il tentativo di far passare una cosa al posto di un’altra cambiando terminologia. Non è solo una questione di marketing, ma anche di modello sottostante: se la scuola è palestra di vita, niente di anormale che fin da piccoli occorra abituarsi ad usare un word processor, un foglio di calcolo, un database. Si può essere d’accordo o meno con questa impostazione, ma va tenuta ben presente.
  6. groupware sono ancora diversi: sono software per la collaborazione e il lavoro di gruppo online. L’esempio più noto oggi è Microsoft Teams, ma anche in questo caso i primi sistemi del genere datano da almeno i primi anni novanta, se non si vuole considerare NLS di Engelbart che era addirittura della fine degli anni ’60’. L’unità di significato minima qui è il gruppo di persone, non la persona, e quindi le funzionalità principali sono appunto quelle che consentono di comunicare tra i membri del gruppo (chat, bacheca condivisa, videoconferenza), di scambiarsi files, organizzati in cartelle fisse o personalizzabili, e organizzare il lavoro (agenda e rubrica, progetti e tracciamento delle attività). Per un fenomeno ben noto di marketing aggressivo e concorrenza spietata per cui ogni software vuole diventare piattaforma, e quindi sostituire tutti gli altri, ai groupware si possono aggiungere altri pezzetti di software, e quindi diventa difficile distinguerli dalle suite di cui sopra.
  7. Tra le funzionalità dei groupware quella che oggi è davvero irrinunciabile (ma c’era già in NLS…) è la videoconferenza; il che complica le cose, perché si tende a confondere un groupware che ha al suo interno la videoconferenza (come Teams) con un sistema di videoconferenza vero e proprio (come Zoom o Jitsi). Chiamare Zoom una piattaforma è chiaramente improprio, sia perché non è una base dove si aggiungono moduli, sia perché parlare guardandosi in faccia non è sufficiente per collaborare.
  8. Se è vero che collaborare è sicuramente una parte importante del processo di apprendimento di gruppo, e collaborare e comunicare online diventa fondamentale quando la collaborazione fisica e la comunicazione orale non-mediata è impossibile, va tenuto presente che una suite di produttività per ufficio o un software pensato per supportare un gruppo di lavoro non sono necessariamente ambienti ottimali per l’apprendimento. Di qui tante durezze, giri improbabili, gerarchie e controlli esagerati, funzioni inutili e altre inspiegabilmente mancanti.

Per chiudere, spero che la parola piattaforma ora sia più chiara per tutti e venga usata in maniera coerente (e questa sarebbe una magra soddisfazione), ma soprattutto che non ci si butti ad usare X solo perché qualcuno ha sentito dire da qualcun altro che “è una piattaforma per la didattica digitale”.

The body snatcher (carrozze, videoconferenze ed educazione)

Apr
07

Tempo fa, a proposito degli ipertesti, scrivevo che il digitale è un vampiro, che succhia la realtà. Avrei dovuto scrivere che è più simile agli ultracorpi del film omonimo del 1955 (che penso tutti conoscano, in una delle sue versioni). Il titolo originale del film era “The body snatchers”, i ladri di corpi.

Secondo Bolter e Grusin (che all’epoca non conoscevo), il digitale “remediates” l’analogico, secondo una dialettica propria del processo mediatico, di tutti i media: la fotografia rimedia la pittura, etc. Mescola insieme media diversi (hypermediacy) e così facendo tenta di diventare trasparente (immediacy) come medium.

A me sembra che il digitale faccia una cosa un po’ diversa e specifica. Imita e sostituisce. Copia con il preciso scopo di prendere il posto dell’originale, come gli ultracorpi appunto.

La maggior parte degli artefatti digitali nasce come imitazioni di artefatti analogici. A partire da immagini e suoni digitali, che sono campionamenti discreti e che vengono rimesse insieme con un software per dare l’illusione della realtà. Lo smartphone imita il telefono, non solo nel senso che ne assume tutte le funzioni, ma nel senso che digitalizza tutte le sue parti (la rubrica, la selezione, la codifica della voce, l’invio e la ricezione) e le trasforma in software e dati.

Una volta fatta questa operazione, l’intero oggetto telefono si può rappresentare dentro un altro sistema digitale, cioè un computer. Per esempio ci sono simulatori di videogiochi, ma anche simulatori dei computer con cui si giocava a quei videgiochi.

La pagina del quaderno e quella del libro, compreso l’inchiostro, e poi l’indice e la copertina, sono stati digitalizzati. A questo punto, l’hardware che li contiene e permette l’interazione da parte di organismi fisici come noi diventa quasi indifferente (immediacy). Di qui, tra l’altro, l’ambiguità e confusione tra ebook (contenuto), ebook reader (software) ed ebook reader (hardware contenente).

Va anche detto che di solito si pensa solo ai dati che vengono convertiti e si mette meno l’accento sul software, che invece è essenziale per imitare i comportamenti che ci sono consueti con quei dati. Se i dati possono essere semplicemente campionati e riprodotti, le funzioni invece vanno analizzate e ricreate (poggiare la punta della penna sul foglio, premere, trascinare, staccare; e poi cancellare, sottolineare, etc.).

Non affronto questo tema per denunciare i rischi della virtualizzazione e per decantare la bontà del buon vecchio oggetto fisico o della sua rappresentazione analogica. Voglio solo sottolineare il fatto che questa capacità di replicare completamente per sostituire è tipica del digitale ed è una rottura rispetto a tutta la storia dei media precedenti.

Qual è il vantaggio di questo processo? Sullo stesso hardware posso simulare infiniti oggetti diversi. Quindi mi costa di meno. Con lo stesso linguaggio di programmazione posso creare infinite simulazioni. Quindi ottimizzo le competenze. Lo stesso stile di interazione si può applicare a infiniti ambiti diversi. Quindi ne facilito l’uso.

Queste, in breve, le ragioni economiche e sociali che hanno spinto il digitale fino alla situazione di dominio che oggi gli riconosciamo. Ma più interessante è, a mio parere, quello che succede quando ci si allontana dall’imitazione e si provano a creare modi di interazione del tutto nuovi. Interessante soprattutto per i fini educativi.

___

L’automobile è stata concepita, e poi presentata e quindi venduta, come carrozza senza cavalli. Si è portata dietro questo schema antico, per evolversi e allontanarsene un po’ alla volta (ma ancora parliamo di potenza in termini di cavalli). Non può staccarsi troppo perché trova dei limiti: il guidatore e il passeggero devono essere seduti comodamente, protetti dalle intemperie, ma contemporaneamente devono poter vedere la strada, etc. Fa qualcosa di diverso del carro con i cavalli: corre molto di più, è più piccola, ha maggiore autonomia, può rimanere ferma per mesi e poi ripartire, se non è in funzione non gli si deve dare da mangiare. Ma in fondo niente di radicalmente diverso dal carro.

Un po’ come la videoconferenza usata per le lezioni a distanza. Oggi è usata come una cattedra molto, molto lontana. Ancora non riusciamo a immaginarne un uso in quanto tale, non come simulazione di qualche altra cosa.

Spostiamoci un attimo nel mondo del coding. Guardando agli ambienti di programmazione visuale (sì, parlo di Scratch; ma pure di Snap! e di tanti altri) viene inevitabilmente in mente il LEGO come metafora. Ora immaginiamo una simulazione digitale proprio del LEGO originale (esiste davvero, in una versione più semplice di come la descrivo nel seguito, http://ldd.lego.com/en-us/). I mattoncini sono parallelepipedi colorati su uno schermo. Si possono girare in tutte le direzioni, spostare, congiungere.

Quali sarebbero le differenze con il LEGO del mondo reale?

  1. il numero dei mattoncini è teoricamente infinito (non lo è in pratica perché la il software, e la macchina su cui gira, hanno dei limiti fisici)
  2. è facile assegnare ai mattoncini digitali altre proprietà o comportamenti. Potrebbero diventare trasparenti, crescere; ma anche suonare, muoversi da soli, staccarsi e attaccarsi dopo un certo tempo.
  3. sulla base di queste proprietà si possono immaginare regole, giochi, interazioni che con i mattoncini di plastica non sarebbero possibili.
  4. queste nuove regole e interazioni possono essere immaginati da chi ha progettato il software, ma anche da chi lo usa, ammesso che il software lo permetta

Insomma questa immaginaria versione digitale del LEGO potrebbe essere riprogrammata, anche dai bambini. Questa è una differenza importante. Non è solo questione di portabilità, leggerezza, facilità, ma di legge costitutiva, di regole che sono in mano all’utente e non solo al produttore.

Qui il digitale mostra la sua potenzialità.

Ecco, questa è la strada. Staccarsi dai limiti che erano appiccicati all’immagine precedente, il LEGO, la cattedra,la carrozza con i cavalli, e creare qualcosa di davvero nuovo.

Ambienti digitali per l’apprendimento

Mar
09

(Questo articolo ripropone con minime modifiche il Capitolo 1 del testo omonimo, scritto in collaborazione con Morena Terraschi e pubblicato da Anicia nel 2000. Sì. Avete letto bene.)

Ambienti digitali per l’apprendimento

Bisogna essere onesti: la formazione a distanza ancora non convince completamente. Al di là di chi è contrario per principio (gli umanisti che ne temono la freddezza, i luddisti che ci vedono un attacco alla categoria dei formatori), anche chi è stato entusiasta all’inizio comincia ad essere critico e a non vedere più solo gli aspetti positivi. Questo è senz’altro un bene, perché un atteggiamento acritico e un ottimismo generalizzato hanno permesso di catalogare sotto la voce “formazione a distanza” metodi, tecniche e ambienti molto diversi tra loro, qualche volta anche poco convincenti.

Ma al di là dei limiti della tecnologia, che sono sempre superabili (così almeno dicono i tecnologi…), la domanda di fondo resta questa: siamo sicuri che si possa davvero imparare qualcosa a casa propria, senza un libro e senza la presenza di un vero insegnante, ma soli davanti ad un computer?

È una domanda ingenua, se si vuole, ma non bisogna aver paura di porla. Se il vestito dell’imperatore è una truffa, o nel migliore dei casi un’illusione collettiva, meglio saperlo subito.

A chi sottoporre la questione? Alla pedagogia, naturalmente, anzi alle pedagogie.

I modelli pedagogici prevalenti in questi ultimi cinquanta anni (comportamentismo, cognitivismo, costruttivismo) hanno diversamente descritto il rapporto tra soggetto che apprende e ambiente di apprendimento. Ognuno di questi modelli ha informato di sé la maniera di utilizzare i computer in campo educativo. Anche oggi, ogni software didattico può essere rapportato all’uno o all’altro modello, anche a prescindere da quello che ne dicono gli autori

Facciamo un breve riassunto.

Per il comportamentismo, che negli anni ’50 in nome della scienza sperimentale tentava di espungere l’introspezione e tutta la psicologia che sapeva troppo di “metafisica ottocentesca” dalla teoria dell’apprendimento, il soggetto è una scatola nera di cui non si può sapere nulla. Non ha senso parlare di mutamenti interni del soggetto perché non abbiamo un mezzo per verificarne la presenza; quello che si può fare è modificare la maniera in cui il soggetto interagisce col mondo esterno. Gli effetti dell’apprendimento sono misurabili con test oggettivi, e questa è la sola cosa che interessa.

Il computer è usato dal comportamentista come macchina per somministrare informazioni e batterie di test.

Molti sistemi di FaD sono ancorati a questi solidi presupposti, a dispetto delle pretese di modernità accampate con l’uso di effetti speciali o di agenti software intelligenti. In questa visione, è sicuramente possibile apprendere qualcosa con un computer, anzi le garanzie di standardizzazione dell’informazione che l’informatica offre sono largamente sufficienti e insuperabili.

Per il cognitivismo, che ritiene eccessivamente modesta la proposta del comportamentismo, possiamo invece parlare di come, in seguito ad un apprendimento, sia venuta a modificarsi la rappresentazione interna nel soggetto. Apprendere significa arricchire il proprio patrimonio di conoscenze sia in termini di nuovi dati, sia – e soprattutto – in termini di ristrutturazione dei dati presenti attraverso la creazione di nuovi schemi che strutturano quei dati.

Il cognitivismo ha permesso di far partire molti progetti di ricerca sulla simulazione del ragionamento e dell’apprendimento all’interno di una macchina digitale. L’uso di mappe grafiche per la rappresentazione di ambiti concettuali complessi, mappe che non sono solo presentazioni per l’occhio umano ma anche grafi percorribili da un algoritmo, è un buon esempio – per quanto raro – di come una riformulazione adeguata di conoscenze sia a sua volta un atto che produce conoscenza.

Comportamentismo e cognitivismo, per quanto opposti fra loro, hanno però in comune una concezione statica dell’apprendimento, in cui se il soggetto cambia, lo fa soltanto all’interno dell’universo mentale, mentre l’ambiente in cui avviene l’apprendimento resta immutato. Sembra un’ovvietà, ma non lo è.

Come scrivevamo in un testo di qualche tempo fa:

“L’analisi tradizionale dell’educazione individua due elementi separati: l’io ed il mondo esterno. Questi elementi sono opposti, tanto sul piano morale che su quello conoscitivo. Dal punto di vista etico, si ha da una parte la soggettività irriducibile del bambino, sospinto dal principio di piacere, e dall’altra la società degli adulti, regolata dalla morale del dovere. Dal punto di vista conoscitivo, si ha una coscienza “tabula rasa” da un lato, e la totalità delle conoscenze che sono patrimonio della scienza dall’altro.

Per conciliare la differenza tra i due elementi si inserisce tra di essi la mediazione di un istituto educativo (la scuola), i cui costituenti (docente, libri, etc.) devono servire a portare il soggetto verso l’accettazione delle leggi morali e scientifiche del mondo esterno. La scuola è quindi, da un punto di vista teorico, un deus ex machina che permette di unificare due concetti pensati come opposti.” (Io bambino, tu computer, Anicia, 1993)

L’educazione sarebbe, da questo punto di vista, il tentativo di controllare dall’esterno l’apprendimento meglio di quanto possa accadere naturalmente, attraverso la creazione di ambienti artificiali (la scuola, la bottega) o di strumenti che accelerino il processo (il libro, i software didattici, i sistemi per la FaD).

Nel costruttivismo, il terzo grande filone della pedagogia moderna, non si può parlare di apprendimento a prescindere da tre elementi: il soggetto, il contesto e il tempo. C’è sempre un chi, un dove e un quando dell’apprendimento: l’apprendimento è sempre situato.

Ma soprattutto, il costruttivismo abbandona tutte le metafore di tipo “fotografico”: la conoscenza non viene acquisita, cioè ricopiata dentro la mente, ma elaborata dalla mente. E naturalmente ogni elaborazione è personale e originale.

C’è un Apprendimento con la A maiuscola, che è quello cui di solito si pensa, codificato in momenti specifici della vita e a volte in luoghi specifici (la scuola, la bottega).

E c’è poi un apprendimento con la a minuscola, che è quello che avviene tutti i giorni, e che coinvolge tutti, e che è semplicemente il processo con il quale un organismo acquisisce nuove informazioni, le fa proprie e le riusa per adattarsi meglio all’ambiente.

Tutti apprendiamo in continuazione, i bambini come gli adulti, a scuola come per strada. I bambini, certo, sono professionisti dell’apprendimento; si può anzi dire che apprendere è il loro modo naturale di porsi di fronte al mondo; ma questo non vuol dire che l’apprendimento sia un loro appannaggio esclusivo.

Forse si può dire che l’apprendimento non è nemmeno un comportamento così tipicamente umano come ci piacerebbe pensare. Non soltanto gli animali apprendono, ma anche le piante e i batteri, e insomma tutti gli esseri viventi in quanto modificano il loro comportamento costruendo schemi nuovi che funzionano meglio di quelli precedenti. Provate a immaginare…

Una festa. Dal buio e freddo esterno entri in un locale chiuso, ti togli il cappotto, e cominci a percepire colori, forme, suoni.

I suoni si precisano: lingua parlata (la tua?), voci che si precisano in parole, e che cominciano a costituirsi in frasi.

Anche le immagini si precisano: da semplici zone chiare e scure acquistano colori, si catalizzano in oggetti, o in corpi e volti di persone, e alcuni di questi in volti conosciuti di amici.

La situazione diventa sempre più strutturata: di là il buffet, qui il divano con un posto vuoto, in fondo la finestra resa famosa da Nanni Moretti in uno dei suoi primi film.

Contemporaneamente, l’ambiente si modifica. Individuata una sedia libera ti siedi, e quel posto vuoto non c’è più, il gruppo di persone che ti pareva più interessante cambia di composizione, cominci a parlare e l’argomento della conversazione cambia con il tuo intervento nel discorso.

Altre persone entrano nella stanza, e percepiscono l’ambiente diversamente, anche a causa del mutamento prodotto dalla tua azione.

Questa storia si può raccontare da molti punti di vista: quello della sociologia (le interazioni tra i gruppi di individui), quello della psicologia della percezione (l’organizzazione dei dati sensoriali), quello dell’antropologia (i ruoli assunti). La pedagogia ne sceglie uno specifico, che consiste in un’attenzione alla maniera in cui il soggetto acquisisce il controllo dell’ambiente.

L’apprendimento non è un fenomeno particolare, ma la descrizione di un processo da un punto di vista particolare. E la pedagogia, come scienza dell’apprendimento, racconta la maniera in cui il soggetto acquisisce il controllo dell’ambiente.

Man mano che il soggetto procede la sua esplorazione dell’ambiente acquista nuove capacità e potenzialità; dal canto suo l’ambiente stesso viene realmente a mutare nel corso del processo, assoggettato a nuove leggi introdotte dal soggetto. Avete letto bene: nell’apprendimento non si modifica solo il soggetto, ma anche l’ambiente.

L’umanità ha scoperto da tempo che utilizzare degli ambienti appositamente progettati per cedere il controllo ai soggetti è più efficace e più sicuro che lasciare i soggetti imparare da soli nel mondo “adulto”.
La bottega, la scuola, il libro sono esempi di questo tipo di ambienti “a orologeria”.

Allo stesso modo, un ambiente digitale per l’apprendimento è tale proprio perché consente, e anzi invita, lo studente a modificarlo per renderlo più controllabile. Un ambiente di apprendimento digitale è progettato per cedere il controllo in maniera progressiva, fino ad abdicare nei confronti del soggetto che apprende. Se resta sempre uguale, non è educativo – cioè non permette apprendimento.

Torniamo alla FaD.

Parlare di Formazione a Distanza sembra implicare due premesse:

  • che la FaD sia appunto un caso particolare di formazione;
  • che la caratteristica principale della FaD sia il suo svolgersi tra soggetti (docenti e studenti) che fisicamente non si trovano a condividere lo stesso spazio.

Questi due presupposti apparentemente innocenti sono in realtà pieni di implicazioni pesanti.

1. La FaD è un caso particolare di formazione?

“Formazione” è un termine dinamico che porta con se l’idea di un soggetto che non possiede la forma, ma che la riceve da qualcuno. Formare è d’altronde un verbo transitivo, e il formatore è colui che possiede la forma e che plasma – platonicamente – la materia cognitiva bruta del discente per precisarla e definirla. La FaD, secondo questa interpretazione, dovrebbe permettere ad un formatore di rendere oggettiva la forma che possiede e applicarla ripetutamente a soggetti diversi. Invece è chiaro che la FaD è portatrice delle istanze di personalizzazione dell’apprendimento, che è un processo guidato dallo studente più che dal docente (che infatti, più frequentemente, viene denominato tutor). Se c’è ancora chi interpreta la FaD come un artificio tecnico che permette di organizzare una serie di lezioni in videoconferenza, la quasi totalità dei sistemi FaD sono invece veri ambienti di gestione della conoscenza, dotati di funzioni di ricerca, indicizzazione, generazione di percorsi personalizzati, comunicazione.

2. La caratteristica principale della FaD è il suo svolgersi a distanza?

Questo implicherebbe che i benefici che è lecito attendersi sono solo di riduzione dell’attrito, per così dire, cioè di eliminazione di tutti gli ostacoli esterni (fatica, dispendio di tempo e risorse) che mettono in pericolo lo svolgersi tranquillo di un processo formativo tradizionale. Ma se è vero che un processo di FaD può svolgersi anche a distanza, questo non implica affatto che debba svolgersi solo a distanza. Se pensiamo a situazioni geografiche come quelle canadesi o finlandesi, dove clima e distanza rendono infinitamente più conveniente attivare corsi online anziché in presenza, questo significato si impone come l’unico possibile.

La FaD ha modi e caratteri suoi propri, che hanno senso indipendentemente dalla collocazione fisica degli attori.

Noi non pensiamo che questa collocazione della FaD come caso particolare – limitato dal suo svolgersi attraverso uno spazio significativamente esteso – della formazione tradizionale sia la maniera più corretta di pensarla. La FaD è un processo originale, per certi versi parallelo alla formazione, che richiede un ripensamento dei ruoli (studenti e docenti), delle strategie di insegnamento/apprendimento e di quelle di valutazione.

La caratteristica che ci sembra più propria dei processi di apprendimento digitale è il fatto che essi si basano su (e in parte costruiscono), un supporto condiviso, un piano del discorso comune dove tutte le interazioni si svolgono. Questo piano è, per la sua natura digitale, accessibile indipendentemente da tempo e spazio. E’ un piano dove i soggetti costruiscono insieme conoscenza, dove simulano la realtà attraverso dei modelli e verificano l’aderenza dei modelli alla realtà. Che si tratti di una realtà fisica o linguistica, non cambia poi molto.

Anche per sottolineare questa originalità della FaD noi preferiamo parlare di apprendimento digitale (che ci sembra la migliore traduzione italiana possibile di e-learning): non un apprendimento del digitale, ma un apprendimento che si svolge all’interno di un ambiente che è prima di tutto digitale, poi (forse) anche mediato dalle reti e dai protocolli delle telecomunicazioni.

Le implicazioni di questa caratterizzazione forte della FaD come apprendimento digitale sono fortissime per tutte le questioni relative alla valutazione: se tutto passa attraverso la piattaforma, e viene registrato, il docente ha a disposizione una quantità di dati enorme su cui applicare l’analisi valutativa. Non serve necessariamente interrompere il processo di apprendimento con dei test, ma si può valutare in maniera continua, in maniera realistica a partire dalle azioni degli studenti.

Ma più importanti ancora ci sembrano le conseguenze sul piano dell’apprendimento: la conoscenza presente in un corso non si esaurisce con quella prevista dal suo autore e codificata nelle unità del corso. Anche gli studenti e i tutor possono aggiungere (o modificare) le informazioni originali. Cosa che di solito avviene anche in un corso in presenza; solo che in quel caso di tutto questo lavoro ulteriore di costruzione non resta traccia, mentre in un corso online tutte le aggiunte sono conservate insieme all’originale.

Provate a pensare ad un corso come ad una pellicola in cui il fotogramma 1 contiene le informazioni fornite dall’autore, il fotogramma 2 contiene le modifiche e le aggiunte fatte dagli studenti il primo giorno, e così via per tutti i giorni in cui il corso è stato attivo. Il corso in senso proprio è costituito non dal primo fotogramma, e nemmeno dall’ultimo, ma dall’insieme di tutti i fotogrammi (il film). Un insieme che con strumenti adeguati potrebbe essere “proiettato” oppure semplicemente analizzato per estrarne ulteriori informazioni: lo stile cognitivo dei partecipanti, la maniera di affermarsi delle idee migliori, il processo evolutivo che rende certi concetti inadeguati e altri vincenti, e così via.

Probabilmente, in un futuro vicino il termine “formazione” tout court coinciderà con la FaD, e solo pochi potranno permettersi una vera formazione in presenza, che verrà vista come un caso particolare di FaD non digitale.