👁🗨Coding per ragazzi perché è importante imparare oggi il Machine Learning AI
Tutti i dispositivi digitali che usiamo ogni giorno sono sostanzialmente dei computer programmabili. Ma cosa significa programmare o fare coding?
Il processo chiamato programmazione è un insieme di istruzioni che diamo ad un computer per svolgere alcune attività utilizzando un linguaggio ben definito. Ci sono tantissimi linguaggi come Basic, C++, Python, JavaScript e tanti altri ognuno con caratteristiche diverse. Per semplificarci la vita questi linguaggi utilizzano sostanzialmente delle parole in inglese e alcune regole di sintassi che vanno bene per computer diversi. Questo linguaggio, detto di alto livello, viene convertito con tecniche diverse (interpretato se ogni volta che viene eseguito viene convertito o compilato se l’operazione di conversione è fatta solo una volta e poi viene usata sempre la versione compilata) in una serie di istruzioni specifiche per il computer in uso, detto linguaggio macchina che a sua volta è gestito come sequenze di 0 e 1 detto codice binario.
Quindi un codice macchina generato per un telefonino iOS non gira su un telefono Android o su un PC Windows, mentre il codice Javascript (alto livello) può essere valido su ogni dispositivo in grado di interpretarlo o compilarlo.
Video cartoon su programmazione
Alcune criticità dell’Intelligenza Artificiale a casa
Giocattoli intelligenti che ascoltano e rispondono ai bambini e agenti conversazionali come ALEXA di Amazon, SIRI di Apple o i dispositivi Google, sono ormai presenti in molte case da qualche tempo. Cosa sappiamo? come funzionano? E se “me l’ha detto la bambola parlante è quindi vero…”???
I bambini vengono esposti all’intelligenza artificiale dalla più tenera età, spesso anche in modo inconsapevole. Sempre più spesso i ricercatori sollevano molti dubbi sull’impatto dell’intelligenza artificiale sul comportamento dei bambini, se non correttamente compreso e instradato verso uno sviluppo positivo.
Mentre le scuole e i genitori stanno iniziando a riconoscere il codice come una delle competenze necessarie per i bambini con tantissime iniziative ed eventi come la Code Week, non si parla quasi mai di AI e quindi in questo corso abbiamo pensato che sia importante introdurre anche i giovani ai concetti di AI e machine learning attraverso progetti pratici in modo che possano fare un uso più informato e critico di queste tecnologie. Utilizzeremo strumenti di semplice utilizzo e ove possibile gratuiti.
Piattaforma per programmare l’Intelligenza Artificiale AI con il Machine Learning
Dopo un’attenta analisi e sperimentazione, anche con i prodotti IBM molto più potenti e al contempo articolati, per le attività dei bambini di questo corso abbiamo scelto la piattaforma gratuita Cognimates del MIT, che con poco codice a blocchi consente anche ai bambini più piccoli di programmare e personalizzare dispositivi intelligenti incorporati, come Alexa e il robot intelligente Cozmo. I bambini possono anche utilizzare la piattaforma per addestrare i propri modelli di intelligenza artificiale, imparare a costruire un gioco che migliora nel tempo giocando a morra cinese con loro o creare un’installazione in cui un’intera stanza reagisce al modo in cui descrivono i propri sogni.
Cognimates si basa su più parti (incluso il linguaggio di programmazione visiva a blocchi) della piattaforma open source Scratch, creata dal gruppo Lifelong Kindergarten presso il MIT Media Lab. L’obiettivo principale della piattaforma Cognimates è estendere la codifica all’educazione e all’alfabetizzazione AI.
In questo corso vedremo di attuare nuove esperienze di apprendimento creativo per i bambini e useremo i migliori strumenti a supporto che abbiamo avuto modo di sperimentare. L’obiettivo è quello di demistificare la difficoltà del funzionamento della tecnologia AI e consentire ai bambini di diventare creatori di AI, non essere solo consumatori passivi!
Di Cognimates ci è piaciuto l’approccio in cui l’agente intelligente veniva totalmente addestrato e programmato dai bambini, e passo dopo passo apprendevano dagli errori, comprendevano l’importanza dei dati forniti per l’addestramento e a poco a poco diventava un compagno di giochi, un oggetto per “pensare con” e “imparare con” (cognitivo).
Altro aspetto importante della piattaforma è che consente ai bambini di connettere più oggetti computazionali, di farli interagire tra loro e sebbene molti dei concetti e del funzionamento interno dei sistemi di intelligenza artificiale e degli agenti intelligenti siano magari troppo astratti per i bambini, fanno presto a capire come una macchina apprende se quell’azione è stata impersonata da un personaggio, o è stato utilizzata una storia o un gioco.
Vedremo attività in cui alcuni personaggi (Sprite di Scratch), esprimono emozioni diverse se il computer rileva un messaggio felice o triste. Questi personaggi mirano a creare potenti analogie e ponti concettuali consentendo ai bambini di usarli in attività di storytelling che possono portare a riflessioni psicologiche molto ricche e problemi di controllo e comunicazione, oltre ad aiutarli a capire come funziona la programmazione e l’IA.
Condivisione, etica e ruolo Genitori ed Educatori
Le capacità di collaborazione e comunicazione hanno un ruolo significativo nella velocità con cui i bambini possono comprendere e padroneggiare diversi concetti di apprendimento automatico come visione artificiale, analisi del significato del testo e apprendimento supervisionato. Lavorando in gruppo si fanno continue scoperte e si condividono le esperienze.
E’ importante anche facilitare a genitori e insegnanti la partecipazione a un processo di apprendimento collaborativo attorno a questa tecnologia. Mentre i giovani nativi digitali sono molto veloci nel raccogliere nuove competenze tecniche, non hanno sempre la maturità per prendere le giuste decisioni su principi etici ed è qui che è importante che le famiglie e gli educatori intervengano. Pensiero critico e sperimentazione sono alla base di un apprendimento profondo e consapevole.