Digi Tales

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.

La fine della formazione

Ago
14

La formazione professionale ha senso se esiste una professione d’arrivo, cioè se esiste il contesto in cui una certa competenza può essere esercitata, riconosciuta, richiesta, pagata. Quando il contesto scompare, scompare la professione, e scompare anche la formazione. E’ questo lo scenario che ci aspetta grazie alla creazione di modelli di Machine Learning addestrati a partire dai dati d’uso dei professionisti come traduttori, programmatori, giornalisti. Sembra curioso che il mondo della formazione non se ne renda pienamente conto.


1 “The grand object therefore of the modern manufacturer is, through the union of capital and science, to reduce the task of his work-people to the exercise of vigilance and dexterity” (Andrew Ure – The Philosophy of the Manufacturers (1835)

La fabbrica ottocentesca ha cancellato una serie di mestieri artigianali e la formazione relativa che avveniva nella bottega. Lo stesso è successo con l’agricoltura motorizzata che ha rimpiazzato i contadini e il passaggio delle competenza all’interno della famiglia. Si trattava di mestieri manuali che però richiedevano una competenza alta: zappare la terra, checché se ne dica, è operazione complessa oltre che faticosa. C’è stata una doppia sostituzione: la forza biologica è stata sostituita da forza inanimata (acqua, vento, vapore), mentre la mano è stata sostituita da un dispositivo meccanico. L’uomo serve ancora, ma solo come controllore di processo.

Questo processo è stato letto come un effetto della specifica maniera di produzione capitalista che ha condotto alla soppressione di milioni di posti di lavoro e alla miseria di milioni di famiglie; oppure come una generale promozione umana dal mondo del lavoro fisico a quello del lavoro intellettuale. Marx nel Capitale cita Aristotele: “se ogni strumento potesse compiere su comando o anche per previsione l’opera ad esso spettante, allo stesso modo che gli artifici di Dedalo si muovevano da sè o i tripodi di Efesto di proprio impulso intraprendevano il loro sacro lavoro, se in questo stesso modo le spole dei tessitori tessessero da sè, il maestro d’arte non avrebbe bisogno dei suoi aiutanti e il padrone non avrebbe bisogno dei suoi schiavi”. Non è la macchina in astratto a creare la disoccupazione e le condizioni di lavoro alienato, ma la maniera specifica in cui viene inserita nel processo produttivo.

Il fatto che il lavoro di aratura una volta fosse eseguito a mano, poi da una macchina semplice che usa un’energia non umana (un aratro mosso da un cavallo) e infine da un trattore, non ha cancellato il sapere sull’aratura: era comunque necessario che qualcuno sapesse come si deve arare, a che profondità, quando. La conoscenza teorica doveva esistere ed essere trasmessa e integrata nella macchina, mentre la competenza pratica poteva scomparire senza danni. Al posto dell’esperienza, trasmessa nella famiglia o nel laboratorio artigianale, arrivava la scienza, sulla base della quale si poteva progettare un algoritmo e costruire una macchina. Ma restava importante nella società il ruolo della formazione (dell’università, della scuola) come luogo di elaborazione e trasmissione di quella scienza.

2 Quello che sta succedendo oggi è qualcosa di diverso. Non è la mano con la pinza ad essere sostituita, ma la mano con la penna. Non sono i compiti di trasformazione della materia ad essere oggetto di ripensamento, ma quelli di trasformazione delle parole. Questo è reso possibile dall’inserimento di una macchina speciale (il computer) nel mercato del lavoro intellettuale. Anche la maniera in cui vengono inseriti è nuova.

I computer sono nati per fare calcoli complessi, calcoli che gli umani svolgevano in un tempo maggiore e con una possibilità di errore variabile. Tutti ormai conoscono la storia delle calcolatrici umane della NASA (“computer”). Il passo successivo è stato quello di collegare al computer un ricettore e un effettore fisico. In questo modo, oltre a fare i calcoli, il computer è diventato soprattutto un dispositivo che trasforma un algoritmo astratto in un gruppo di azioni fisiche, le quali vengono svolte non solo in una sequenza prefissata, come nel caso dei telai Jacquard, ma in base al presentarsi o meno di certe situazioni. Le lavabiancheria programmabili sono un buon esempio di questo livello di integrazione: un programma è costituito da una serie di controlli (livello dell’acqua, tempo trascorso, temperatura) e di azioni corrispondenti.

Ancora più avanti, i computer sono stati miniaturizzati e usati non direttamente per controllare macchine complesse, ma per supportare gli umani nel loro uso. Una autovettura moderna sarebbe difficile da guidare, ma anche da gestire, se non ci fosse un computer di bordo che raccoglie i dati, li elabora secondo modelli, e avverte il conduttore al superamento di condizioni di rischio (carburante in esaurimento entro X chilometri, pneumatici sgonfi, eccetera). In alcuni casi le autovetture sono in grado di effettuare da soli queste correzioni, come nel caso dell’intervento dell’ABS.

Tecnicamente cambia poco quando l’utente non è il consumatore ma il professionista, cioè quando è la sfera del lavoro ad essere investita dalla trasformazione. Anche i software di supporto alle professioni esistono da tempo: i meccanici usano software come supporto alla diagnosi delle autovetture, i giornalisti e i traduttori usano software che li aiutano nella scrittura, i docenti usano piattaforme che li aiutano a intercettare rapidamente un problema di apprendimento degli studenti. Anche in questo caso, si tratta di software che controllano i valori di alcuni parametri e sulla base di un modello di riferimento avvertono l’utente o gli forniscono suggerimenti di correzione. La differenza è che il computer è un ausilio del professionista nel suo operare verso terzi, quindi interviene mettendosi al suo stesso livello. E’ ancora un alleato, invisibile per il cliente.

3 Il passo successivo cambia completamente il quadro: il software si propone direttamente al cliente nella forma di servizio. Software che non si limitano a raccogliere dati, confrontarli con un riferimento atteso e suggerire eventuali correzioni, ma che sulla base di un modello addestrato a partire da un’enorme quantità di dati raccolti dalle performance di milioni di professionisti, e sulla base di tecnologie di machine learning, sono in grado di svolgere gli stessi compiti di questi professionisti e di offrirsi sul mercato in concorrenza.

Attualmente si vedono i primi esempi nei settori che sono circoscritti alla produzione di testi scritti: la creazione di riassunti o di brevi testi, la traduzione, la scrittura di programmi.

La traduzione automatica, il sogno fondante delle ricerche sull’Intelligenza Artificiale negli anni ’60, è ormai sufficientemente precisa da poter essere usata a livello semi-professionale. Non si possono ancora tradurre automaticamente romanzi in cui lo stile vada preservato, ma si possono tradurre brevi testi in cui il contenuto è quello che conta . Oltre ai più noti Bing Translator e Google Translate, ci sono software come DeepL, sviluppati da piccole aziende che restituiscono testi ben scritti, coerenti, fluidi. Ma mentre lo scopo principale di queste ultime è quello di vendere il proprio servizio come tale, lo scopo dei corrispondenti sevizi di Microsoft e Google è più ampio, e permette ai soggetti in questione di offrire gratuitamente, al momento, questo servizio; magari per inserirlo prossimamente come funzionalità aggiuntiva nelle suite di strumenti per l’ufficio che entrambi forniscono. Questo fa sì che studenti, professionisti, aziende che hanno bisogno di produrre un testo tradotto già oggi non fanno più ricorso ad un traduttore umano, che ha un costo che varia in base alla lingua (cioè alla disponibilità sul mercato di traduttori competenti nella coppia di lingue), ma si contentano della traduzione automatica. Così facendo, aumentano la base di dati su cui i modelli si addestrano, e migliorano la qualità del servizio.

I traduttori cominciano a soffrire per questa riduzione di lavoro e reagiscono difendendo “il plus umano”, specializzandosi in domini sempre più piccoli, volgendosi ai campi in cui lo stile è decisivo. Ma si tratta di strategie destinate a fallire: più aumenta il loro livello qualitativo e la loro specializzazione, più dati forniscono ai software di supporto alla traduzione, più diventano efficaci i software di traduzione automatica. Questa differenza è enorme, e rende la situazione molto diversa da quelle precedenti. Si crea un circolo vizioso da cui il professionista non può uscire. Attenzione: il circolo non dipende genericamente dall’uso di una macchina al posto di un uomo, o dall’uso della macchina computer in particolare, ma da questa particolare maniera di costruire competenza artificiale a partire dalla competenza umana.

L’aspetto che non è abbastanza sottolineato, a mio parere, è l’influsso che questa sostituzione ha sulla formazione professionale (nella quale è inclusa anche la formazione universitaria).

Man mano che si incrina il mestiere del traduttore, diventa inutile la formazione relativa, se non quella di altissimo livello (la traduzione letteraria, quella specialistica) che però farà fatica a trovare studenti che abbiano il livello necessario. Scompariranno i corsi base per interpreti e traduttori; ci si domanda se scompariranno anche i corsi di lingua, visto che per le necessità comuni tutto sommato un software è in grado anche da fungere da interprete. In ogni caso, già ora gli studenti di lingue sanno bene che il lavoro di traduttore è destinato a scomparire. I sottotitoli delle serie televisive vengono generati automaticamente (con qualità ancora scarsa); ma questo significa che non vale la pena per un ragazzo investire nell’apprendimento delle lingue pensando ad un futuro professionale in questo settore.

D’altra parte, i software di traduzione automatica non sono il frutto di un lavoro misto di linguisti e ingegneri, ma sono sempre di più basati su modelli costruiti sulla base di larghissimi esempi (machine learning). Questo renderà inutile la trasmissione alle generazioni future della conoscenza linguistica che sta alla base di un processo di traduzione umano. Dopo i corsi di traduzione e i corsi di lingua, scompariranno anche i corsi di linguistica e resteranno solo i corsi di machine learning.

4 Va beh, ma tradurre in fondo è semplice. La competenza della scrittura originale, quella, resterà sempre in mano agli umani. La creatività, ah la creatività.

Insomma. A prescindere dai software “tradizionali”, che sono in grado di creare plot narrativi a partire da personaggi e target (alcuni esempi sono raccolti qui), è il mondo del giornalismo che sta per essere investito dallo tsunami del machine learning. Non domani, adesso. Basta leggere quello che fa Asimov, un sistema della startup romana ASC27. Non sostituisce il giornalista (per ora), ma si presenta come il suo AI Collegue. Fa un sacco di lavoro sporco per i social network:: traduce il testo in audio, crea podcast oppure storie per Instagram; ma individua i trend di un settore, li traduce in strutture dati ed è in grado di scrivere dei drafts di articoli.

Se non ci credete, potete sempre provare con uno dei tanti colleghji di Asimov: per esempio, Sassbook Ai Writer.

5 La stessa cosa sta succedendo per la programmazione, come dimostra il caso di Microsoft AI Copilot. Nel primo periodo di test i programmatori saranno solo aiutati dal “copilota”, che si limiterà a suggerire il codice sorgente adatto al compito descritto dal programmatore. Ma una volta diffuso largamente, come plugin di Visual Studio, e una volta raccolti ancora più dati, AI Copilot si trasformerà in un servizio in grado di produrre autonomamente il codice sorgente.

A quel punto, non sarà più necessario per un’azienda assumere un programmatore senior o particolarmente creativo: qualunque junior potrà realizzare qualsiasi compito gli venga assegnato, esattamente come agli operai adulti e competenti si poteva sostituire un bambino nella fabbrica ottocentesca. E’ il sogno democratico americano: tutti possono diventare programmatori, con un po’ d’aiuto da parte di un guru, o di un modello di machine learning. L’arrivo sul mercato di un’ondata di programmatori junior, sempre più giovani, sempre meno formati ufficialmente, avrà l’effetto di cacciare fuori i programmatori senior, di abbassare il costo del lavoro del programmatore, di rendere inutili i corsi di formazione avanzati e i diplomi universitari. Si può anche discutere sul fatto che la qualità media del codice prodotto si abbassi: potrebbe anche darsi che il livello medio resti costante o addirittura salga. Viceversa, si potrebbe ipotizzare una standardizzazione che non presenterà picchi né in alto, né in basso. Codice corretto, funzionante, ma non innovativo, perché discendente da codice sorgente scritto in precedenza (per il momento, quello pubblicato in GitHub). Se a regime tutte le aziende usassero Ai Copilot, o un suo equivalente targato Google, anche la base di partenza su cui viene costruito il modello si uniformerebbe, con conseguente appiattimento del codice prodotto.

6 Ma senza proseguire in questa direzione, che è specifica del mondo della creazione del software in cui il prodotto di un software è esso stesso un software, in tutti gli altri casi possiamo fermarci alla fase 1: quella per cui ogni lavoro di produzione intellettuale che possa essere sostituito del tutto o in parte da un software andrà a scendere di posizione sociale, e quindi di valore economico, rendendo di conseguenza poco attraente la formazione relativa, che finirà per scomparire.

Una versione fantascientifica di questo processo prevede che ci sia una fase 2, in cui non sarà più necessario che ci siano programmatori umani a scrivere codice sorgente sulla base delle specifiche fornite dall’analista sulla base dei bisogni raccolti, ma sarà sufficiente che l’esperto del dominio applicativo di quel software descriva suoi bisogni perché l’AI Coder produca il software finale. Verrà quindi eliminata anche la figura dell’analista, e l’autore del software sarà un esperto che non ha le competenze per scriverlo o leggerlo. Ma poiché questa attività (scrivere il codice sorgente necessario per un certo compito) fa parte delle cose che sanno fare i software, il passo successivo sarà quello per cui l’idea stessa di scrittura del codice come atto separato sarà sostituita da una funzionalità aggiuntiva di ogni software, attivabile in continuo e non solo in certi momenti particolari. Tutti i software saranno dotati della capacità di crescere, di ripararsi, ed eventualmente generare cloni. E’ curioso, se ci si pensa, che lo scenario apocalittico di tanti film sul AI che prende il sopravvento della macchina sull’umano abbia come protagonisti i robot, e non i software, che sono molto più diffusi e molto più vicini all’autonomia.

Questo processo è diverso dal corrispondente processo di sostituzione dell’operaio competente con una macchina, perché in questo caso – grazie al Machine Learning che impara dati dati, non applica una teoria – anche la conoscenza teorica che permetteva di disegnare l’automazione verrà resa inutile. Non soltanto non sarà più necessario che sia un essere umano a scrivere un programma (o a effettuare una traduzione o scrivere un articolo); ma ad un livello superiore, non ci sarà nessuno in grado di verificare un testo, di correggerlo, di deciderne l’applicabilità ad un contesto.

Si può immaginare che per un certo periodo resti attiva una formazione ultra-specifica, riservata a pochissimi eletti, che sfoci in una nuova professione: il controllore umano. Si tratterebbe peraltro di un periodo di transizione, in attesa che anche questa competenza possa essere imitata ad un software.

Sul piano sociale, un effetto prevedibile potrebbe essere la nascita di un movimento neoluddista (sulla scorta del movimento che ha accompagnato la diffusione delle fabbriche), a cui parteciperebbero tutti i professionisti formati tradizionalmente, i quali si rifiuterebbero di fornire i propri prodotti come sorgente di apprendimento per i modelli di ML. Qui non siamo nella fantascienza ma nella storia: è quello che hanno cominciato a dire alcuni programmatori a proposito dell’uso del codice sorgente di Github da parte di Microsoft per nutrire il modello di AI Copilot: o GitHub cambia licenza, oppure togliamo il nostro codice da lì.

7 Se si trattasse di un processo naturale, di un movimento universale e necessario, potremmo pensare che l’umanità – o almeno la sua parte più ricca – dopo aver smesso di compiere lavori fisici smetterà anche di compiere lavori intellettuali, e si trasformerà in una specie dedita al godimento estetica, cancellando finalmente l’etica del lavoro e del merito.

Più realisticamente, potremmo immaginare che in aree geografiche del mondo in cui le persone che hanno delle competenze di valore sono rare – perché manca la formazione, perché non c’è un mercato, perché sono aree a rischio, perché i numeri sono troppo grandi – il software potrebbe sostituirle. In Paesi in stato perenne di guerra o di carestia è difficile trovare traduttori, giornalisti, programmatori (ma soprattutto docenti, medici, avvocati).

Allora ecco che il surplus tecnologico andrebbe a colmare quei vuoti.

Certo, ci sarebbe sempre una distanza: i Paesi ricchi si potrebbero permettere dei professionisti “veri”, supportati dai vari Collegues, Companions, Copilots, mentre i Paesi poveri avrebbero a disposizione solo quelli “artificiali”. Ma la crescita culturale che ne seguirebbe potrebbe anche modificare gli equilibri e creare più cultura a livello mondiale.

Il problema è proprio che questo non è un fenomeno naturale. C’è di mezzo la volontà precisa di alcune imprese di indirizzare in quella direzione l’uso dell’informatica, di fare profitto in questo specifico modo. Queste imprese intendono sostituirsi su scala planetaria al “motore della storia della tecnica” facendo delle scelte che tendono all’eliminazione delle professioni nelle aree ricche del mondo, e alla loro sostituzione da parte di “servizi”.

Inoltre, non cercano semplicemente il guadagno, come fa ogni impresa for profit, ma cercano di semplificare e controllare tutti gli aspetti della vita umana, per il bene dell’umanità. Già oggi non serve saper leggere una mappa, non serve sapere le lingue; e presto non servirà rivolgersi ad un programmatore. Basta affidarsi all’assistente privato, che si chiami Alexa, Siri, Cortana.

E’ importante vedere la non naturalità di questo processo, perché solo così si può pensare di invertirlo o almeno creare delle alternative (come, ad esempio Mycroft che si presenta come alternativa opensource agli assistenti vocali). Non è l’unica maniera in cui il digitale può evolversi, anche se è al momento quella più probabile. Bisogna riuscire a pensare una differenza.

E’ la differenza che è presente nell’analisi contenuta nel Capitale delle macchine ottocentesche tra strumenti usati nella manifattura e macchinario nella fabbrica:

“Nella manifattura e nell’artigianato l’operaio si serve dello strumento, nella fabbrica è l’operaio che serve la macchina. Là dall’operaio parte il movimento del mezzo di lavoro, il cui movimento qui egli deve seguire. Nella manifattura gli operai costituiscono le articolazioni di un meccanismo vivente. Nella fabbrica esiste un meccanismo morto indipendente da essi, e gli operai gli sono incorporati come appendici umane” (Libro I, Sez. IV, Cap 13).

E’ la differenza tra software come strumento (pannello di controllo, verifica, etc ) che aiuta e il software come macchinario che sostituisce.

Non è necessario che il software debba trasformarsi in macchina di cui le persone sono appendici. Si può ancora puntare a realizzare software che seguano il movimento delle persone, e non che lo impongano. Si può ancora immaginare una produzione di software che è volta al profitto – cioè al sostentamento di chi ci lavora – ma non al dominio totale di ogni aspetto della società.

E’ questa mancanza di pensiero alternativo che ci sta consegnando con le mani legate ad un futuro agghiacciante.

TDT: l’acronimo nuovo che nuovo non è

Giu
16

La DaD può essere vista come il risultato di un’addizione:

Didattica Tradizionale + Tecnologia Digitale Tradizionale

Il risultato è (spesso) la lezione frontale via videoconferenza, l’interazione come scambio di documenti da ufficio, la valutazione tramite quiz online.

Confusi o confuse?

Non c’è nessun errore, volevo proprio dire che la tecnologia usata per la DaD è del tutto tradizionale.
L’equivoco nasce perché “tecnologia” viene sempre associata a innovazione (nella tautologica espressione “nuove tecnologie”), ancora di più quando è sovraccaricata con il pleonastico “digitale”.
Ma non è vero. Non c’è nessuna innovazione nell’usare le piattaforme a cui siamo ormai abituati perché sono le stesse che usiamo a casa.
La TDT è onnipresente, è l’acquario dentro cui siamo tutti, ormai da tempo, per tutto il tempo.
Tradizionale in fondo significa trasparente, naturale. Significa usato e non costruito, né decostruito.
Tradizionale significa aderente ad un modello non esplicito, se non nascosto. Si fanno cose secondo una regola che non è percepita come tale. Si chiede di spegnere webcam, accendere microfoni, come se fosse una necessità didattica, mentre è un vincolo dell’ambiente tecnologico. Ci si preoccupa del problema del riconoscimento dello studente all’esame, del problema di come impedire che imbrogli e copi, di come superare il digital divide che impedisce agli studenti di famiglie disagiate di collegarsi in video, senza accorgersi che il contesto in cui questi diventano problemi è stato imposto dalla piattaforma, dalla TDT. Il modello della DaD è la somma del modello didattico tradizionale con quello delle tecnologie attuali.

Il problema della tecnologia didattica tradizionale è proprio la sua invisibilità. Lo condivide con tutto il resto delle tecnologie non didattiche. E non è un caso: si tratta dei primi passi di un processo di colonizzazione del mondo dell’educazione, dopo quello della formazione aziendale.
Un motore di ricerca non rende evidente l’algoritmo di indicizzazione (quindi di filtro) e di ordinamento dei risultati (quindi di indirizzamento).
Un catalogo online parte dal profilo del cliente (passato e futuro) nel costruire la rappresentazione virtuale del magazzino.

Tutte le piattaforme, o per lo meno quelle usate nella maggior parte dei casi, portano dentro di loro un modello non solo didattico tradizionale (la lezione, i compiti), ma anche un modello di relazione tra utente e fornitore basato sullo scambio servizi/dati. Servizi gratuiti contro dati personali: scelte, testi, agenda, rubrica. Siamo al di là del modello consumistica, in cui lo scambio merci/denaro almeno era visibile e riguardava oggetti, e in qualche modo controllabile da entrambi i lati.

Naturalmente se si vuole cambiare strada bisogna cambiare entrambi i termini dell’addizione.
Non basta una didattica aperta, ispirata ai Maestri, se si accettano gli strumenti tradizionali. Bisogna provare a scegliere e usare strumenti diversi, che siano aperti, che non abbiano dietro interessi estranei, che siano plurali.

E se non ci sono, bisogna costruirli e fare in modo che siano sostenibili.

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.

Le radici dell’ apprendimento

Giu
07

Sono fissato con le metafore, da sempre. Le ho studiate dai tempi della tesi sui modelli in fisica. Penso ancora che siano utili ad andare oltre i primi aspetti visibili di un fenomeno, utili come stimoli per andare a cercare qualche aspetto nascosto facendosi guidare dalle corrispondenze con gli aspetti di altri fenomeni. La metafora è una macchina per fare scoperte.
Ma perché dovrebbe funzionare? Forse perché alcuni processi naturali sono più simili di quello che sembra. Usare le metafore è anche un modo di riconoscere, o verificare, questa similitudine.
Per esempio, la radicazione delle piante e l’apprendimento degli umani.
Sono entrambi processi naturali. Hanno a che fare con la sopravvivenza.
Il primo l’abbiamo studiato per millenni, e abbiamo imparato a sostenerlo e favorirlo. Il secondo… qui siamo un po’ più scarsini, lo studiamo da troppo poco tempo. E usiamo le metafore sbagliate.

Breve riassunto di cosa è la radicazione. Abbiate pazienza perché potreste scoprire cose sorprendenti.
Le radici di una pianta crescono in verticale, in orizzontale, insomma dove e come possono.
Verso dove? principalmente verso dove c’è acqua o sostanze nutrienti. Se la pianta è stata infilata in un tubo di cemento, le radici sono costrette a crescere verso il basso. Se è nata in dieci centimetri di terriccio, le radici si allargheranno.
Ma ci sono anche delle preferenze legate alla specie: le radici degli abeti sono in genere superficiali, quelle dei larici vanno in profondità.

Le radici hanno anche altre funzioni, alcune note (reggere in piedi la pianta), alcune non chiarissime, come nel caso dei cipressi calvi.
Le radici da sole non riuscirebbero a nutrire la pianta, e spesso formano una simbiosi con alcuni funghi, un contratto in cui si scambiano nutrienti: le micorrize. E’ il motivo per cui i porcini si trovano vicino ai castagni e i tartufi vicino alle querce.
In alcuni casi le radici colonizzano il terreno, emettendo delle sostanze tossiche per le altre radici (lo fanno il pesco e il noce). Le radici di altre specie invece si intrecciano, per così dire, volentieri: è il caso dell’olmo e della vite.
Il processo di crescita delle radici è in generale lento, ma non continuo. Nelle nostre zone, ci sono due periodi di accrescimenti: la primavere e l’autunno. Quando fa troppo caldo, o troppo freddo, le radici non crescono.

Se decidiamo di piantare un albero, di solito scegliamo un terreno adatto: acido, non acido, fresco, argilloso. Adatto non significa sempre la stessa cosa: alcuni alberi vengono piantati in terreni aridi perché si sa che non hanno bisogno di molta acqua, altri in terreni acquitrinosi perché si sa che ne assorbiranno la maggior parte. Certo bisogna conoscere i tipi di terreni e le caratteristiche delle specie arboree.
Gli alberi giovani, quelli appena nati, hanno bisogno di molta attenzione. Devono cominciare a crearsi della radici solide, prima in giù e poi intorno. Perciò li aiutiamo con un terreno soffice e ricco, gli diamo l’acqua di cui hanno bisogno, controlliamo che stiano crescendo in maniera armoniosa. Poi, quando sono diventato un po’ più grandi, li trapiantiamo altrove e se la vedono da soli.
Ma spesso decidiamo di piantare un albero dove da solo non attecchirebbe mai, con la tipica attitudine dei colonizzatori. In questo caso la responsabilità ricade su di noi: senza un po’ di aiuto da parte nostra non arriverebbe a svilupparsi e a portare frutti. Un po’ d’aiuto, non troppo: si sa che fornire tutta l’acqua necessaria non è una buona idea, perché limita la radicazione, con effetti sia sulla quantità di nutrienti che la pianta riesce ad assorbire, sia sulla stabilità della pianta. I pini sui viali caduti alla prima burrasca ne sono un esempio evidente.


Ora mettiamo in moto la metafora, spostiamoci nell’altra area e proviamo a cercare corrispondenze.
L’apprendimento visto come un processo di radicazione. Cioè di esplorazione, di crescita di rami invisibili che servono ad acquisire risorse, a sorreggere l’organismo, insomma funzionali alla sopravvivenza e al benessere. Dell’individuo, della specie.
Un processo che si indirizza, nell’ambito delle direzioni possibili, verso quelle più promettenti.
Un processo che può essere aiutato o guidato dall’esterno. Ma non gestito.
Ci vogliono degli ambienti adatti, soprattutto nelle prime fasi. Ma è inutile fornire tutte le risorse, tutte in una volta. Ci deve essere una zona di sviluppo prossimale che si allarga (ah sì, qualcuno l’aveva già detto).
Certe aree (certe rizosfere) sono dure, secche, più difficili da penetrare per le radici; altre sembrano soffici, ma non contengono abbastanza sali minerali. Non ci si può aspettare che le radici si espandono alla stessa velocità e nella stessa direzione. Qualche volta si può andare in profondità, qualche volta si resta in superficie.
Inutile aspettarsi che sia un processo continuo e uguale per tutti: ci sono stagioni, momenti; ci sono stili personali.
Alcuni apprendono velocemente, altri lentamente. Bisogna seguirli tutto il tempo, non solo una volta l’anno.
Alcuni hanno bisogno di molto spazio e di molte risorse, altri se la cavano con poco. Bisogna evitare fame e indigestioni.
Alcuni apprendono meglio insieme ad altri. Alcuni infastidiscono gli altri per trovarsi da soli. Accorgersene e smistare non è una questione marginale, organizzativa, è proprio un pezzo del compito del supporto all’apprendimento.
Nei momenti difficili, possono essere aiutati con degli strumenti simbiotici, come i computer, che sono capaci di trasformare risorse indigeribili in nutrienti.
E così via.

Sono cose banali, che ogni insegnante sa? Può darsi. In teoria.
In pratica invece qualcuno pensa solo a trasmettere conoscenze, non a favorire l’apprendimento. Pensa che la conoscenza stia lì, nei libri, o su internet, e che sia sufficiente un cartello stradale per trovarla.


Pensa che educazione e formazione siano solo parole diverse per indicare un processo di vasi comunicanti: all’inizio uno è pieno e l’altro vuoto, poi piano piano, automaticamente, il liquido passa dall’uno all’altro. A volte si usa un imbuto per andare più veloci. Alla fine il risultato è un nuovo vaso pieno di quello stesso liquido, pronto per riempire altri vasi.

Pensa che il risultato finale sia proporzionale alla quantità di contenuti che ha fornito.
Pensa a trasmettere in fretta, perché “dieci anni fa in questo periodo eravamo già arrivati alle guerre d’indipendenza”.
Non tiene conto delle interazioni tra studenti, anzi se può le impedisce.
Non tiene conto della qualità dell’ambiente, solo della quantità.
Non monitora la velocità con cui gli studenti diventano sempre più autonomi, si limita a valutarne la conformità allo stadio previsto.
Si aspetta che tutti gli studenti raggiungano lo stesso livello. Se qualcuno non ce la fa, beh, è colpa sua. Come diceva Michele Apicella in Bianca: “Hai troppo sole, poco sole, cos’è che vuoi? Più acqua, meno acqua?”

Conoscete qualcuno che in pratica si comporta più o meno in questo modo? Sì?
Allora ditegli che non funziona. I suoi alberi, coltivati così, sarebbero crepati.

Garibaldi e i linguaggi napoleonici

Mag
18

I programmatori, a differenza degli eroi, sono persone normali, anche se a volte non sembra. Come tutte le persone normali hanno preferenze, fastidi, passioni, fobie. Queste idiosincrasie del tutto umane vengono applicate ai linguaggi di programmazione, agli strumenti per scrivere programmi, agli stili in cui si scrivono. Per questo, forse, sono stati creati così tanti linguaggi di programmazione (circa 8.000).

Una delle discussioni che durano da più tempo è quella sul modo migliore per programmare. In breve, si tratta della metafora generale con cui si pensa al rapporto tra umano e computer durante la programmazione. Ci sono almeno questi quattro modi maggiori:

Napoleonicol’umano ordina e il computer esegue
Aristotelicol’umano definisce regole e fatti e il computer trae le conseguenze e dimostra teoremi
Leibnizianol’umano progetta funzioni e il computer le calcola
Shakespearianol’umano descrive una situazione in cui degli attori che hanno una conoscenza limitata del mondo sanno compiere alcune azioni e interagire tra loro; il computer sovraintende a questa sessione

Il primo modo è quello che si insegna di solito per primo, ed è anche quello che spesso viene usato per definire il significato di “computazionale”: ci si immedesima nel computer e si cerca di descrivere come farebbe a risolvere il problema con le informazioni che ha. Gli altri modi cercano di venire incontro agli umani, al nostro modo di pensare. Il vantaggio di questi altri paradigmi dal punto di vista didattico è che permettono di scrivere un programma in maniera più naturale, descrivendo il problema, anziché la soluzione. Sono i computer a dover avvicinarsi agli umani, non viceversa. E questo vale anche, e soprattutto, quando si fa coding con dei ragazzini.

Snap! permette molti modi (tranne quello Aristotelico), anche se i suoi autori mostrano una preferenza spiccata per il terzo modo, quello Leibniziano. Nota: il nome tradizionale per questi modi è “paradigma”, e di solito si usano etichette un po’ meno fantasiose per indicarli. Ma qui non stiamo facendo un corso di informatica.

Siccome queste sono parole un po’ astratte, facciamo qualche esempio.

Il contesto è la canzoncina “Garibaldi fu ferito” che una volta i bambini sapevano a memoria e cantavano sull’aria della Canzone dei Bersaglieri. Il gioco era quello di sostituire tutte le vocali delle parole con una sola, ottenendo ad esempio “Garabalda fa farata” oppure “Gurubuldu fu furutu”, eccetera. I bambini sanno farlo, anche se non sanno esattamente dire come. Prima di continuare potete provare anche voi, e interrogarvi su come avete fatto.

Come facciamo per far fare la stessa operazione ad un computer? Per quello che abbiamo detto sopra, non c’è un solo modo, né un modo “giusto” (questo è uno dei motivi per cui fare coding ha un senso forte solo se non ci si limita a ricopiare tutorial e eseguire esercizi). Possiamo provare a seguire almeno tre strade diverse, per poi magari valutarne la semplicità, l’utilità in termini didattici, e se fossimo informatici anche l’efficienza.

I blocchetti realizzati in Snap! delle varie versioni potete vederli e provarli direttamente da qui:

https://snap.berkeley.edu/project?user=stefano63&project=Garibaldi%20fu%20ferito

Prima versione, imperativa

  1. prendi il testo della canzoncina
  2. conta la lunghezza del testo il lettere (sono 90)
  3. prepara una variabile – vuota – dove andrà a finire la versione trasformata
  4. prepara una variabile che servirà a contare le lettere e mettici dentro 1
  5. ripeti novanta volte:
    1. prendi la lettera I del testo
    2. se è una vocale, sostituiscila con la A, e mettila all’inizio della variabile finale
    3. altrimenti, metti la lettera originale all’inizio della variabile finale
    4. aumenta I di 1
  6. quando hai finito, restituisci la versione trasformata

La parte da 5.2 a 5.3 può essere affidata ad una funzione a parte (l’abbiamo chiamata “cambia vocale con…”) per evitare di rendere i blocchetti troppo complicati da leggere. E’ una funzione molto semplice, che si limita a verificare che una lettera sia una di queste: a,e,i,o,u. Non tiene conto delle maiuscole né delle vocali accentate.

Seconda versione, ricorsiva

Un’altra versione possibile è quella che sfrutta una caratteristica di alcuni linguaggi di programmazione, cioè la possibilità di richiamare una funzione al suo stesso interno. In pratica, si usa la tecnica di dividere un problema in sotto-problemi sempre più piccoli finché non si arriva ad un problema risolvibile.

In questo caso, sappiamo come trasformare una lettera (con la funzione “cambia vocale con”) ma non sappiamo come trasformare un intero testo.

  1. se la frase ha lunghezza 1 (cioè è se è composta da una sola lettera) si applica la funzione “cambia vocale con” e si restituisce il risultato (questo è il passo in cui sappiamo come risolvere il problema);
  2. altrimenti, si chiama di nuovo la stessa funzione “cambia frase” ma passando due valori diversi:
  • la prima lettera della frase
  • tutto il resto della frase
  1. si unisce il risultato che proviene da queste due funzioni e lo si restituisce

Una volta superato lo shock di un programma che non si capisce come fa a funzionare, la soluzione è di una semplicità imbarazzante.

Terza versione, funzionale

In questo caso si sfruttano due caratteristiche di Snap!, tipiche dei linguaggi funzionali:

  • la possibilità di applicare una funzione su tutti gli elementi di una lista, uno per uno, ottenendo una nuova lista
  • la possibilità di ridurre una lista ad un solo elemento, applicando un’operazione agli elementi, due alla volta.

Anche in questo caso l’algoritmo è molto semplice ed è basato su una concatenazione di funzioni:

  1. si applica la funzione “cambia vocale ” alla lista ottenuta separando la frase ad ogni lettera
  2. si combinano gli elementi di questa lista in una nuova frase e la si restituisce

Preferenze per uno dei tre? Quale vi sembra più chiaro? Quale vi sta più simpatico?

A me, personalmente, l’ultimo. Proprio perché non si perde a misurare, a tenere il conto del punto in cui siamo arrivati, non ha bisogno di appoggiare il risultato parziale da qualche parte. In fondo non fa altro che trasformare in blocchetti quello che volevamo fare: applicare una trasformazione a tutte le vocali di un testo.

A proposito: che ne è di quel famoso adagio “I computer sono stupidi, sanno fare solo una cosa e la fanno sempre nello stesso modo”?

Imbuti metaforici

Apr
14

A proposito della questione dell’imbuto di Norimberga, mi è tornata in mente una lezione di Bruno Cermignani, il mio amato professore di Filosofia della Scienza a Villa Mirafiori, che ci avvertiva dei rischi che si corrono quando si usa una metafora astratta per comprendere un’esperienza concreta. L’esempio che faceva era quello della conoscenza come specchio del mondo. Astratta, perché del fenomeno del rispecchiamento prendeva solo l’idea, ma non la realtà. Uno specchio non riflette sempre l’oggetto che gli sta di fronte, e l’immagine non è affatto realistica. Ci sono le leggi dell’ottica (la riflessione e l’inversione dell’immagine), ma anche altre condizioni reali, come l’umidità (lo specchio appannato) e la temperatura che può distorcere lo specchio, fino a fonderlo. Uno specchio in un forno non riflette un bel niente.

L’insegnamento come riversamento della conoscenza nella testa di uno studente tramite un imbuto è un caso dello stesso fenomeno. Prima di ridere dell’ingenuità di chi parla di riempire gli imbuti, proviamo a prenderla sul serio (la metafora) e a toglierle la dose di astrattezza. Se l’imbuto fosse una buona metafora dell’insegnamento, allora…

Quando

Prima di tutto: quando si usa un imbuto? Per esempio: da una damigiana di vino o di olio voglio riempire tanta bottiglie più piccole: si chiama travaso. E’ utile per distribuire un bene, per farlo viaggiare, o conservarlo meglio. Magari perché da un Sangiovese volgare si vuole ottenere un magnifico Brunello, che come ognuno sa deve stare in bottiglia almeno cinque anni.

E perché ha quella forma? Il flusso che esce dalla damigiana (che ha una bocca più larga) è maggiore di quello che potrebbe assorbire la bottiglia, che ha un collo piccolo. Se non ho una buona vista e una mano più che ferma rischio di rovesciare e disperdere il prezioso liquido. L’imbuto ha una bocca ancora più larga di quella della damigiana, e poi si restringe. Così si può sbagliare, sia in termini orizzontali (se sbaglio la direzione il liquido non va nel buco) che verticali (se esagero con l’inclinazione verso un flusso troppo importante che la bottiglia non riesce ad assorbire). L’imbuto ha senso perché ha una tolleranza all’errore maggiore di quello del collo della bottiglia; e ha senso se il liquido che si vuole travasare è prezioso.

Cosa e come

Che tipo di contenuto si può travasare con un imbuto? Beh, non uno qualsiasi. Deve avere della caratteristiche fisiche precise: i liquidi vanno bene, i gas no (perché sono più leggeri dell’aria; ma in questo caso si potrebbe pensare ad usare un imbuto al contrario, con la bocca in basso?). Si può travasare il mercurio? C’è la questione dell’attrito: alcuni liquidi sono più viscosi di altri e vanno versati più lentamente perché altrimenti non riescono a passare.

I solidi? Anche, ma devono essere aggregati in particelle molto piccole (come lo zucchero, il sale, la farina); ma questi aggregati, soprattutto se umidi, tendono a creare degli intasamenti perché si aggregano troppo, in malloppi più grandi della tubo dell’imbuto. Se sono troppo leggeri, mentre si versano si disperdono nell’aria, quindi bisogna tener conto di una percentuale di perdita maggiore di quella dei liquidi.

Quindi bisogna fare attenzione non solo al contenuto, ma anche alle condizioni intorno, per esempio a quelle meteorologiche.

Certo non basta averlo, l’imbuto: bisogna anche usarlo bene. Bisogna assicurarsi che l’imbuto stia ben fermo, quindi sarebbe meglio tenerlo con una mano mentre con l’altra si versa il contenuto; ma se si parte dalla famosa damigiana di Brunello, è difficile che ci si riesca. Allora ci si può far aiutare da qualcun altro.

Bisogna assicurarsi che sia pulito: l’olio irrancidisce a contatto con l’aria, il vino diventa aceto, la benzina è velenosa. Va pulito alla fine dell’operazione, oppure all’inizio, o meglio tutte e due le volte. Va anche controllato che non si fessurato, per usura o per un colpo, altrimenti fuoriesce tutto lungo i bordi. E’ un modo per dire che gli strumenti vanno manutenuti.

Alla fine dell’operazione, buttato via l’imbuto, bisogna tappare la bottiglia, altrimenti è tutto inutile.

Conclusioni

Che possiamo concludere? Che l’imbuto non è una (buona o cattiva) metafora dell’insegnamento, ma dei metodi e degli strumenti che si usano quando si vuole travasare conoscenza per distribuirla nel mondo.

Metodi che servono a controllare il travaso, a evitare che ci sia dispersione.

Strumenti che funzionano con certi tipi di conoscenze, o conoscenze in certa forma (fluida, cioè non strutturata fortemente, o molto parcellizzata). Strumenti che vanno manutenuti, verificati, controllati.

E poi c’è il rischio di intasamento: a cosa corrisponde? Per esempio ad un ritmo esagerato di versamento; o a una condizione sociale invasiva, oppure ad una conoscenza che tende a coagulare, a fare “mappazza”.

E se uno non vuole travasare conoscenza? Si poteva usare una metafora diversa? Certo. Per esempio, mescolare farina burro e uova per fare una torta. Oppure piantare un seme nel terriccio e innaffiarlo. O covare un uovo. Far cadere un granello di sabbia in una soluzione sovrassatura.

E per ogni metafora si poteva andare a scavare sulle sue condizioni reali d’uso.

Unire o dividere

Mar
24

Leggo un post di Davide Lamanna (amico da anni e esperto di tante cose, tra cui private cloud opensource) in cui segnala il disegno di legge della senatrice Laura Mantovani “Istituzione della Rete di interconnessione unica nazionale dell’istruzione – UNIRE”.
Non ho ancora letto il DDL (lo faccio appena possibile), ma l’intento di creare un cloud privato di proprietà dalla PA italiana per sostenere la digitalizzazione dei servizi della scuola è sicuramente buono, e va in una direzione che condivido: creare una rete che colleghi le scuole tra loro e con Internet, fornire servizi di memorizzazione dati o altri servizi che si possano decentrare. Tutto questo per superare il digital divide tra paesini e metropoli, tra province ricche e povere, tra nord-nord-est e sud-sud-ovest. Non tanto perché si difende la Nazione contro lo Straniero, ma perché si difendono gli studenti e il loro dati personali, perché non si creano dipendenze e abitudini a usare certi strumenti particolari che oggi ci sono, e sono gratis, e domani chissà.
Non sono però d’accordo su un punto riportato da Davide, che deriva mi pare da un’intervista alla Senatrice Mantovani, e cioè che “Nell’articolo 2 è previsto di sviluppare e fornire il servizio unico nazionale per la didattica digitale integrata. “
Aiuto: ancora il Servizio Unico Nazionale per la DDI?
Messo insieme ai “servizi amministrativi e connessi alle procedure di assunzione del personale della scuola.” Spero di sbagliarmi, ma mi sa ancora una volta di progetto di Piattaforma Unica di Stato. (Che in Francia ce l’hanno già, eh. Sì ma mica è detto che funzioni bene.)
Provo a dire ancora una volta perché non sono d’accordo.

  1. Una piattaforma per la didattica non è un’infrastruttura neutra. C’è una differenza enorme tra i servizi amministrativi, o quelli informatici come i DNS, e quelli didattici. I servizi didattici si rivolgono a studenti, che sono persone, non enti o macchine. Quindi devono essere pensati per loro e intorno a loro, in termini di interfaccia, di linguaggio, di funzionalità. Oltre agli studenti ci sono i docenti e poi i genitori. Una piattaforma unica per la didattica dovrebbe essere adatta a tutte queste persone diverse.
  2. Ma non c’è solo la differenza di età, c’è una differenza di scopo (corsi obbligatori e facoltativi, corsi teorici e pratici, laboratori e corsi che si costruiscono dal basso), di tipo di scuola e pure di tipo di formazione. Perché la scuola dovrebbe comprendere anche la formazione superiore e i CPIA. Insomma, la piattaforma dovrà essere personalizzata e personalizzabile.
  3. Quindi le competenze per progettare questa PUN non sono solo informatiche. Ci vuole un’équipe molto composita, e non fatta solo di esperti universitari, ma anche di docenti dall’infanzia all’università, e magari di studenti e studentesse, e perché no di genitori. Come si selezionano? Come si pagano? Da dove si parte? Con che modello di interazione e decisione? Come si pubblicano le scelte prima di adottarle?
  4. Immaginiamo quindi il tempo necessario per fare un’unica piattaforma con tutte queste varianti e tutte queste possibilità di personalizzazione. Quando sarà pronta la piattaforma unica? Diciamo entro tre anni? Un po’ tardi: tra tre anni non ci ricorderemo nemmeno più che esisteva un altro browser oltre Chrome. O invece, per sbrigarsi, si prenderà una cosa esistente e la si “rimarcherà” PiattaUnica? Temo che – a parte ADA, naturalmente 😉 – un’applicazione che soddisfi tutti i requisiti elencati sopra non esista.
  5. Ora pensiamo al futuro. Un mostro del genere va mantenuto, aggiornato. Non solo perché cambiano gli standard (con i browser che si adeguano oppure no) e i sistemi operativi mobile evolvono. Ma perché cambiano i modelli d’uso, gli obiettivi, le attività possibili. Cambiano proprio i ragazzini, cambia il mondo fuori dalla scuola. Dando per scontato che la licenza sia open, deve essere rilasciato tutto il codice sorgente. Ma poi che si fa, si attende che i bug emergano e che qualcuno li corregga? E chi verifica le correzioni, visto che andrebbero sulla Piattuna usata da TUTTE le scuole italiane? Come le si testano? Oppure si lascia sempre all’opera una task force che ha risorse economiche per i prossimi 5, 10 anni?
    Quanti software meravigliosi finanziati sono morti il giorno dopo la scadenza del progetto che li ha generati?
  6. “Si vabbè, allora vuoi che rimaniamo nelle grinfie delle multinazionali…”

    No. Dico solo che la soluzione per la didattica non è la Piattaforma Unica, ma un ecosistema di piattaforme diverse basato su questi tre punti:

  • delle linee guida nazionali che dicano cosa deve essere e cosa deve fare una piattaforma digitale per la didattica (licenze, supporto, privacy, funzioni, accessibilità). Linee guida estese, pubbliche e riviste ogni anno.
  • un registro nazionale dove venga iscritta ogni piattaforma in uso dalle scuole, in modo che sia verificabile e verificata. Ma anche in modo che sia possibile interrogarla in maniera automatica.
  • dei protocolli di interscambio di dati e di contenuti tra piattaforme.
    Se la scuola Rodari di Finaliquà ha prodotto dei contenuti, delle attività, dei test per la classe Terza che sono interessanti anche per la scuola Deledda di Pontedisopra, se i suddetti contenuti sono rilasciati con licenza adeguata, deve essere possibile collegarli, o clonarli e modificarli. Se la scuola Carducci di Montedisotto li ha comprati, quei contenuti, e sono protetti da una licenza che ne impedisce il riuso, allora la piattaforma non ne permetterà il riuso.

Credo che la varietà sia sempre preferibile, se non prolifera in una giungla impenetrabile. Una varietà che permetterebbe la compresenza di piattaforme e applicazioni più semplici, dedicate magari ad un solo livello di scuola, piccole e grandi, scritte in linguaggi diversi, fornite con contratti diversi (magari sponsorizzate) e soprattutto che danno da vivere a centinaia o migliaia di piccole imprese locali.
Che poi non vi lamentate se i giovani programmatori vogliono andare tutti a Mountain View o a Redmond.