Educazione al pensiero computazionale con dispositivi a basso costo
Educazione al pensiero computazionale con dispositivi a basso costo
Importanza e diffusione del pensiero computazionale
Ho partecipato con piacere alle lezioni tenute docenti universitari dell’Università Statale di Milano durante il secondo ciclo del TFA – A042. Essi hanno dimostrato di avere realmente a cuore l’insegnamento dell’informatica nella scuola e di prodigarsi per far cambiare l’idea distorta e purtroppo largamente diffusa che questa disciplina abbia esclusivamente a che fare con l’utilizzo, la manutenzione e la riparazione dei computer.
Ho avuto modo di verificare personalmente anche nella mia scuola, soprattutto negli indirizzi in cui le ore settimanali sono poche e le linee guida del Ministero fuorvianti, i non addetti ai lavori, come genitori o altri insegnanti, ritengono spesso che l’informatica equivalga all’uso del computer o di applicativi specifici utili per agevolare lo studio e il lavoro.
È quindi più che riduttivo limitare l’”informazione automatica“ al mero utilizzo del calcolatore in quanto in essa convergono teorie e concetti legati alla matematica, alla logica, alla teoria dell’informazione, alla fisica e all’elettronica; l’applicazione delle scoperte fatte e delle teorie formulate in questo campo hanno trovato largo spazio nei settori più disparati e ha permesso di realizzare prodotti tecnologici che hanno definitivamente trasformato il nostro modo di vivere e agire quotidiano.
Purtroppo questa confusione terminologica mistifica il reale contributo concettuale della rivoluzione informatica; nei casi in cui s’intenda l’uso del computer o di applicativi specifici, sarebbe più opportuno parlare di “tecnologie informatiche” o, magari, utilizzare il neologismo “applimatica”.
Questa errata percezione ha portato inevitabilmente alla creazione, negli scorsi decenni, di corsi di “informatica” in cui s’insegnava l’uso di un elaboratore di testo o di un foglio di calcolo.
In questo senso, il percorso del TFA è stato senza dubbio fondamentale per riuscire ad acquisire le competenze basilari per poter svolgere produttivamente il lavoro di insegnante e per sensibilizzare efficacemente i giovani alla vera informatica.
Del resto, i ragazzi, che oggi sono considerati nativi digitali[1], in realtà sono generalmente dei semplici fruitori software utilizzando in maniera quasi esclusivamente strumentale la tecnologia, senza conoscerne in modo approfondito le potenzialità ed i segreti.
In quest’ottica, il pensiero computazionale o computational thinking[2], tra i temi più caldi dell’ultimo decennio nell’ambito dell’insegnamento dell’informatica, con la sua diffusione sanerà sicuramente l’erronea percezione dell’informatica nel mondo.
Tra i problemi che si presentano ad una auspicabile propagazione del pensiero computazionale, vi sono difficoltà di accesso legate a contingenti situazioni di svantaggio socio-economico di cui mi occuperò più specificatamente nelle prossime sezioni avanzando possibili soluzioni.
Tengo a precisare che il cambio di percezione dell’informatica è solo un effetto “collaterale” della diffusione del pensiero computazionale, il cui valore è intrinseco. Infatti, esso va ben oltre l’uso della tecnologia, e, sebbene la sfrutti intensivamente, è indipendente da essa. Non si tratta di ridurre il pensiero umano, creativo e fantasioso, al mondo “meccanico e ripetitivo” di un calcolatore, bensì di far comprendere all’uomo quali sono le reali possibilità di estensione del proprio intelletto attraverso il calcolatore. Si tratta di “risolvere problemi, progettare sistemi, comprendere il comportamento umano basandosi sui concetti fondamentali dell’informatica[3]”. In sostanza, pensare come un informatico quando si affronta un problema.
Il pensiero computazionale coinvolge una serie di abilità per la risoluzione di problemi e tecniche che gli informatici utilizzano per scrivere i programmi, ma può essere applicato ad ogni disciplina. Gli studenti che apprendono il pensiero computazionale iniziano a scoprire relazioni tra diverse discipline e tra ciò che si studia in classe e la vita al di fuori di essa.
In questo senso, il pensiero computazionale include quattro passi:
- Decomposizione, ovvero la divisione di un compito in “passi atomici”.
- Riconoscimento di schema, ovvero l’osservazione di similitudini o di differenze comuni che permettano di fare previsioni o conducano a scorciatoie.
- Generalizzazione di schema e astrazione, ovvero il filtraggio di informazioni non necessarie generalizzando quelle che invece sono utili permettendo di rappresentare un’idea o un processo in termini generali, così da poterlo utilizzare per risolvere problemi simili.
- Progettazione di algoritmi, ovvero lo sviluppo di una strategia passo-passo per risolvere un problema.
Il pensiero computazionale è stato proposto come quarta abilità di base oltre a leggere, scrivere e calcolare; vista la sua importanza, quindi, è naturale preoccuparsi che tale approccio alla soluzione dei problemi venga insegnato a tutti gli studenti di tutti i livelli di istruzione, magari già nelle scuole primarie sfruttandone gli aspetti ludici.
Proprio in questa direzione sono volti progetti come “Programma il Futuro[4]”, in cui il MIUR, in collaborazione con il CINI (Consorzio Interuniversitario Nazionale per l’Informatica), prendendo le mosse da un’esperienza di successo avviata negli USA nel 2013, ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell’informatica.
Secondo questo approccio, il modo più semplice e divertente di sviluppare il pensiero computazionale è attraverso la programmazione in un contesto di gioco.
La programmazione o coding assume così anche una nuova fisionomia educativa, soprattutto per le ricadute che ha sull’ambito logico-matematico nella risoluzione dei problemi e nello sviluppo della logica.
Saper tradurre idee in codice è un’espressione di creatività ed incentiva la responsabilizzazione ed il ruolo attivo dell’individuo. Per un ragazzo, imparare a programmare concorre a fargli raggiungere il traguardo della competenza digitale[5].
Saper programmare è importante quanto conoscere una lingua straniera perché la lingua dei computer è parlata ovunque.
I linguaggi di programmazione sono il formalismo con cui gli informatici esprimono i concetti; perciò, la vera potenza e originalità dell’informatica sta proprio nel poter realizzare le proprie astrazioni tenendo sempre presente che il computer non è un oggetto esoterico, bensì un insieme di dispositivi variamente connessi il cui funzionamento può e deve essere adeguatamente indagato[6].
Proprio di questi temi si è trattato nei corsi di didattica dell’informatica del TFA adottando vari tipi di strategie didattiche atte a far comprendere agli studenti in modo intuitivo, tramite una serie di passaggi cognitivi fondamentali e grazie alle attività e agli stimoli predisposti dai docenti, alcuni concetti chiave che un corso d’informatica di scuola superiore dovrebbe trattare.
In particolare, il corso di didattica 1, d’impronta metodologica, è stato dedicato all’insegnamento della programmazione, dei metodi per la didattica del pensiero computazionale, della didattica della programmazione in laboratorio e della progettazione dei sistemi informatici. Sebbene la ricorrenza delle parole non sia necessariamente correlata alla loro importanza, ritengo sia utilmente riassuntivo riportare le rispettive nuvole di etichette o tag clouds ottenute dal materiale didattico fornito dai docenti.
Il corso di didattica 2, d’impronta tecnologica, è stato dedicato all’architettura dei sistemi informatici, alle basi di dati, ai sistemi operativi e alle reti. Anche qui, riporto rispettivamente le nuvole di etichette ottenute come scritto dianzi.
Il laboratorio di didattica 1 è stato dedicato alla realizzazione di una proposta didattica senza l’uso diretto del personal computer; nel mio caso si intitola “Programmazione Immaginando”.
L’attività laboratoriale attiva richiede agli studenti di ideare e realizzare sequenze logiche per far sì che un compagno-robot approdi ad un arrivo, di tradurle utilizzando delle immagini come codice di riferimento e, infine, di renderle attive attraverso il gioco.
Il laboratorio di didattica 2 è stato dedicato alla realizzazione di una proposta didattica di esercitazione tramite l’uso del personal computer; in questo caso i miei colleghi di corso ed io abbiamo utilizzato la versione “istruttore” del software Packet Tracer per realizzare una rete (riportata in figura) in cui venivano introdotte della anomalie che i nostri studenti avrebbero dovuto risolvere.
Tutti gli argomenti sviluppati durante i corsi del TFA hanno particolarmente coinvolto i miei colleghi e me rendendoci ancora più consapevoli di quanto sia importante e trasversale il pensiero computazionale nella nostra società e di come sia necessario diffonderlo tramite una didattica appropriata.
Il problema dell’accesso alla sperimentazione informatica nel panorama tecnologico italiano
Negli ultimi dieci anni, il panorama mediatico è cambiato e l’evoluzione tecnologica è stata particolarmente caratterizzata dal cosiddetto Web 2.0[7] e dai dispositivi mobili che ormai invadono tasche e scrivanie.
Il nuovo web, insieme all’incalzante Cloud, ha eretto il suo browser a software tuttofare; oggi non abbiamo quasi più bisogno di scaricare e installare applicazioni sul nostro computer, bensì possiamo utilizzarle direttamente “nel web” rendendo, di fatto, il sistema operativo e il browser di navigazione gli unici software indispensabili[8].
La portabilità e la maneggevolezza degli attuali supporti tecnologici rappresentano senza dubbio un fattore di svolta rendendo molte tecnologie delle vere e proprie estensioni del nostro corpo dalla forte valenza affettiva[9]. Se ne ridefinisce inoltre le modalità di utilizzo; se ad esempio in passato i film si potevano guardare solo a casa, ora lo si può fare ovunque, e lo stesso vale per quasi tutti i media moderni.
Tra gli elementi che segnano l’attuale scenario tecnologico vi è poi il fenomeno della “convergenza digitale” intendendo con questa locuzione la dissoluzione del legame tra contenuto e supporto che caratterizzava i media a favore di contenuti sempre più multimodali e multicanali, cioè compatibili con diversi formati e supporti tecnologici.
Oggi, il computer per la sua peculiarità general purpose è il punto di confluenza di dispositivi mobili tanto che si parla di “computer convergence”. Con queste parole s’intende la possibilità di utilizzare i propri dispositivi elettronici con la stessa libertà per adesso riservata ai personal computer come li conosciamo. Per esempio, oggi non è possibile acquistare uno smartphone e installarci successivamente un sistema operativo differente o ottenere l’accesso amministrativo (a meno di pratiche di rooting[10] che ne fanno, però, decadere la garanzia).
In attesa di questi sviluppi soggetti alle inerzie di mercato, il personal computer grazie alla sua libertà di utilizzo rimane il primario punto di accesso alle sperimentazioni scientifiche dell’informatica. Tenendo conto di quanto detto in precedenza sulla scorretta percezione dell’informatica[11], ma senza dilungarci sulle varie accezioni della parola, sicuramente un’informatica che prescinda dall’interattività e dal riscontro della prova pratica perde gran parte del suo fascino tanto più per gli adolescenti in cerca di sfide ed esperienze nuove[12]. D’altronde, una delle motivazioni fondanti dello sviluppo della scienza e della tecnologia informatica è l’estensione dell’intelletto umano che prevede, quindi, nello strumento, un componente imprescindibile.
Per questo, il computer può essere inteso come complemento della scienza teorica e volano di diffusione del pensiero computazionale.
In questo senso, l’Italia dovrebbe accelerare e investire più risorse per diffondere l’impiego di computer a scuola e non solo. Infatti, secondo un recente rapporto OCSE[13], in Italia, le scuole tecnologicamente avanzate sono appena il 6% a fronte di una media UE del 37%. Sempre in riferimento al nostro paese, nelle scuole elementari, è presente un computer ogni 15 studenti; circa uno per classe, o poco più. Alle medie un pc ogni 11 studenti. E uno ogni 8 ragazzi alle superiori. In un’aula su 5 delle scuole italiane è installata una lavagna interattiva multimediale. E ancora, l’82% circa delle scuole possiede una connessione internet mentre le aule connesse in rete sono circa il 54%.
In ambito familiare la situazione non è molto più rosea. I dati Istat di fine 2014 riportano che il 63,2% delle famiglie italiane possiede il personal computer mentre il 64% ha l’accesso ad Internet da casa; questo lascia intendere che il pc sia funzionale ai servizi di Internet.
D’altronde anche dal punto di vista didattico l’importanza della rete è innegabile; durante la seconda parte del corso di scienze educative, abbiamo appreso come le attività di condivisione e di collaborazione attraverso l’impiego di strumenti on line possono rappresentare un utile supporto in quanto consentono di promuovere, facilitare e migliorare l’interazione e la collaborazione tra gli studenti concedendo tempi più lunghi, rispetto a quanto può ad esempio avvenire in presenza, per l’interazione dei ragazzi con difficoltà.
Sempre lo studio dell’OCSE, gli alunni che usano regolarmente un computer ottengono in generale dei risultati migliori nelle principali materie rispetto a quelli che ne hanno solo un’esperienza limitata; questo avvalora l’importanza della possibilità di fruizione, casalinga e non, del personal computer.
Delle quasi quattro famiglie italiane su dieci che non possiedono un pc, gran parte non lo fa per scelta. I ragazzi di queste famiglie, molto spesso NAI[14], rientrando nell’area dello svantaggio socio-economico-linguistico-culturale[15], possono essere considerati alunni con BES[16].
Dall’ultimo rapporto dell’Istat “Noi Italia”[18], risulta in difficoltà economiche una famiglia su 4; esattamente Il 23,4% delle famiglie vive in condizioni disagiate, per un totale di 14,6 milioni di individui. La povertà assoluta, che non consente di avere standard di vita accettabili, coinvolge invece il 7,9% delle famiglie, per un totale di circa 6 milioni di cittadini.
Dunque, le condizioni d’indigenza economica si traduce anche in difficoltà di accesso al pc e, quindi, anche alla sperimentazione informatica; questo problema è più vicino di quanto si possa immaginare ed ho avuto modo verificarlo personalmente durante l’ultimo anno scolastico. Alcuni ragazzini particolarmente volenterosi, non avendo possibilità di utilizzo domestico, hanno richiesto alla scuola di accedere al laboratorio informatico per potersi esercitare.
Raspberry PI come possibile soluzione
Proprio in un contesto come quello appena descritto trova la sua naturale ragione di esistere uno strumento come il Raspberry PI; esso è un piccolo ed economico computer implementato su una sola scheda elettronica, sviluppato nel Regno Unito dalla Raspberry Pi Foundation[19].
A parte il nostalgico riferimento del nome ad un frutto come il lampone, la sigla “PI” (nomen omen) fa riferimento all’interprete Python che ne rappresenta il linguaggio ufficiale[20]. La scelta è proprio azzeccata; proprio nella prima lezione del Prof. Malchiodi[21], relativa all’introduzione della programmazione nelle scuole secondarie, abbiamo analizzato l’importanza della scelta del linguaggio nel difficile intento di fare breccia negli studenti. Soprattutto nella fase iniziale di apprendimento di un linguaggio, la scelta del Python appare la più idonea in quanto riduce al minimo il numero di costrutti sintattici da imparare mnemonicamente.
L’idea del progetto della fondazione è nata nel 2006 da un gruppo di colleghi dell’Università di Cambridge, preoccupati dal sempre più frequente calo di competenze informatiche dei bambini e dei giovani studenti, legato agli alti costi dei personal computer e alla semplicità d’uso dei sistemi operativi, che non stimolano gli studenti ad approfondire gli aspetti di programmazione che stanno dietro le interfacce multimediali dei moderni computer.
In effetti, molti bambini ed adolescenti sono utenti passivi del computer non avendo nessuna conoscenza sul funzionamento del computer. Per questo motivo la fondazione ha creato il Raspberry Pi, con l’intenzione di offrire ad insegnanti e studenti uno strumento a basso costo per indagare la logica e la programmazione dei computer, ed esorta altre compagnie ad emulare o clonare il proprio progetto.
A partire dal lancio al pubblico, avvenuto alla fine del mese di febbraio 2012, sono state prodotte cinque versioni (modelli: A, B, A+, B+, 2) che oggi sono proposte a prezzi che vanno dai 20 a 35 euro.
Il Raspberry PI è un computer a tutti gli effetti essendo dotato di CPU ARM (mono/multi core), GPU, memoria SDRAM (da 256 a 1024 MB), porte USB (da 2 a 4), output video, output audio, memoria (SD/MMC/SDIO card slot), collegamenti di rete (ethernet eccetto i modelli A), periferiche di basso livello (GPIO, SPI, I²C, UART). Da notare che, i primi modelli sono provvisti di connettore RCA, tecnologicamente obsoleto, poiché in molte zone del mondo sono ancora molto diffusi i vecchi televisori con ingresso composito. Anche questa scelta della fondazione mostra il proposito di offrire al maggior numero di persone, specialmente a chi non ha possibilità economica, di usare un computer.
Il Raspberry PI per funzionare necessita ovviamente una scheda SD come memoria di massa (non possiede un hard disk come i computer tradizionali), dei cavi di collegamento, un alimentatore, di periferiche di input come tastiera e mouse, nonché un monitor-tv; quest’ultimo non è un problema in quanto, secondo una recentissima ricerca da parte di Samsung[22], praticamente la totalità dei nuclei familiari possiede una tv con una media di due tv per famiglia. Per quanto riguarda gli altri elementi propedeutici all’utilizzo, esistono dei pacchetti “tutto compreso” dal prezzo davvero contenuto, ancora più convenienti se effettuati con gruppi d’acquisto, sempre più diffusi in periodo di “sharing economy[23]”. In sostanza, con circa sessanta euro si ha un sistema pronto all’uso.
A parte gli indiscussi vantaggi legati ai bassi costi di accesso e di esercizio (visti gli irrisori consumi energetici), ciò che rende il Raspberry PI attualmente la killer solution[24], nell’ottica di diffusione di computer, è senza dubbio il rapporto qualità/prezzo. Non vanno trascurati, però, anche altri vantaggi come le ridotte dimensioni, la silenziosità di funzionamento e il fatto che una piattaforma condivisa consenta di avere software ottimizzato e supporto della comunità oltre ad una facilità d’installazione del sistema operativo.
A parte gli utilizzi prettamente didattici, di cui avremo modo di vedere qualche esempio, il mini-calcolatore in questione si presta a svariati utilizzi più o meno ludici[25]. Proprio dedicato al mondo dei videogame esiste un progetto specifico chiamato Retropie[26] per trasformare il Raspberry PI in una console per il retro-gaming. Questa possibilità ha un appeal notevole sui ragazzi e, un po’ come accaduto con il Commodore 64 negli anni ’80, conferisce al prodotto il ruolo di cavallo di troia nell’ottica di introdurre i ragazzi alla programmazione.
Vi sono una miriade di distribuzioni Linux per un uso generico, tra cui le più diffuse sono la Raspbian, Ubuntu MATE, Snappy Ubuntu Core, Arch Linux ARM e Pidora.
Mentre per un uso più specifico il mini-pc può essere impiegato come media center, sistema audio, sistema per la domotica, file server e tanto altro ancora.
Il clamore di questo progetto ha suscitato anche l’interesse di Microsoft tanto che l’ultima versione del dispositivo supporterà una versione ad hoc di Windows 10.
In considerazione dei pregi finora menzionati, la scuola presso cui ho recentemente insegnato sta valutando la possibilità di dotare ogni studente di Raspberry PI pronto all’uso già dal prossimo anno.
Nei labirinti tra algomotricità e Raspberry PI
Ovviamente il possesso del Raspberry PI di per sé non garantisce tragitti didattici formativi, ma, in questo senso, ne è funzionale in quanto strumento economico che consente di esperire, nell’uso del calcolatore, l’estensione del proprio intelletto attraverso l’implementazione delle proprie astrazioni mentali, un approccio interattivo nonché un riscontro rapido e diretto.
In un percorso introduttivo, tanto più se rivolto a giovani con poca o nulla esperienza di computer, a concetti informatici è auspicabile progettare con accortezza attività inizialmente “unplugged” (senza l’utilizzo della rete – attività di algomotricità[27]) per poi utilizzare applimaticamente il mini-pc con software appositamente progettati per essere utilizzati in ambito educativo.
L’importanza di iniziare con attività unplugged di algomotricità risiede principalmente nel fatto che l’assenza del pc esclude tutte le possibili difficoltà legate sia all’uso dell’hardware (in particolar modo il mouse e la necessità di avere un’ottima motricità fine per utilizzarlo) che del software per la scrittura del programma ed, inoltre, evita eventuali fonti di distrazione.
Un’attività laboratoriale attiva d’introduzione all’informatica, che può avere nel Raspberry PI il logico complemento, può essere relativa ai labirinti. Infatti, preinstallato in tutte le principali distribuzioni, come la Raspbian, ma anche avviabile stand-alone, c’è Scratch[28].
Quest’ultimo è un linguaggio di programmazione visuale che, attraverso l’utilizzo di “blocchetti” colorati rappresentanti le istruzioni, permette di realizzare storie interattive, giochi e animazioni[29].
Scratch consente di sviluppare, in spirito costruzionista, il pensiero computazionale nelle tre dimensioni in esso identificate:
- concettuale: i concetti che gli sviluppatori utilizzano quando programmano (dati, operatori, sequenze, ripetizioni, condizioni, eventi, parallelismo);
- pratica: pratiche che si apprendono programmando (incrementalità e iteratività, testing e debugging, riuso e remixing, astrazione e modularizzazione);
- prospettica: i modi di vedere il mondo e se stessi che i ragazzi sviluppano grazie alla programmazione (porsi domande, esprimersi, connettersi).
Scratch è inoltre utilizzato come strumento in un curriculum, sempre del MIT, per un corso d’informatica creativa, che ha lo scopo specifico di sviluppare il pensiero computazionale con attività legate all’arte, alla creazione di storie e di videogiochi.
Il laboratorio attivo sui labirinti ha lo scopo di far scoprire ai ragazzi i concetti di programma, d’istruzione, d’esecuzione di un programma nonché le strutture di controllo “se”, “ripeti n volte” e “ripeti finché”.
La scelta di realizzare un laboratorio con metodologie attive è fatta per due ordini di motivi. In primo luogo, l’argomento è particolarmente formativo. In secondo luogo, la fascia d’età del target di riferimento (prime classi di scuole secondarie di secondo grado) richiede un accostamento ludico, game oriented, di tipo strettamente esperienziale. Un approccio di questo tipo, per la sua contestualizzazione concorre a conferire maggior senso all’attività proposta. L’interazione sociale e il peer learning sono due aspetti educativi che guidano e sostengono l’elaborazione e progettazione dell’attività; per cui, ogni ragazzo partecipa attivamente e collabora con i compagni.
Nella prima fase, si suddivide la classe in gruppi di 4 o 5 studenti (numero variabile in base alla vivacità della classe e al numero di insegnanti coinvolti) e si spiega il gioco agli alunni: lo scopo è guidare fuori da un labirinto un robot dopo avergli fatto recuperare un oggetto disposto lungo il tragitto (il robot è rappresentato da uno studente che, bendato, deve eseguire le istruzioni impartite). Sono a disposizione 4 istruzioni diverse, ognuna delle quali viene decisa dalla squadra e scritta su un post-it di un colore diverso. Queste possono essere combinate con uno o più di questi schemi:
- ripeti n volte istruzione;
- se condizione istruzione;
- esegui istruzione finché condizione .
Ogni squadra deve decidere chi impersonificherà il robot, chi darà ad alta voce le istruzioni (senza guardare cosa fa il robot) e chi baderà al robot affinché non si faccia male nel percorso.
Per l’attività si utilizzano, oltre i post-it di colore diverso, altri oggetti come, ad esempio, un bicchiere per segnare la partenza, un pacchetto di fazzoletti da afferrare lungo il percorso, una sedia per denotare l’arrivo e una sciarpa per bendare il giocatore che ha il ruolo del robot.
Un volta mostrato il labirinto, ogni gruppo deve accordarsi sul modo di istruire il robot per uscire dal labirinto considerando i vincoli sul numero di istruzioni e descrivere su un foglio la sequenza di istruzioni da dare al robot combinando le istruzioni (un colore = una istruzione; es. verde = fai un passo in avanti) con gli schemi forniti precedentemente.
Al gioco partecipa anche un gruppo di osservatori (uno o due per ogni squadra) che prende nota delle difficoltà incontrate dalla squadra e delle idee brillanti adottate.
In questa fase i passaggi cognitivi fondamentali sono la comprensione dell’uso di poche azioni per costruirne altre (ad esempio, tre rotazioni a destra corrispondono ad una rotazione a sinistra), l’individuazione delle quattro azioni fondamentali da usare, l’intuizione che alcune azioni possono essere interpretate in maniera diversa da vari robot (ad esempio, la lunghezza del passo), l’uso di un sensore (ad esempio, la mano che tocca il muro adiacente) per gestire il problema della lunghezza dei passi.
Si può controllare lo svolgimento dell’attività verificando l’uso di post-it di colore diverso (invece della riscrittura delle azioni), la misurazione dei passi e l’uso delle strutture di controllo (come fossero superpoteri). Si può pensare di instradare correttamente i ragazzi all’uso del “ripeti finché” spostando l’oggetto da raccogliere.
Terminata la fase di programmazione si passa alla fase d’esecuzione in cui tutte le squadre, a turno, guidano il robot impartendo le istruzioni fin qui elaborate. I ragazzi sperimentano liberi da formalismi e collaborano con i compagni di squadra facendo emergere le difficoltà tipiche dell’implementazione di soluzioni teoriche. Si può anche pensare ad una fase in cui scambiare piloti e robot tra i gruppi in modo da enfatizzare gli aspetti interpretativi.
Nella fase successiva, quella della verbalizzazione[30], ogni osservatore scrive su un lato della lavagna le difficoltà riscontrare dalla squadra e dall’altro le idee sfolgoranti che sono scaturite.
Riflettendo sull’esperienza appena svolta e grazie ai feedback ricevuti dagli osservatori, gli alunni si rendono conto dell’importanza di usare delle istruzioni chiare, non ambigue e sufficientemente “costruttive” (per non superare il numero di istruzioni consentite) per raggiungere l’obiettivo. Inoltre introducono naturalmente i costrutti della programmazione, facendoli propri perché ne hanno avuto esigenza pratica, e imparano di buon grado dai propri compagni confrontando le differenti soluzioni adottate dagli altri gruppi.
In questa fase i passaggi cognitivi da evidenziare sono la verifica dell’efficacia delle varie soluzioni e la scoperta di diverse soluzioni possibili, alcune delle quali sono più fragili di altre (verificabile tramite lo scambio dei robot). Si può controllare il modo in cui procede l’attività prestando attenzione alle critiche mosse alle proposte degli altri gruppi.
A questo punto dovrebbe essere più semplice affrontare la quarta fase, che è quella dell’utilizzo del Raspberry Pi con Scratch. È preferibile avviare il programma in modalità esclusiva, per evitare che gli alunni si distraggano con altri software.
Figura 7 – Finestra di selezione di avvio della versione standalone di Scratch.
In quest’ultima fase applimatica, viene illustrato brevemente Scratch, con i suoi blocchi grafici (controlli, sensori, movimento,…), e successivamente vengono forniti dei file riproducenti labirinti di diversa complessità con un oggetto/personaggio posto all’ingresso del labirinto. A questo punto viene richiesta la traduzione dell’esperienza reale in un programma attraverso l’uso dei blocchetti che permetta all’oggetto/personaggio di raggiungere l’uscita del labirinto (senza attraversare i muri).
In questa fase, gli snodi concettuali riguardano la comprensione della corrispondenza “post-it → blocchi di tipo movimento” e “superpoteri → blocchi di tipo controllo”, la verifica della correttezza di un programma tramite l’esecuzione e l’osservazione del funzionamento, l’individuazione delle strategie per ridurre il numero dei blocchi da usare, l’individuazione degli schemi ripetuti all’interno dei labirinti per associarli all’uso di blocchi di tipo “ripeti n volte” e l’individuazione dell’uso opportuno di sensori da associare al blocco “ripeti finché”. Si può verificare il corretto svolgimento dell’attività controllando il numero di blocchi usati e l’uso di blocchi di tipo “controllo” e “sensori”.
Alla fine di un’attività di questo tipo, a parte le conoscenze già descritte, i ragazzi sapranno impartire istruzioni precise e non ambigue per condurre un “robot umano” lungo un percorso definito, sapranno individuare un insieme piccolo di primitive fondamentali utili a guidare il robot, sapranno usare semplici strutture di controllo per guidare il robot. Per quanto concerne l’esperienza applimatica, sapranno usare i blocchi di Scratch per comporre un programma funzionante e sapranno verificare la correttezza di un programma eseguendolo ed osservando gli esiti.
Relativamente alle competenze, i ragazzi riusciranno a descrivere un compito complesso scomponendolo in sotto-compiti più semplici e si renderanno conto che la sua automazione richiede rigore e precisione.
L’impiego del Raspberry PI, come complemento applimatico, al momento non consente di fare qualcosa in più rispetto all’impiego di un altro tipo di computer[31], ma consente senza dubbio un ampliamento del bacino di fruizione del computer.
Conclusioni
Se il primo ciclo del TFA è stato definito a ragione Tanta Fatica Assai[32], giocando sull’acronimo e ponendo l’accento sul profluvio di risorse dispiegate, questo secondo ciclo può essere altrettanto considerato un Tirocinio Fatto in Apnea vista la compressione delle attività didattiche causate dalla partenza differita.
Per quanto riguarda i tempi di erogazione, concordo pienamente con chi ritiene che una formazione seria sia incompatibile con un’attività lavorativa a tempo pieno. Nell’ottica di una “Buona Scuola” sarebbe stata proficua l’alternativa di un’esenzione dalle attività d’insegnamento al fine di una dedizione completa alla formazione. Queste poche critiche, doverose in quanto permeanti l’intero iter formativo, nulla tolgono alla qualità dei corsi offerti.
Corsi che hanno sempre sotteso l’importanza e la trasversalità del pensiero computazionale nella nostra società e la consequenziale necessità della sua diffusione tramite una didattica appropriata. Per questo motivo ho voluto indagare, anche nei numeri, il perché del mancato accesso alla sperimentazione informatica di una parte di studenti che possono considerati con bisogni educativi speciali. Una volta considerato il contesto tecnologico italiano, in gran parte funzionale a critiche condizioni economiche, la proposta del Raspberry PI come possibile soluzione è stata fisiologica; le motivazioni alla base del progetto e la vendita a costo di produzione lo rendono indubbiamente uno dispositivo da proporre nell’ottica di ampliamento del bacino di utenza del pc. Gli utilizzi videoludici, o comunque differenti da quelli prettamente didattici (vedi labirinti con Scratch), costituiscono sicuramente un espediente funzionale all’obiettivo appena posto.
Visto anche l’interesse dimostrato dai miei colleghi e dall’apparato scolastico, sono confidente che la promozione di un dispositivo come il Raspberry PI possa stimolare la sperimentazione informatica e la diffusione del pensiero computazionale ovviamente attraverso propedeutici e mirati percorsi formativi.
Note
[1] La locuzione digital natives venne usato per la prima volta da Marc Prensky nel suo articolo On the Horizon (MCB University Press, Volume 9, Numero 5, Ottobre 2001) http://www.marcprensky.com/writing/Prensky – Digital Natives, Digital Immigrants – Part1.pdf. Appartengono alla categoria dei nativi digitali tutti i ragazzi nati dopo la diffusione di Internet identificata tra il dicembre 1995 e il gennaio 1996 quando apparvero i primi browser commerciali.
[2] Il termine computational thinking venne usato per la prima volta da Seymour Papert, padre della teoria dell’apprendimento costruttivista. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc., 1980. ISBN: 978-0465046744.
[3] Jeannette M. Wing, direttrice del Dipartimento di Informatica della Carnegie Mellon University, Computational thinking. Communications of the ACM. 49(3):33–35 (2006).
[4] Url del progetto: https://www.programmailfuturo.it.
[5] Nel 2006, il Parlamento Europeo ha indicato la competenza digitale tra le competenze chiave per l’apprendimento permanente intendendo con questa locuzione: “La capacità di utilizzare con dimestichezza e spirito critico le tecnologie della società dell’informazione per il lavoro, il tempo libero e la comunicazione”.
[6] All’interno di un calcolatore non ci sono dei “nanetti” che compiono le operazioni per noi.
[7] Il termine Web 2.0 è stato associato a Tim O’Reilly a causa della Web 2.0 conference di O’Reilly Media alla fine del 2004. Il termine indica l’insieme di tutte quelle applicazioni online che permettono un elevato livello d’interazione tra il sito web e l’utente.
[8] Durante il corso di Sistemi Operativi e Reti abbiamo avuto modo di constatare, tramite un’attività sulla sequenza di boot, che il sistema operativo sia inutile. Questa provocazione intende evidenziare la possibilità di eseguire programmi su computer privi di sistema operativo.
[9] “Di questo aspetto emotivo è semplice fare esperienza nel quotidiano: basta pensare ai riferimenti delle persone care, ai messaggi e alle foto che conserviamo nei nostri smartphone, alla musica che ci accompagna nella strada da casa al lavoro o alle miriadi di informazioni per noi importanti contenute nei nostri tablet e pc.” Alessia Rosa. La scuola in ascolto. Tra Bisogni Educativi Speciali e nuove tecnologie. Ed. Principato. Milano, 2015. pag. 149, 193. ISBN: 978-88-416-8668-3.
[10] Rooting is the process of allowing users of smartphones, tablets and other devices running the Android mobile operating system to attain privileged control (known as root access) over various Android’s subsystems. – https://en.wikipedia.org/wiki/Rooting_(Android_OS). (01/07/2015)
[11] Riassumibile con la celebre frase “Computer Science is no more about computers than astronomy is about telescopes.”, attribuita dalla letteratura scientifica (Haines 1993, Cohen & Haberman 2007, Denning 2010) a E. W. Dijkstra.
[12] “Nell’adolescenza si vuole capire logicamente il mondo sfidando quello degli adulti. È un atteggiamento sano nel percorso per diventare adulto. In questa fase dell’esistenza, si sperimenta la vita in tutti i suoi aspetti.” – Dal discorso tenuto dal Prof. Dimitris Argiropoulos nella lezione di scienze dell’educazione 1, il 2 Marzo 2015 a Milano.
[13] Il Centre for Educational Research and Innovation (CERI) dell’OCSE nel 2013 ha pubblicato il rapporto richiesto dal MIUR dal titolo «Review of the Italian Strategy for Digital Schools».
[14] Col termine NAI s’intende i neo arrivati in Italia per nulla o poco italofoni, o coloro i quali sono inseriti a scuola da meno di due anni.
[15] Definita anche area grigia del disagio scolastico per la difficoltà di identificazione, di cui si stima facciano parte il 10-25% degli studenti. Quest’area comprende molteplici tipologie di studenti con difficoltà, il cui numero risulta difficilmente quantificabile. Dati precisi si hanno soltanto in relazione a specifiche categorie, quale quella degli studenti stranieri. La legge di riferimento è la n. 53/2003 che riforma la scuola e sancisce i principi di personalizzazione e individualizzazione dell’apprendimento a favore di tutti gli studenti.
[16] Un’apprezzata definizione di Bisogni Educativi Speciali è quella di Dario Ianes: “Qualsiasi difficoltà evolutiva, in ambito educativo ed apprenditivo, espressa come funzionamento problematico anche per il soggetto (secondo il modello ICF dell’OMS) , in termini di danno, ostacolo o stigma sociale, indipendentemente dall’eziologia, e che necessita di educazione speciale individualizzata.” – Bisogni educativi speciali e inclusione. Valutare le reali necessità e attivare tutte le risorse, Ed. Erickson, Trento 2005. p. 36.
[17] Definita dalla direttiva ministeriale 27.12.2012 – “Strumenti d’intervento per alunni con bisogni educativi speciali e organizzazione territoriale per l’inclusione scolastica”.
[18] Il cui sito web di riferimento è visitabile all’indirizzo: http://noi-italia.istat.it.
[19] Il sito web della Fondazione, ente di beneficienza a tutti gli effetti, è raggiungibile all’indirizzo: https://www.raspberrypi.org.
[20] Riguardo al nome ‘Raspberry Pi’: “We wanted a fruit name for nostalgic reasons; In the early days of Home Micros, there were a number of “Fruit” named computers. Apart from Apple, Apricot and Tangerine spring to mind; and the Pi is from “Python interpreter” that is adopted as the ‘official’ language for the Raspberry Pi.” – A Feast of Raspberry Pi – Martin L., 6 Luglio 2012 – http://nlug.ml1.co.uk/2012/07/a-feast-of-raspberry-pi/3428 (ultima consultazione 01/07/2015).
[21] Lezione del corso di programmazione (didattica 1) tenuta nell’aula omega della sede di via Comelico il 29 Gennaio 2015 – http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1/ (ultima consultazione 01/07/2015).
[22] Studio Samsung Techonomic Index, condotto da Ipsos Mori – https://www.ipsos-mori.com/Assets/Docs/Polls/samsung-technomics-index-research-summary-italy.pdf. 18 Luglio 2014.
[23] Il termine sharing economy, ovvero consumo collaborativo, definisce un modello economico basato su di un insieme di pratiche di scambio e condivisione siano questi beni materiali, servizi o conoscenze. È un modello che vuole proporsi come alternativo al consumismo classico riducendo così l’impatto che quest’ultimo provoca sull’ambiente.
[24] In confronto alle altre soluzioni analoghe presenti sul mercato, ARM o X86 che siano.
[25] A questo proposito esiste anche una versione speciale gratuita del gioco Minecraft preinstallata nella principale distribuzione – https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/.
[26] L’url del progetto Retropie è: http://blog.petrockblock.com/retropie/.
[27] Con questo termine intendiamo la realizzazione motoria di un’attività informatica.
[28] Scratch è stato creato dal MIT Media Lab, che ha anche sviluppato un framework per studiare e valutare lo sviluppo del pensiero computazionale. L’url del progetto è: https://scratch.mit.edu.
[29] È disponibile anche una communità con cui condividere le proprie creazioni ed esplorare quelle degli altri membri.
[30] Il processo di verbalizzazione consente di riflettere metacognitivamente sul lavoro che si sta svolgendo e rende consapevoli delle operazioni mentali attuate utilizzate per svolgere un compito producendo ripercussioni positive sul processo di apprendimento.
[31] In realtà, alcuni progetti sono nati pensando esplicitamente alla piattaforma del Raspberry PI, come il progetto Coder per l’insegnamento delle tecniche di costruzione di pagine web. L’url del sito del progetto è: https://googlecreativelab.github.io/coder/.
[32] Mattia Monga. Tanta Fatica Assai: A042 @ UniMI, contenuti e problemi organizzativi. http://wid2013.di.univr.it/wp-content/uploads/2013/11/mMonga-WIDS2013.pdf. Verona, 18 ottobre 2013 (ultima consultazione 01/07/2015).
Sitografia e Bibliografia
AA.VV. Programma il Futuro – http://www.programmailfuturo.it (ultima consultazione 21/06/2015).
AA.VV. Dizionario Treccani online, https://www.treccani.it.
AA.VV. Wikipedia, http://www.wikipedia.org.
Dario Malchiodi. Come introdurre la programmazione nelle scuole secondarie? – http://malchiodi.di.unimi.it/teaching/tfa/didattica-1-1/ (ultima consultazione 01/07/2015).
AA.VV. Aladdin, laboratorio di divulgazione e dell’informatica – https://aladdin.unimi.it/ (ultima consultazione 28/06/2015).
Violetta Lonati. Algomotricità: obiettivi, attività e passaggi cognitivi di alcuni percorsi didattici. 20 Maggio 2015 – http://lonati.di.unimi.it/TFA1415/analisiPercorsiDidattici.pdf (ultima consultazione 01/07/2015).
Centre for Educational Research and Innovation (CERI) dell’OCSE. Review of the Italian Strategy for Digital Schools. 2013 – http://www.oecd.org/edu/ceri/Innovation Strategy Working Paper 90.pdf (ultima consultazione 03/07/2015).
Mattia Monga. Tanta Fatica Assai: A042 @ UniMI, contenuti e problemi organizzativi. Verona, 18 ottobre 2013 – http://wid2013.di.univr.it/wp-content/uploads/2013/11/mMonga-WIDS2013.pdf (ultima consultazione 01/07/2015).
Michael Lodi. Imparare il pensiero computazionale, imparare a programmare. 2013 – https://amslaurea.unibo.it/6730/1/lodi_michael_tesi.pdf (ultima consultazione 01/07/2015).
Agnese Cattaneo e Alessia Rosa, Tra Bisogni Educativi Speciali e nuove tecnologie, Edizioni Principato, 2015, Milano. ISBN: 978-88-416-8668-3.
Luigi d’Alonzo, La gestione della classe. Modelli di ricerca e implicazioni per la pratica, Editrice La Scuola, 2004, Milano. ISBN: 978-88-350-1733-2.
Seymour Papert. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc., 1980. ISBN: 978-0465046744.
Jeannette M. Wing, Computational thinking. Communications of the ACM. 49(3):33–35 (2006).
Share This