steve's

apprendimento digitale e dintorni

Piattaforme obbligatorie e non

Set
15

Dunque si inizia: in presenza ma lontani, a distanza ma connessi. I professionisti, le aziende, le associazioni, le fondazioni, le università e le scuole devono essere pronti in caso di X (con X=lockdown totale, ma anche dimezzamento dei docenti o degli studenti).
Nella Scuola e nell’Università italiane sono pochi (da quello che vedo) quelli che colgono l’occasione per riformare la maniera di apprendere e insegnare una volta per tutte, per esempio abbandonando il modello trasmissivo e adottandone uno di costruzione collettiva di conoscenza. Pochi hanno utilizzato questi mesi per risistemare il “capitale” di metodi, risorse, informazioni esistente ma frammentato e nascosto nelle teste o nei file dei docenti, in modo da renderlo accessibile, manutenibile, incrementabile, insomma usabile davvero. Ancora meno, mi pare, hanno ripensato la valutazione, arricchendola con elementi che derivano proprio dall’esistenza di un piano digitale comune dove studenti e docenti si muovono insieme.

Adesso però bisognerà scegliere il sistema di videoconferenza (che come si sa è IL canale deputato a tutto: formare, valutare, controllare, supportare, selezionare, anche se probabilmente nessuna scuola italiana è oggi in grado di reggere la connessione contemporanea di tutti gli studenti e docenti) ed, eventualmente, la piattaforma dove collocare i “contenuti didattici da far fruire”. Sic.

Quale piattaforma? Beh, naturalmente lo decide il dirigente, che però non necessariamente ha tutte le conoscenze tecniche e legali che servono. Forse si fa consigliare dall’animatore digitale, forse da un consulente esterno, oppure dai colleghi dirigenti più in vista. Oppure va sul sito del MIUR e poi torna trionfante: “Bisogna usare X, lo dice il Ministero!”. Allora, parliamone.

Nella pagina https://www.istruzione.it/coronavirus/didattica-a-distanza.html si trovano solo tre proposte di piattaforma: Google Suite, MS Teams e TIM Weschool. Visto? Ma se cliccate sul bottone “Continua a leggere” (che sarebbe stato meglio chiamare: inizia a leggere) magicamente appare un testo che dice:

Da questa sezione è possibile accedere a: strumenti di cooperazione, scambio di buone pratiche e gemellaggi fra scuole, webinar di formazione, contenuti multimediali per lo studio, piattaforme certificate, anche ai sensi delle norme di tutela della privacy, per la didattica a distanza. I collegamenti delle varie sezioni di questa pagina consentono di raggiungere ed utilizzare a titolo totalmente gratuito le piattaforme e gli strumenti messi a disposizione delle istituzioni scolastiche grazie a specifici Protocolli siglati dal Ministero. Tutti coloro che vogliono supportare le scuole possono farlo aderendo alle due call pubblicate dal Ministero che contengono anche i parametri tecnici necessari.

“Le “call” con i “parametri tecnici” stanno alla pagina https://www.miur.gov.it/web/guest/-/coronavirus-pubblicate-due-call-per-sostenere-la-didattica-a-distanza
I requisiti “tecnici” che devono avere le piattaforme sono presto detti:

“[…] tutte le piattaforme devono essere rese disponibili gratuitamente nell’uso e nel tutorial; la gratuità va intesa sia nella fase di adesione ed utilizzo dello strumento sia al termine di tale fase. Nessun onere, pertanto, potrà gravare sulle Istituzioni scolastiche e sull’Amministrazione;

  • per le piattaforme di fruizione di contenuti didattici e assistenza alla community scolastica: sicurezza, affidabilità, scalabilità e conformità alle norme sulla protezione dei dati personali, nonché divieto di utilizzo a fini commerciali e/o promozionali di dati, documenti e materiali di
    cui gli operatori di mercato entrano in possesso per l’espletamento del servizio;
  • per le piattaforme di collaborazione on line: qualifica di “cloud service provider della PA” inerente alla piattaforma offerta, ai sensi delle circolari Agid n. 2 e 3 del 9 aprile 2018.”

Insomma, prima di tutto servizio gratis ma con assistenza. Poi una divisione che a me sembra un po’ sospetta:

  • da un lato piattaforme per la fruizione di contenuti didattici e assistenza alla communità scolastica, che devono soddisfare requisiti più stringenti in termini di sicurezza, protezione della privacy;
  • dall’altro le piattaforma di collaborazione online, che NON hanno bisogno di soddisfare questi requisiti.

Indovinate in che categoria vanno certe piattaforme gratuite a cui sicuramente state pensando adesso?
Chi si può permettere questo tipo di offerta gratuita a tutte le scuole italiane? E’ un modo chiaro per estromettere ogni piccolo fornitore locale, ogni proposta fatta una piccola cooperativa di ex-studenti dell’istituto tecnico. E’ un modo per aumentare il monopolio e per rinunciare a promuovere una crescita del comparto in Italia. Ne ho già parlato qui.
A parte il fatto che ci sono dei requisiti di legge (GDPR) che nessuna circolare o nota ministeriale può aggirare, non c’è traccia del requisito “a codice sorgente aperto”. Che non è una bizza di qualche hacker fuori tempo massimo: la legge del 7 agosto 2012, n. 134 ha modificato l’art. 68 del codice dell’amministrazione digitale introducendo per tutta la PA l’obbligo di effettuare “analisi comparativa di soluzioni“, comprese quelle basata su software libero o codice sorgente aperto. Inoltre, nelle Linee Guida per l’adozione e il riuso del software da parte delle PA che sono in vigore dal 9 maggio 2019, si aggiunge, tra i criteri di valutazione, l’uso di dati aperti, di interfacce aperte e di standard per l’interoperabilità. Sarebbe ragionevole che questi criteri venissero ricordati, perché non sono curiosità o suggerimenti benevoli. Anche a prescindere dalla questione recente del Privacy Shield statunitense e della sentenza della Corte Europea che lo invalida.
Insomma, caro Dirigente, vogliamo farla, questa valutazione comparativa?

A proposito: i protocolli di intesa firmati nel 2020 stanno qua https://www.istruzione.it/ProtocolliInRete/Protocolli_Accordi.html

Sempre dalla pagina del MIUR si accede ad altri elenchi di iniziative, servizi, insomma cosa che dovrebbero aiutare le scuole sull’onda del #damosenamano. Come https://www.istruzione.it/coronavirus/didattica-a-distanza_altre-iniziative.html dove ci sono delle pubblicità a società e servizi, oppure quello delle proposte universitarie https://www.istruzione.it/coronavirus/didattica-a-distanza_uni-afam.html dove si trova lo stesso livello di “valutazione”. Se poi si vuole raggiungere l’apice, si legga l’elenco dei servizi di solidarietà digitale offerti questa volta da MITD e Agid, ma linkato sempre nella pagina MIUR: https://solidarietadigitale.agid.gov.it/#/ dove c’è, francamente, la qualunque.
Insomma: a oggi, non c’è uno straccio di niente che dica che la piattaforma X è adatta mentre la Y no.


Così mi pare si possa dire. Magari mi sbaglio.

Scuole e monopolio della carta igienica: il caso Paapre

Nov
22

La doverosa attenzione dell’ente pubblico per il bilancio è sicuramente meritoria. In un Paese dove si spende troppo e male, ancora di più.

Quando si decide di utilizzare un servizio gratuito, di qualità, dal punto di vista del bilancio va tutto bene, e anche dal punto di vista della funzionalità.
Però occorrerebbe pensare agli effetti collaterali – non solo a quelli immediati all’interno della scuola. Perché la scuola pubblica ha anche un piede nella società e nel futuro.
Quando il servizio è virtuale, digitale, sembra che questi effetti non ci siano. Invece non si vedono, ma ci sono.

 


Prima parte
Facciamo allora un esempio più concreto: prendiamo la carta igienica. Ogni scuola ha una voce di budget annuale per la pulizia, immagino, che comprende anche la carta igienica. Un tot per ogni bagno? Le scuole superiori ne consumano di più, di meno? non importa. Facciamo sia 100.
Quei 100 € vengono dallo Stato, o dai Comuni, o dalle Regioni? non lo so, ma ipotizzo derivino dalle tasse pagate dai cittadini e dalle imprese.
Immaginiamo il flusso di quei 100 €. Marchiamoli come fa la polizia per i soldi dei riscatti e seguiamo la strada che fanno.
Ogni anno viene contattato un fornitore e gli vengono dati 100 €.
Il fornitore di quei 100 € ne trattiene una parte (per pagare stipendi, furgoncino, benzina), e una parte la dà al grossista.
Della sua parte, il grossista ne tiene una quota (per pagare stipendi, magazzino), e il resto la dà al produttore, per esempio alla fabbrica di carta igienica di Lucca.
La fabbrica di Lucca con la sua quota compra la materia prima e produce la carta igienica.
Ognuno di questi attori spende parte del proprio incasso in stipendi, in affitto di mezzi.
Poi su quel 100 € vanno calcolate le tasse, cioè la parte di denaro che torna nella casse dello Stato, delle Regioni etc. Sembra che la pressione fiscale in Italia sia alta, è una bella fetta che torna indietro.
Insomma c’è un flusso di denaro dal cittadino allo stato al cittadino.

Ci sono dei limiti.
Si potrebbero selezionare i fornitori, o tutta la filiera, per garantirsi che non ci sia sfruttamento minorile, che la carta sia riciclata e non vengano tagliati troppi alberi, o inquinati fiumi; o che l’elettricità sia presa da fonti rinnovabili, etc etc. Ma questo farebbe aumentare il costo della carta igienica.
Non solo: quei 100 € sono probabilmente insufficienti per coprire il bisogno effettivo di carta igienica della scuola.
Cosa fa allora il dirigente accorto? Inventa.
1. Affigge un regolamento che limita i centimetri quadri di CI a disposizione dell’utente per ogni seduta
2. Ricicla le circolari
3. Lancia il piano BYOTP (Bring Your Own Toilet Paper)
4. Produce della carta con  le stampanti 3D
etc.

Ora immaginiamo che il signor Paapre, multinazionale di QualchepostoLand, decida di regalare carta igienica quadruplo velo, profumata alla lavanda, a tutte le scuole italiane.
Perché lo fa? sono affari suoi, possiamo immaginare che non sia per altruismo, ma per ora ignoriamolo.
Per quanto tempo lo fa? Non lo sappiamo. Certo non si impegna a farlo per sempre.
Intanto le scuole sono contente perché risolvono il problema e risparmiano. La carta igienica è di ottima qualità e viene consegnata direttamente alla scuola.
Si può discutere sul fatto che gli studenti si abituino alla carta quadruplo velo profumata alla lavanda e poi in futuro – ma anche a casa – vogliano usare solo quella.
Ma il punto è un altro: si crea una situazione di monopolio. Anche potendo scegliere, chi comprerebbe mai carta igienica se si può avere gratis?
Che succede? che quel flusso di denaro si ferma. O meglio, i 100 € vengono utilizzati altrimenti (forse per cose più utili) ma gli attori prima elencati hanno un ammanco rispetto alle entrate previste.
Cosa fanno? Ricordate che non è UNA scuola, ma TUTTE le scuole. Cambiano settore, mettono a part time gli operai, licenziano, chiudono….
Diminuiscono anche le entrate del fisco. Forse quella voce di bilancio scolastico viene cancellata.
Sono eventi che non riguardano la scuola?
Quella scuola che preparava gli studenti ad un mercato del lavoro, che però grazie (anche) all’operato della scuola piano piano scompare?
E che succederà quando il signor Paapre decidera di far pagare 1 € (invece di 100) la sua fornitura? Niente, sempre economia per la scuola. Ma siccome c’è un monopolio, da 1 € si può passare anche a 100 €, senza che nessuno possa fare niente. Tornare indietro? ma ormai il tessuto imprenditoriale non c’è più. Niente più fornitori locali, niente grossisti.

Ora cosa c’è di diverso se invece di carta igienica parliamo di servizi digitali (software, connettività, cloud, antivirus, ….)?
Economia e praticità possono davvero bilanciare il danno che si fa all’ecosistema delle imprese digitali locali?


Seconda parte
Ma allora come la metti con il software opensource, che è gratis? Neanche quello va bene? Si. Ma non perché è gratis.
Anche qui possiamo fare una simulazione. Su 100  € di licenze di software Megasoft, una quota (piccola) va al fornitore; la maggior parte va al produttore, che ha sede a Vattelappesca City. Siccome il fornitore ha un piccolo margine, deve moltiplicare le vendite; tendenzialmente deve acquisire il monopolio. Quindi spinge, fa sconti, fa formazione sulla versione Educational di Megasoft, quella adatta per il Coding. Un giorno anche quella sarà a pagamento, ma per ora va bene…

Invece su 100 € di servizi connessi con il software opensource (formazione, installazione, adattamento, hosting), tutto va al fornitore locale. Il quale paga le tasse, paga gli stipendi etc etc. Il fornitore locale NON ha bisogno di monopolizzare il mercato, perché ha margine a sufficienza. C’è spazio per soluzioni diverse  e fornitori diversi.
I servizi sono di qualità inferiore? Forse, ma visto che il software è aperto si possono migliorare. Si possono unire le risorse di più scuole per sviluppare migliorie e funzionalità di cui tutti beneficeranno.

Quando la scuola decide di installare Moodle per l’e-learning (perché è gratis) e WordPress per il sito (perché è gratis) e poi di gestirli internamente, fa un’opera meritoria dal punto di vista del bilancio. Meno meritoria dal punto di vista dell’economia del Paese.

Curriculi digitali opensource

Ott
25

Il bando http://www.istruzione.it/scuola_digitale/curricoli_digitali.shtml per i curricoli digitali attualmente in corso (scade il 10 Novembre 2016) prevede 4,3 M€, riservati alle reti di scuole pubbliche e paritarie, destinati alla produzione di 25 curricoli digitali su 10 tematiche, divise in Fondamentali e Caratterizzanti, secondo il seguente schema:

Fondamentali:

  • diritti in internet
  • educazione ai media (e ai social)
  • educazione all’informazione

Caratterizzanti:

  • STEM (competenze digitali per robotica educativa, making e stampa 3D, internet delle cose)
  • big e open data
  • coding
  • arte e cultura digitale
  • educazione alla lettura e alla scrittura in ambienti digitali
  • economia digitale
  • imprenditorialità digitale

Dal mio punto di vista, non è troppo condivisibile questa biforcazione: da un lato le “educazioni a…”, dall’altro il coding, la robotica, i dati aperti. Così si introducono già nei temi e nei curricoli le separazioni che poi è difficile recuperare: tra riflessione teorica e attività tecnica, tra aspetti etici (diritti, doveri) e pratici, tra apprendimento cognitivo e affettività. Ma pazienza, in qualche modo si doveva distinguere.

Il dettaglio dei possibili contenuti dei curriculi è descritto nell’Allegato 2 (http://www.istruzione.it/scuola_digitale/allegati/2016/Allegato_2_Avviso_Curricoli_Digitali.pdf). A mio avviso, si tratta di testi non particolarmente omogenei, perché scritti da persone diverse, come si capisce dal linguaggio utilizzato e dalla formattazione libera. Si può supporre quindi che sia stato dato l’incarico di definire i contenuti a esperti di dominio che non si sono parlati tra loro. Noto che di opensource non si parla mai, e pazienza (ma anche no).

Non mi è chiarissimo il processo di valutazione delle proposte di curriculo. Da quanto ho capito io, ci saranno tre fasi: in una prima vengono richieste solo poche slide di presentazione e un formulario in cui vengano definite le scuole partecipanti, di cui almeno una deve avere esperienze dimostrabili nel settore (solo una?). In una seconda fase, viene stilata una graduatoria e vengono selezionate 125 proposte. Ai soggetti selezionati viene chiesto di inviare il progetto con un esempio, e solo 25 proposte vengono alle fine finanziate, con un massimo di 170.000 € per proposta. Ci sono poi altri 50.000 € per la migliore proposta di comunicazione del progetto (mi è sfuggito come si partecipa a questa speciale categoria).

La commissione di valutazione verrà scelta solo dopo la chiusura della prima fase. I dettagli delle altre due, come pure i processi di monitoraggio, verranno, si spera, chiariti in seguito. Potrebbe succedere, ad esempio, che i curricoli prodotti si sovrappongano oppure che lascino scoperte delle aree? Che seguano modelli completamente diversi? Che lo sviluppo non rispetti le premesse? Speriamo di no, speriamo che sia prevista anche una fase di aggiustamento in corsa.

Ma a prescindere da questi dettagli, ci sono molti aspetti che giudicherei positivi: la sottolineatura dell’importanza degli aspetti di cittadinanza digitale, la richiesta esplicita che i curricoli siano rilasciati come OER (peccato non si diano indicazioni di licenze specifiche: i contenuti prodotti si potranno usare gratis, ma si potranno anche modificare?), la citazione almeno della possibilità di analytics ovvero di raccolta dei dati di utilizzo.

Nel passato, il Ministero dell’Istruzione aveva scritto e pubblicato Programmi e Indicazioni per i vari ordini di scuola. Con la “scuola dell’autonomia”, con il passaggio dalla scuola dei programmi alla scuola dei curricoli, questo compito spetta alla scuola. Le indicazioni ministeriali però esistono ancora, e quattro anni fa per esempio sono state sottoposte ad un processo di verifica pubblica quelle per la scuola dell’infanzia e del primo ciclo, cioè fino alla scuola secondaria di primo grado inclusa. Per altro, nel documento finale (http://hubmiur.pubblica.istruzione.it/alfresco/d/d/workspace/SpacesStore/162992ea-6860-4ac3-a9c5-691625c00aaf/prot5559_12_all1_indicazioni_nazionali.pdf , mi spiace ma non c’era un link più corto) la parola digitale compare solo quattro volte: due nel conteste delle competenze chiave raccomandate dall’Europa, e due nell’area Tecnologia. Leggendo i risultati della consultazione, si capisce che secondo il 24% degli intervistati il digitale avrebbe dovuto essere più presente.

Comunque: in questo caso, forse per la prima volta, si chiede ai diretti interessati, cioè alle scuole – o meglio, a reti di scuole coadiuvate da esperti universitari o altri scelti dalle scuole stesse – di realizzare dei curricoli di livello nazionale, da condividere con le altre scuole.

E’ una buona maniera di affrontare la questione? Non lo so, ma non mi convince in generale la logica dei bandi, che permette di distribuire soldi alla Scuola – anzi, ad alcune scuole – che poi magari le usano come possono, sulla base della loro abilità a scrivere progetti. Bandi che si limitano a finanziare la creazione di un oggetto digitale (che so, un sito, una piattaforma di collaborazione o di e-learning), ma non il suo mantenimento e sviluppo futuro, col risultato che il suddetto sito muore dopo poco. Bandi che stimolano migliaia di proposte, ma ne finanziano solo una piccola percentuale, per cui il lavoro della maggioranza è sprecato. Bandi i cui risultati non sono soggetti a verifica se non contabile. Bandi in cui la coerenza dei prodotti viene cercata a posteriori, magari con un bando ulteriore.

E’ una maniera democratica? Non so nemmeno questo. Va avanti la scuola che ha al suo interno docenti capaci di progettare, nel senso specifico di “scrivere progetti finanziabili”. E si procede in maniera discontinua, per gettiti intermittenti. Per esempio, mi domando: ma una volta creati i curriculi, quali risorse verranno impiegate per aggiornarli? E chi lo farà? O si pensa che in campo come questo si possa creare IL curriculo definitivo?

Si poteva fare diversamente? Io penso di si. Faccio un piccolo esercizio di immaginazione.

1. Si poteva creare un piccolo gruppo di lavoro (di cui venissero pubblicati i nomi dei partecipanti) con almeno quattro compiti diversi:

  • raccogliere buone pratiche da paesi dove questi curricoli esistono e sono già stati sperimentati con successo
  • valutare i risultati dei Piani Ministeriali passati sul tema dell’IT, luci e ombre
  • esaminare le esperienze già realizzate nelle scuole o dalle associazioni
  • raccogliere idee tramite una ricerca non solo sul materiale cartaceo, ma anche su quello digitale, compresi i social network system.

Alla fine di questo lavoro preliminare, il gruppo di superesperti avrebbe potuto produrre un documento che indicasse obiettivi, limiti, metodi, errori da evitare, buone pratiche. Il documento avrebbe dovuto evidenziare, tra l’altro, gli incroci tra le aree tematiche. Non solo un elenco di argomenti, quindi.

2. Poi il MIUR avrebbe potuto convocare un piccolo numero di esperti, tre per ogni area tematica (per esempio uno di estrazione universitaria, un docente e un esperto di dominio), scelti mediante una procedura concorsuale pubblica, fornirgli il quadro generale e dargli modo di produrre una versione alfa del curriculo.

3. Le versioni alfa avrebbero potuto essere condivise preliminarmente tra tutti i gruppi, per verificarne la coerenza e l’omogeneità e la rispondenza al quadro generale.

4. La versione beta, risultante dal lavoro di omogeneizzazione, sarebbe potuta essere diffusa presso un numero più grande di docenti, dei quali si sarebbero raccolti i commenti. Si sarebbe potuta immaginare una piccola sperimentazione per tutti i curricoli, per permettere ulteriori aggiustamenti.

5. La versione RC (release candidate), risultato della sperimentazione, sarebbe stata pubblicata in una piattaforma aperta dove tutti gli utenti potessero suggerire miglioramenti. Non essendo necessaria una “versione finale” congelata, i curriculi avrebbero potuto essere aggiornati in maniera continua, o “forkati” come si fa nei repository di software opensource.

Costo totale: quasi sicuramente inferiore ai 4,3 milioni investiti nel bando. Immaginando trenta persone che lavorino per un anno a tempo pieno, fanno più o meno un milione di €, più il costo del gruppo iniziale dei superesperti (che voglio sperare non costerebbe altri tre milioni di €…). Con i soldi avanzati si regalava carta igienica a tutti…

Coinvolgimento degli utenti finali: sicuramente maggiore, direi. Nella modalità scelta dal MIUR, supponendo che ogni team di progetto sia composto da 20 tra docenti ed esperti, il numero totale delle persone coinvolte è di 500. Che è meno dei docenti intervistati per le Indicazioni del 2012.

Qualità dei prodotto finale: non so dirlo, ma il processo descritto sarebbe servito a controllarla a più riprese. E la prassi dell’opensource insegna che questo modo funziona abbastanza bene.

Dietro il coding

Set
25

copertina

In occasione dei due seminari in Piemonte (Ivrea e Torino), di cui qui trovate maggiori informazioni, ho preparato delle slide. Troppe slide. Alla fine mi hanno fatto notare che più che una presentazione stava diventando un libro.

 

 

E allora ho colto l’occasione, reimpaginato, aggiunto, corretto, e ho realizzato un piccolo ebook dal titolo “Dietro il Coding”. Non è una difesa del coding né una sua condanna. E’ semplicemente una raccolta di domande e di riflessioni che hanno lo scopo di stimolare quelle degli altri, soprattutto di quelli che intendono dedicare qualche ora al Coding con i propri ragazzi. Riflessioni che partono da lontano, da almeno venticinque anni fa, ma che ho cercato di aggiornare andando a caccia di opinioni, di proposte e di alternative. Una parte importante è dedicata al progetto “Programma il Futuro” e a Scratch, ma purtroppo solo poche righe al nuovo tema dei curricoli digitali, che andrà seguito con attenzione.

Questo è l’indice:

Come nasce questo testo
1. Che cos’è il Coding
2. Perché è così importante
3. Una valutazione storica
4. Come si parla del Coding?
Primo Intermezzo: che significa opensource?
5. A che serve il Coding?
6. Chi può insegnare il Coding?
Secondo Intermezzo: le differenze tra linguaggi
7. Che linguaggio?
8. Il modello didattico dietro Scratch
9. Come andrà praticato il Coding
10. Un po’ di storia…
11. E oggi?
12. Come potrebbe funzionare davvero
Suggerimenti di lettura

L’ebook è rilasciato con licenza CC BY/SA e lo potete scaricare da  qui.

Creative computing from scratch

Dic
13

Scratch è ormai diventato una moda. Quando si parla di “coding”, di programmazione per bambini, si parla inevitabilmente di Scratch. Questa equazione mi infastidisce un po’, come se non si potesse giocare con la programmazione in altro modo, come se Scratch avesse una patente speciale e tutto il resto non fosse mai esistito. Questo naturalmente non è colpa di Scratch e dei suoi creatori, ma è una miopia tutta nostra. Probabilmente in Italia non è chiaro nemmeno il significato del nome: “scratch” è la linea di partenza di una corsa. Costruire qualcosa “from scratch” significa cominciare da zero.

Penso di fare un servizio utile provando a fare un po’ di chiarezza intorno al tema, all’oggetto Scratch e al suo modello didattico. Credo che chiunque voglia organizzare un pomeriggio di gioco con Scratch – ma come ho già scritto in precedenza, non basta un pomeriggio – dovrebbe almeno riflettere un po’ su questi argomenti.

Perché Scratch? Cosa ha di particolare? Almeno due aspetti mi sembrano alla base della sua fortuna. Ed entrambi meritano analisi e discussione.

  1. Il fatto che intorno a Scratch ci sia una comunità internazionale. Scratch è una “online community where children program and share interactive stories, games, and animations”. Bisogna quindi essere necessariamente connessi per programmare? In realtà esiste un editor offline, basato su Adobe Air. E’ una scelta strana per il MIT; né Adobe Air né l’editor offline sono OpenSource (a differenza di quasi tutti gli altri ambienti dello stesso genere). Non ho idea di quanti usino la versione offline, talmente è più facile utilizzare la versione online. In ogni caso c’erano, e ci sono ancora, anche altre comunità dello stesso genere. Quasi ognuno degli ambienti di programmazione per bambini ha un team di sviluppo che mantiene un sito con esempi, suggerimenti, guide. La comunità intorno a Scratch è la più recente, probabilmente la più attiva, non necessariamente la più interessante. Potrebbe valere la pena andare a curiosare anche nelle altre.
  2. Il fatto che non sia necessario scrivere codice sorgente (il che è piuttosto curioso, visto l’uso continuo del termine “coding”). La questione è rilevante. Uno dei passaggi chiave nella storia degli ambienti di programmazione per bambini è proprio il passaggio dalla scrittura di codice alla programmazione visuale. Significa che invece di scrivere “if questo then quest’altro” il programmatore deve trascinare oggetti grafici, disporli in un certo ordine, e scrivere solo dati all’interno di buchi (le variabili). La sintassi è affidata alla posizione degli oggetti, la semantica alla scrittura. Ci sono enormi vantaggi: il rischio di commettere errori di sintassi è annullato, la struttura del codice è rappresentata in forma visuale ed è più comprensibile con uno sguardo d’insieme. Si introduce però uno iato forte tra l’attività presente (visuale) e quella futura (scrittura). Infatti gli ambienti di programmazione visuale per adulti professionisti sono piuttosto pochi, dedicati di solito a domini specifici come il multimedia e, nel 99% dei casi, un programmatore scrive o modifica codice scritto. Ci sono degli evidenti vantaggi anche nell’uso della scrittura: un codice scritto in qualsiasi epoca e in qualsiasi linguaggio può essere modificato con un editor di testo (se la licenza lo permette). E abituarsi a leggere e rileggere, vale per un testo scritto in una lingua naturale come per un codice sorgente, non è un’attività poco utile nella vita.

Scratch nasce al MIT nel 2003 con un grant della NSF, in collaborazione con diverse altre università statunitensi (Pennsylvania, Harvard, Washington e altre). Tra i ringraziamenti, vengono citati Seymour Papert e Alan Kay, ovvero l’autore del LOGO e uno degli inventori della programmazione orientata agli oggetti e delle finestre, nonché di Squeak, Etoys e Tweak.

La storia degli ambienti di programmazione per bambini – in cui Scratch affonda le radici – è infatti molto lunga. A partire dal LOGO (1967 !) e i suoi derivati (StarLogo/NetLogo, 1999) passando per ToonTalk (1992), Stagecast Creator  (1996),  SmallTalk/Squeak/ (1996), Etoys (1997), Alice (1999),  fino al recente AppInventor per Android (2010). Una lista completa la trovate qui: http://en.wikipedia.org/wiki/Visual_programming_language.

Ognuno ha delle particolarità interessanti. Ad esempio Alice era basata sul modello della programmazione orientata agli oggetti, NetLogo sugli agenti concorrenti, Stagecast Creator sulle programmazione per regole. Sono tutti modelli alternativi alla programmazione “imperativa” (che è la più vecchia, quella in cui si comanda il computer con istruzioni e test, IF_THEN_ELSE), modelli che oggi sono studiati ed adottati su larga scala.

L’autorità principale dietro Scratch, Mitch Resnik (LEGO professor al MIT Media Lab), parla degli obiettivi del progetto in questi termini: “Quando qualcuno impara a programmare con Scratch impara allo stesso tempo importanti strategie per risolvere problemi, creare progetti e comunicare le proprie idee.” Le stesse idee sono espresse nella guida del 2011 pubblicata dall’Università di Harvard (http://scratched.gse.harvard.edu/sites/default/files/CurriculumGuide-v20110923.pdf). La guida è una miniera di idee e contenuti, declinati in 20 sessioni didattiche. Nell’introduzione si dice fra l’altro:

“Engaging in the creation of computational artifacts prepares young people for more than careers as computer scientists or as programmers. It supports young people’s development as computational thinkers – individuals who can draw on computational concepts, practices, and perspectives in all aspects of their lives, across disciplines and contexts.”

Il pensiero computazionale (traduzione dubbia; ma in questi casi è difficile resistere al calco) è quindi visto come una maniera di affrontare i problemi della vita, attraverso concetti come sequenze, cicli, parallelismo, eventi, condizioni, operatori e dati. Le pratiche che vengono incoraggiate come più adatte sono “essere iterativi e incrementali, verificare e correggere, riusare e mescolare, astrarre e modulare”.

Da un lato questa visione mi attrae, dall’altra devo confessare un po’ di spavento. Davvero i problemi reali vanno affrontati in termini di algoritmi formalizzabili? Davvero le azioni nei complessi contesti quotidiani vanno regolate in funzione di condizioni, operatori e dati? I bambini devono giocosamente imparare a comportarsi nella vita come automi perfettamente informati?

Persino l’idea dell’introduzione giocosa alla programmazione, per preparare i futuri sviluppatori di cui avremo bisogno nei prossimi dieci anni, andrebbe esaminata un po’ di più prima di essere accettata come una verità incontestabile. Non solo perché nel comparto informatico ci serviranno molte figure professionali diverse dagli sviluppatori; e non solo perché la programmazione richiede tanta creatività nell’inventare quanta abilità nel portare a termine l’idea.

Il punto centrale, il fulcro, è la strategia didattica.

Che “chi impara prima, impara meglio”, sembra essere un proverbio uscito dalla saggezza popolare, e quindi poco discutibile. Per diventare un musicista, un ballerino, un calciatore, un cantante, bisogna cominciare da bambini. Vale anche per le lingue straniere, vale anche per la matematica. Lo sappiamo per esperienza. Vale anche per la programmazione dei computer? Beh, qui troppi dati statistici non ci sono, dobbiamo procedere per analogia; e le analogie vanno tenute sotto controllo perché tendono a sfuggire.

Come si insegna ad un bambino una materia complessa, composta di tecnica e conoscenze, senza che le difficoltà impediscano i progressi?

Tradizionalmente, abbassando il livello della qualità richiesta, semplificando gli obiettivi, ma lasciando intatti gli elementi e le regole. Non si insegna ad una bambina di sei anni a suonare il violino con uno strumento con due sole corde, ma con un violino ¾, che ha la stessa complessità di uno 4/4 . Ma c’è una sterminata letteratura didattica composta per guidare lo studente dal facile al difficile. Non si semplifica il contesto, si modulano le richieste. La strategia didattica è lineare: c’è una gradazione infinita di modi di far vibrare una corda, e chi apprende procede lungo questo sentiero infinito. Limiti: la bambina si annoia, soprattutto se non capisce dove la porterà questa lunga strada, perché i risultati iniziali non sono troppo incoraggianti. Finirà probabilmente per abbandonare.

C’è un altro modo, più moderno: si crea un ambiente “didattico”, semplificato, in cui elementi e regole sono ridotti rispetto all’originale. Un flauto con i tasti invece dei fori; un toy piano diatonico. Qui i risultati gradevoli si raggiungono presto, la motivazione è rafforzata.

Questi giocattoli educativi non sono in continuità con il mondo reale. C’è una cesura netta: da un lato il giocattolo, dall’altro lo strumento vero, da un lato gli spartiti colorati, dall’altro i pentagrammi.

Questa strategia è senz’altro più efficace per iniziare, è più “democratica”, ha successo nella quasi totalità dei casi. Non serve a preparare musicisti professionisti, ma a comunicare l’amore per la musica (per esempio, io ho cominciato a suonare su un pianoforte giocattolo, e da allora amo disturbare il vicinato con ogni tipo di strumento – per questo vivo in campagna). E’ molto chiaro che non c’è un passaggio graduale dal modo “semplificato” a quello “avanzato”. Sono due mondi diversi, che si assomigliano in alcune parti, ma che non sono in connessione diretta. Alcuni degli studenti arrivati ai confini di uno si affacceranno sull’altro, si accorgeranno che la complessità è enormemente più elevata, ma decideranno di entrare lo stesso; altri si fermeranno nel primo mondo, come ho fatto io.

Tra gli ambienti di programmazione per bambini, però, alcuni sono stati pensati proprio come un raccordo, una via di mezzo tra i giocattoli e le cose serie. Sono ambienti dinamici, modificabili, evolutivi, in cui il bambino può iniziare in un contesto semplice e poi aggiungere complessità fino ad arrivare all’editor testuale di codice sorgente che è identico a quello del programmatore professionista. Questo è uno dei motivi per cui gli oggetti digitali sono più potenti di quelli fisici.

Ora, quali sono gli obiettivi di Scratch? Apparentemente, due: preparare futuri programmatori e iniziare i bambini all’amore per il computational thinking.

E la strategia didattica dietro Scratch, di quale delle due categorie delineate sopra fa parte? Direi della seconda, visto che l’ambiente che si propone è giocoso, facile, divertente, ma non ha le stesse regole del “mondo adulto” della programmazione. Non si scrive e legge codice. Non ci si preoccupa della correttezza sintattica. Non ci si preoccupa dell’efficienza, della velocità, della comprensibilità, della standardizzazione, dello stile, etc etc. Non c’è niente di male, come non c’è niente di male in un toy piano. Ma solo nei fumetti Schroeder suona Beethoven con quello.

Il problema nasce proprio quando si immagina che entrambi gli obiettivi possano essere raggiunti con una sola strategia, ovvero quando questa differenza di approcci strategici non viene proprio percepita,  cioè quando si pensa che iniziare a programmare con Scratch sia solo il gradino più basso di una scala che porta, gradualmente, alla produzione dei software che usiamo ogni minuto. E questo è tipicamente un errore di chi non ha una grande esperienza della programmazione.

Programmare non è solo un po’ più difficile di creare un gioco con Scratch, è enormemente più complesso; come realizzare un film o registrare un concerto non è solo un po’ più difficile di girare un video con uno smartphone.

Personalmente ho visto tanti bambini (studenti, figli, figli di amici) giocare con ambienti di programmazione fatti apposta per costruire giochi. Di tutti questi, solo uno, che io sappia, ha avuto la voglia e la costanza di continuare. Gli altri, quando hanno capito che programmare è difficile, si sono arresi e sono tornati a giocare.

____

Ci sono infine alcune domande che credo sia importante porsi quando si inizia un progetto didattico con Scratch.

1. Possono condurre un curriculum (nel senso di un progetto didattico) basato su Scratch anche docenti che non sono informatici di estrazione? Non è ovvia la risposta. Nel senso che le competenze tecniche per usare e far usare Scratch sono ovviamente molto basse. Ma non avere il background necessario potrebbe essere un limite grosso quando si cerca di espandere le idee e i concetti di Scratch e applicarle al mondo quotidiano (gli smartphone, il web, i programmi per PC). Non significa che solo i laureati in informatica possono condurre un laboratorio Scratch. Servono competenze pedagogiche, capacità di giocare insieme ai bambini e competenze informatiche.

2. Le idee dietro Scratch hanno una lunga storia, quasi tutta scritta negli Stati Uniti, quindi legata a quel modello educativo e sociale. Possiamo prenderle in prestito così come sono o possiamo/dobbiamo pensare ad un adattamento europeo e italiano? Ad esempio, se il peso delle attività di scrittura/lettura è diverso nei curricula statunitensi e italiani dei primi anni scolastici, non dobbiamo tenerne conto?

3. Perché dobbiamo sempre ricominciare “from scratch”? Ci sono, in tutto il mondo, migliaia di esperienze di introduzione alla programmazione con altri linguaggi e ambienti, in Italia almeno a partire dagli anni ’80. Possiamo ritrovarli, studiarli, verificarne i risultati? Potremmo, ad esempio, andare a vedere quali effetti hanno avuto nel tempo sui bambini coinvolti (quanti hanno scelto l’informatica come professione, quanti riconoscono un valore a quelle esperienze)?

Insomma, mi sembra che ci sia ancora tanto da fare e tanto su cui riflettere.

Year of Code

Ago
12

Il 2014, per chi non lo sapesse, è stato dichiarato “Year of Code” nel Regno Unito. Anno del codice, nel senso di “anno della programmazione”. Da settembre, la programmazione verrà insegnata nelle scuole elementari e medie, ovvero tra i 5 e i 16 anni. http://yearofcode.org/
In September 2014 coding will be introduced to the school timetable for every child aged 5-16 years old, making the UK the first major G20 economy in the world to implement this on a national level”.
Questa decisione ha portato con sé – o forse è la parte visibile e ufficiale di – una miriade di attività collaterali, su base volontaristica, tutte mirate a diffondere la programmazione tra i ragazzi, ma non solo. Coding is empowering: programmare rende più fichi.
http://issuu.com/techmixmag/docs/techmix_magazine_issue__3/15?e=0/8750602

E’ interessante andare a vedere l’immaginario che viene costruito per coinvolgere la popolazione, non solo in UK ma anche negli USA e altrove. Quella che viene presentata non è più la figura del geek, dell’informatico tipico, un po’ secchione e un po’ sfigato, ma quella della mamma disoccupata che si ricicla in un altro settore, quella del genio artistico che inventa una startup, del ragazzino qualunque che tira fuori la app da 200.000 dowload in una settimana
http://www.codecademy.com/stories/99-how-to-outgrow-the-fear-of-starting

Premesso che chi scrive ha passato alcuni anni ad insegnare a programmare a classi di bambini tra 10 e i 14 anni, che è da sempre un appassionato di Logo, di cui ha seguito con interesse tutte le evoluzioni (da MicroWorlds a StarLogo a NetLogo), e che ha continuato ad avere un interesse “estetico” per gli ambienti di programmazione visuale in qualche modo derivati (Alice, Squeak/Etoys, Scratch, ….) che oggi vanno per la maggiore e che rendono il termine “coding” abbastanza pretestuoso. Premesso che anche ora che non la pratico quotidianamente trovo la programmazione un’attività molto gratificante, come ogni tipo di creazione artistica, e che al pari della musica o delle arti grafiche mi dispiace che questo piacere non venga condiviso da molti.
Tutto ciò ed altro premesso, non è quindi per avversione preconcetta verso l’apprendimento della programmazione in giovane età che mi è venuta l’idea di scrivere queste note. Non penso che i bambini debbano essere tenuti lontani dalle macchine, né che la logica dell’utenza passiva multimediale debba restare l’unica, o quella privilegiata, fino alla maturità.
Ma il recente fiorire di iniziative per introdurre i bambini alla programmazione (diciamola meglio: per portare dei ragazzini a sviluppare delle app in una sola giornata) mi lascia invece perplesso.

Cerco, nelle presentazioni delle giornate di introduzione alla programmazione organizzate, per esempio, da CoderDojo, le ragioni di questo rinnovato interesse. Le cerco anche con una certa invidia tutta italiana perché mi ricordo il triste destino che ha avuto da noi quella parte di curriculum informatico scolastico dedicata alla programmazione. Ricordo le ragioni di quell’esclusione: ad esempio, che i bambini, nella scuola dell’obbligo, non devono imparare a programmare più di quanto non debbano imparare a riparare una lavatrice. Ricordo l’informatica “carta e matita” di Giovanni Lariccia, ma anche la scoperta dell’ECDL, l’attenzione per gli strumenti di produzione di media più che su quelli per la produzione di programmi, etc … Oggi, quando vedo gli entusiastici commenti a queste iniziative, mi chiedo: quali sono, stavolta, le ragioni? Perché passare un pomeriggio a programmare, a 10 anni, è meglio di passare un pomeriggio a giocare a pallone? Perché organizzare spazi e tempi extrascolastici per offrire questa possibilità? Perché dedicarci risorse pubbliche, o private?

Mi pare che le ragioni citate siano di almeno due ordini:

1. Aspetti economici: sono facili da citare, molto meno da dimostrare.
Nel 2015 ci saranno in Europa 700.000 posti di lavoro vuoti nel settore ICT (fonte: Commissione Europea, http://europa.eu/rapid/press-release_IP-13-52_it.htm). Negli USA, entro il 2022 ci saranno 2.600.000 posti di lavoro nel settore dell’informazione; di questi, 750.000 per i programmatori, con una crescita del 22,8 % (fonte: Bureau of Labor Statistics, http://www.bls.gov/news.release/pdf/ecopro.pdf).

This means that U.S. companies would be forced to outsource valuable coding jobs to India, China, Eastern Europe, and other countries with growing IT sectors, while thousands of Americans remain unemployed or stuck in low-skilled, low-wage positions” (http://opensource.com/education/13/4/teaching-kids-code).

A parte il fatto che di questi milioni di posti di lavoro solo una parte è riservata ai programmatori propriamente detti, mentre la maggioranza è lasciata a tutti gli altri lavoratori del settore (analisti, progettisti, sistemisti, grafici, esperti di reti, di sicurezza, commerciali, docenti, installatori, …), e a parte il fatto che il lavoro di programmatore non è necessariamente così ben pagato e attraente, il punto è: quale politica educativa e del lavoro porterà a colmare questi vuoti. Da dove si comincia? Dalla riforma dei curricula universitari? Da quella delle scuole tecniche? Dalla riforma del mercato del lavoro? O dai Coding Day per i ragazzi?

Ad esempio, quale legame ci sarebbe tra la giornata festosa in cui si sviluppa un videogioco con gli amici e la capacità di svolgere un lavoro del tipo di quelli di cui il mercato ha bisogno? Non è detto che quello che si apprende oggi sia ancora utile domani. Il ragazzino di 10 anni che oggi produce – in una giornata – una app per Android avrà 18 anni nel 2022, e allora non avrà davanti le stesse piattaforme, gli stessi linguaggi e nemmeno gli stessi concetti. Basti guardare quali erano appunto linguaggi e sistemi operativi dieci anni fa e la distanza abissale che li separa da quelli di oggi. Manca, a mio avviso, uno studio che dimostri gli effetti a medio o lungo termine di queste iniziative. Effetti che potrebbero essere cercati sulla scelta della scuola, sul percorso di apprendimento personale, sulle letture scelte, sull’uso del tempo libero, sullo scambio di conoscenze con i pari. E magari si potrebbe anche ragionare meglio su quali linguaggi, quali sistemi, quali tipi di problemi, quali domini applicativi sono più adatti per avviare il giovane programmatore verso il suo radioso futuro rendendolo più concorrenziale rispetto ad altri.

2. Aspetti sociali: subito dopo quelle economiche, vengono citate le ragioni più “etico-politiche”. Il ragionamento è più o meno questo: la nostra vita è costellata di apparecchiature elettroniche del cui funzionamento non sappiamo nulla; se avessimo le competenze digitali attive (coding specials) saremmo in grado di difenderci; quindi è bene acquisire queste competenze fin da piccoli.
E’ un po’ la motivazione che sottintendeva lo studio dei mass media e della pubblicità a scuola qualche anno fa: se li conosci, li smascheri.

Ad esempio, sempre con le parole di Rebecca Lindegren:
Children’s personal and professional lives will increasingly be shaped by computer programs. Without the ability to code, they will become passive consumers at the mercy of programmers working for technology giants, unable to construct or meaningfully interact with the virtual reality that surrounds them” (http://opensource.com/education/13/4/teaching-kids-code).

Questo passaggio dell’articolo è, a mio avviso, il più interessante. Senza la capacità di programmare, i bambini diventeranno passivi consumatori etc etc. Con la capacità di programmare (acquisita in un paio di pomeriggi tra amici) invece saranno vaccinati e potranno interagire significativamente con il mondo virtuale che li circonda.

Da notare almeno due cose: la prima è che la capacità di programmare vaccina dallo strapotere dei giganti della tecnologia. Si può anche essere d’accordo in teoria, ma va definito cosa intendiamo per “capacità di programmare”. Un’attitudine? Un’esperienza, anche limitata? Una competenza specifica e verificata da terzi?
Stiamo parlando della buona abitudine di leggere il codice sorgente di ogni programma che si utilizza? Della curiosità verso ogni nuova soluzione che viene presentata, curiosità che non si contenta di un’etichetta o di una descrizione ma vuole arrivare a capire come funziona oggi e come funzionerà domani? O della capacità di progettare, sviluppare e manutenere soluzioni alternative?
Sono “capacità” completamente diverse. Si raggiungono, e si perdono, in tempi diversi e in modi diversi. Alcune di queste non sono generiche, ma possibili solo in connessione con certi contesti tecnologici e legali, primo fra tutti quello dell’apertura del codice sorgente.
Ora in generale aumentare la quota di competenze creative che viene appresa a scuola è probabilmente utile a preparare un cittadino capace di costruire narrazioni originali, oltre che di ascoltare quelle degli altri. Competenze che si possono sviluppare componendo musica, scrivendo sceneggiature, disegnando fumetti e persino programmando (uno spartito o un programma non sono poi così diversi, da questo punto di vista). Qui però è in gioco una riforma del curriculum scolastico, e non solo qualche ora di laboratorio.

La seconda cosa da notare è che la possibilità di interagire pienamente con la realtà (virtuale, nel senso dell’insieme di dispositivi, reti, server, …) non sembra dipendere solo da queste competenze. Anche qui, andrebbe forse ricordato che, oggi molto più di ieri, ognuno di noi ha comprato già preinstallati o consentito a installare sui propri dispositivi digitali – pc, tablet, smartphone, televisori, frigoriferi,… – centinaia di programmi del cui funzionamento effettivo non possiamo sapere quasi nulla, se non quello che esplicitamente ci dicono i produttori. Il codice sorgente di questi programmi (che a volte chiamiamo “applicazioni” o amichevolmente “app” per farceli sembrare meno complessi e e pericolosi) non è disponibile per la lettura o la modifica. Sapere programmare non aiuta minimamente a evitare che raccolgano i nostri dati e ne facciano un uso non previsto (da noi). Sapere programmare non ci permette di evitare di usarli: alzi la mano chi si può permettere di non avere un account gmail o una pagina FB. Senz’altro non ci aiuta a modificarli, a impedire che svolgano azioni se non illecite, almeno non gradite. Interagire significativamente con gli altri tramite app e reti, ricevere e fornire dati – filtrandoli – richiede delle competenze, che oggi fanno sicuramente parte di quelle di base di ogni cittadino. Ma allora non è sufficiente un pomeriggio di manipolazione di Scratch, serve anche qualche informazione in più. Informazione che in effetti né la scuola dell’obbligo, né quella superiore, né l’università consegnano.

3. Vengono in mente però anche altre ragioni, forse meno nobili. Per esempio, una generazione di ragazzini che sono in grado di produrre un’app in poche ore significa da un lato un serbatoio immenso da cui andare a pescare i migliori developers senza doversi assumere l’impegno e la responsabilità di formarli adeguatamente e di aspettare il momento in cui, accanto ad altre competenze utili per una vita completa, sviluppino anche quelle di coding; e dall’altro un enorme mercato per quelle app…
Ad esempio la Scuola 42, a Parigi, dichiara esplicitamente di porsi come un’alternativa ai percorsi scolastici tradizionali per scovare dei geni informatici che probabilmente sarebbero degli esclusi nel sistema tradizionale (http://www.42.fr/ledito-de-xavier-niel/). Da notare che la scuola 42 è gratuita. Un progetto simile, ma più orientato al sociale (e quindi finanziato con fondi pubblici) è quello di Simplon (http://lafrancesengage.fr/toutes-les-actions/simplonco.html).
Soprattuto nel primo caso, si unisce l’idea della selezione anticipata con quella dell’investimento vantaggioso: i migliori – indipendentemente dalla posizione sociale – possono ricevere la migliore formazione e avere una via privilegiata per l’accesso al lavoro. Investire in formazione rende meglio che affidarsi ad una selezione, permette di arrivare prima e assicurarsi i servigi di uno sviluppatore che è sempre più giovane.
Non che queste ragioni siano necessariamente quelle che motivano gli organizzatori delle giornate; ma è lecito domandarsi se non sono quelle che motivano gli sponsor, che sono spesso grandi imprese del settore telecom se non direttamente dell’ICT.
Dopo tutto, perché perdere tempo a formare tutti gli studenti alla programmazione per poi verificare con un test quali sono adatti al lavoro? Basta farlo solo con i più svegli.

Riandando a quelle lezioni con ragazzi delle scuole medie, in cui per gruppetti cercavamo di costruire dei videogiochi con i limitati strumenti a disposizione (erano gli anni ’90), la differenza che mi salta agli occhi è che allora si aveva in mente un progetto educativo. Ovvero: si sceglieva un linguaggio perché era stato pensato per i bambini (e non solo perché era una versione semplificata di un ambiente di simulazione di Android); si sceglieva un dominio (ad esempio, ma non necessariamente, quello matematico) perché alcuni aspetti del programma di matematica erano più comprensibili affrontandoli dal punto di vista della costruzione anziché da quello della analisi – per esempio la geometria; ma si usava anche il Prolog per studiare la grammatica. L’obiettivo era pienamente didattico: imparare a programmare all’interno del percorso scolastico non era la preparazione a qualcos’altro, ma un’attività degna di per sé, che aiutava a imparare meglio e più in profondità. Programmare era un modo generale per affrontare l’apprendimento. L’oggetto e le finalità dell’apprendimento però erano determinati da altre considerazioni.

E’ possibile, lo riconosco, che io abbia una visione un po’ edulcorata, mitica, di quelle ore. Forse tutta questa chiarezza teorica non c’era e la consapevolezza del progetto educativo la sto inserendo a posteriori. Allora, come adesso, c’era molta buona volontà e una speranza di fare qualcosa di diverso, e di utile.

Mi auguro almeno che questo stesso spirito animi i volontari che oggi supportano i ragazzi nello sviluppo della loro prima app.

Opendata anche domani

Dic
22

Tra le ragioni degli opendata sento raramente citare quella che secondo me si potrebbe definire come un’assicurazione sulla vita dei dati stessi.
Dati aperti significa leggibili adesso, da tutti, ovunque.
Un elemento che viene poco preso in considerazione è il tempo.

Rispetto al tempo, sono due le dimensioni interessanti nella valutazione dei dati:
– la persistenza
– la rappresentatività
La persistenza è la probabilità che i dati non vengano aggiornati in tempi troppo rapidi.
La rappresentatività  è la probabilità che i dati mantengano significato nel futuro perché “fotografano” una situazione che può essere confrontata con altre.

Per esempio, i nomi dei deputati e senatori eletti in una certa legislatura non sono soggetti a cambiare nel tempo, quindi hanno un’alta persistenza; ma non ha molto  senso confrontare questi dati con quelli di un’altra legislatura, quindi hanno una bassa  rappresentatività.
Se invece prendiamo  gli stipendi percepiti dagli stessi deputati e senatori possono essere confrontati in serie storiche per valutare la dipendenza dall’inflazione, è probabile che si tratti di informazione a bassa persistenza (dura una sola legislatura) ma alta rappresentatività.

Ora proprio quando siamo in presenza di dati con bassa persistenza e/o con alta rappresentatività è molto importante poter contare in futuro sulla possibilità di leggere quei dati con la stessa o con altre modalità, ma che soddisfino ugualmente i requisiti dei dati aperti (lettura automatica, possibilità di correzione di errore).
Si possono fare infiniti esempi: dai dati restituiti dalle centraline per il controllo della percentuale di CO2 a quelli sui lavori disponibili presso i centri per l’impiego.

Secondo Tim Berners-Lee, gli opendata possono essere “premiati” con delle stelline in base ad alcune proprietà fondamentali (essere pubblici, machine-readable, in formati aperti, referenziati univocamente, linkati). /
Lo stesso Berners-Lee ha sostenuto spesso che comunque è meglio pubblicare, in qualsiasi modo (“raw data now!”), piuttosto che non pubblicare. Ma se si guardano le tipologie dei dataset pubblici se ne trovano ancora pochi che possono fregiarsi di almeno tre stelle.

Quando i dati vengono pubblicati come CSV, vuol dire che sono file in formato ASCII in cui i campi sono separati da virgole o punto e virgola e i record dal caratteri di acapo. Non è il massimo, ma è leggibile con qualsiasi sistema operativo e qualsiasi editor di testi. ASCII è uno degli standard più longevi; creato nel 1968, definito come standard ISO dal 1972 (ISO 646), benché limitato a solo 127 codici  è sopravvissuto anche perché inglobato nel più recente e potente UTF , che consente di rappresentare virtualmente quasi tutte le lingue del mondo, passate e presenti.

Quando i dati vengono pubblicati come fogli di calcolo (che almeno per le PA  Italiane equivale a dire XLS ,cioè MS Excel)  possono contenere oltre ai dati veri e propri anche indicazioni di formattazione, grafici, metadati (data, autore, programma). Ma quello che è significativo è il fatto che il formato XLS è di per sé proprietario, binario, non basato su standard internazionli pubblici.
Il formato è stato documentato pubblicamente da MS a partire dal 2008, quando il formato standard per i documenti Office è diventato OOXML, che è divenuto anche uno standard ISO alternativo a quello OASIS, riconosciuto due anni prima e adottato da diversi paesi.
Oggi  è possibile leggere i file XLS anche utilizzando un programma diverso da quello con cui è stato scritto (anche se la realizzazione di tale software potrebbe violare delle patenti). Ma domani? Potrebbe semplicemente non essere più disponibile alcun programma in grado di farlo.
Non è uno scenario fantascientifico. Basti guardare quel che è successo con formati che sembravano incrollabili, come quello dei documenti WordStar.  La mia personale vicenda con un file Wordstar è raccontata qui.

La soluzione più elegante e potente è quella di utilizzare un formato basato su XML, che – oltre a poter in teoria contenere anche indicazioni sul significato dei dati, e non solo informazioni sulla loro posizione nella tabella – poggiandosi su UTF 8 sembra garantire una leggibilità futura.

I file XLSX e ODT (ma anche i meno conosciuti  .gnm prodotti con Gnumeric) sono  appunto basati su XML – anche se seguono standard diversi – ma sono entrambi compressi con l’algoritmo ZIP, che è uno standard de facto, creato nel 1989 da Phil Katz e con specifiche pubbliche.
ZIP è un contenitore di file diversi, i quali possono essere compressi separatamente e protetti con algoritmi differenti (come AES). Purtroppo ZIP non è regolato da uno standard internazionale. Il che significa che, in teoria, potrebbe un giorno diventare obsoleto…

In conclusioni, parafrasando Berners-Lee, si potrebbe dire “We want raw data now and tomorrow”.

 

Innovazione digitale e lavoro

Feb
05

La giornata dedicata da Stati Generali dell’Innovazione ai prossimi appuntamenti elettorali si è svolta il 4 Febbraio 2013 presso il CNR di Roma con la partecipazione di almeno una quindicina degli oltre settanta candidati che ne hanno sottoscritto la Carta di Intenti.
Il tema del lavoro è stato purtroppo il grande assente della manifestazione, in un’Italia fotografata dall’ISTAT a dicembre 2012 con questi dati agghiaccianti:
“Il numero di disoccupati, pari a 2 milioni 875 mila, registra un lieve aumento (+4 mila) rispetto a novembre. Su base annua la disoccupazione cresce del 19,7% (+474 mila unità), l’aumento interessa sia la componente maschile sia quella femminile.
Il tasso di disoccupazione si attesta all’11,2% […]
Tra i 15-24enni le persone in cerca di lavoro sono 606 mila e rappresentano il 10,0% della popolazione in questa fascia d’età. Il tasso di disoccupazione dei 15-24enni, ovvero l’incidenza dei disoccupati sul totale di quelli occupati o in cerca, è pari al 36,6%, in calo di 0,2 punti percentuali rispetto al mese precedente e in aumento di 4,9 punti nel confronto tendenziale.”

Può l’innovazione digitale creare nuovi posti di lavoro? Se si, di che tipo, dove, come?

Durante il convegno ci sono state, in effetti, delle dichiarazioni di intenti. Ora, alla semplicistica equazione “opendata + servizi offerti dalle imprese = aumento del PIL” si dovrebbe sostituire un ragionamento più complesso. Qual è il modello di business che sosterrebbe questo aumento di PIL? da dove proverrebbero e dove finirebbero i ricavi prodotti? Se, ad esempio, l’unico beneficiario dell’apertura dei dati è la multinazionale X sufficientemente potente da poter sviluppare (fuori dall’Italia) il software necessario per utilizzare i dati e da venderlo a tutti i cittadini Italiani, significherebbe che il costo di quei servizi sarebbe spostato dalla PA ai cittadini, con un vantaggio solo per quella multinazionale e uno svantaggio per chi quel servizio non può acquistarlo. D’altra parte sostenere che il modello di business degli opendata sia solo quello (ancora tutto da dimostrare) della vendita delle app è un po’ riduttivo. Leggete, ad esempio, l’articolo di Jeni Tennison o lo studio di Enrico Ferro e Michele Osella .

Probabilmente però l’innovazione digitale piace ai politici per un altro motivo: innovazione digitale significa automazioni di processi, servizi online, dematerializzazione, insomma diminuzione della spesa pubblica improduttiva. Che, almeno in alcuni casi, fa rima con taglio di posti di lavoro.
Ora sembra che lo stato, come ogni buona massaia, sia virtuoso se spende di meno, se non “butta via i soldi”. E in effetti sembrerebbe che se – fermo restando lo standard di servizio al cittadino, o addirittura aumentandolo – si riesce a spendere di meno, tutti ci guadagnano. Però questa che sembra una deduzione ferrea nasconde un elemento critico: non pagare per offrire servizi può significare che qualcuno lavora di meno o per niente. Insomma c’è almeno uno che ci rimette: quello che viveva del lavoro necessario a fornire quel servizio. Per esempio: tutto va su cloud, magari all’estero. Bene, e il tecnico che gestiva i server del data center che fine fa?
Un esempio interessante proprio nel campo degli opendata: durante il dibattito uno dei candidati ha sostenuto che il passaggio agli opendata, nel suo Comune, è stato a costo zero. “Impossibile” protestano dalla platea. “Invece si”, risponde lui, “perché l’ho fatto io da solo”. Quindi i cittadini di quel Comune hanno pagato una parte degli emolumenti ad un amministratore perché svolgesse, invece delle sue funzioni proprie, quelle di un tecnico informatico esterno (visto che all’interno non esistevano le competenze necessarie), che altrimenti avrebbe dovuto essere pagato. Gratis si, ma solo in apparenza.
Insomma, quasi un paradosso: l’innovazione digitale deprime il mercato del lavoro, invece di stimolarlo.

L’innovazione produce inevitabilmente obsolescenza di professioni, e quella digitale ancora di più. L’operaio è sostituito dalla macchina – ma anche il portalettere sostituito dall’email. Quando però non si tratta di un semplice comportamento naturale osservato dall’esterno, ma di uno dei punti della strategia con cui si vuole risollevare un Paese, non è sufficiente accettare questa perdita di lavori e professionalità come un male necessario. Non si tratta di protezionismo: l’innovazione digitale come manifesto elettorale deve prevedere, da subito, anche un progetto complessivo per aprire nuove strade professionali al posto dei sentieri interrotti. E gli opendata possono essere una di queste strade.
Non serve pensare a grandi riforme. Se ad esempio ogni Comune spingesse gli istituti tecnici e professionali ad indirizzo informatico a prendere in considerazione il settore degli opendata e a insegnare a sviluppare apps e webapps che ne fanno uso; se li invitasse ad avviare stages negli uffici comunali per partecipare al processo di raccolta, pulizia, organizzazione e pubblicazione degli opendata; se promuovesse l’intero processo tra le associazioni di imprenditori locali, facilitando la nascita di concentratori locali che permettono di aprire un’impresa digitale senza sostenere le spese di una struttura fisica, tutto questo creerebbe le condizioni future non solo per una riduzione di spesa (probabilmente la cooperativa di giovani locali ha un costo orario inferiore a quello di una grande struttura nazionale), ma anche per la creazione di nuove professioni e nuovi soggetti imprenditoriali a livello locale, e quindi davvero per un aumento del PIL e per una redistribuzione equa delle risorse.

Ridurre la spesa non è valore di per sé, se il soggetto è lo Stato. Lo è se, ad esempio, le risorse invece di andare all’estero restano in Italia e vanno a sostenere i giovani; se vengono distribuite diversamente, equamente, tenendo conto di parametri come il genere, l’età, la capacità.
O, per tornare ai temi di questo blog, se invece di licenze di software vengono pagati servizi offerti da professionisti per installare, modificare, aggiornare e manutenere il software. Per inciso, condizioni che si verificano quando si privilegia il modello OpenSource, dove non è tanto significativo l’importo del risparmio (qualcuno dice anche che non c’è), quanto la quota di spesa che viene “investita” in formazione, in sviluppo, insomma in lavoro anziché in merci.