# data[].attributes.attachment_link.description
FlowRun - runnable, executable flowcharts. Visual programming. Visualize complex flows and algorithms

# data[].attributes.attachment_link.readable_text
Flowgorithm is a free beginner's programming language that is based on simple graphical flowcharts.

Typically, when a student first learns to program, they often use one of the text-based programming languages. Depending on the language, this can either be easy or frustratingly difficult. Many languages require you to write lines of confusing code just to display the text "Hello, world!".

By using flowcharts, you can concentrate on programming concepts rather than all the nuances of a typical programming language. You can also run your programs directly in Flowgorithm.

Once you understand programming logic, it is easy for you to learn one of the major languages. Flowgorithm can interactively convert your flowchart to over 18 languages. These include: C#, C++, Java, JavaScript, Lua, Perl, Python, Ruby, Swift, Visual Basic .NET, and VBA (used in Office).

Click for a full size image

Flowgorithm features the following:

Easy to understand output

Graphical variable watch window

Interactively generate real code (18+ languages)

Safe recursion

Loops, arrays, and flexible expressions

Multilingual support

June 20, 2022
Version 3.03 was released
This update contains a bug and improves the Italian translation. Special thanks to Roberto Atzori.

June 18, 2022
Version 3 was released
Version 3 contains a large number of new features and improvements. These include color skins, Turtle Graphics, File I/O, and much more.

Click here for a full list of changes.

April 22, 2022
Version 3 nearing completion
Version 3 is nearing completion. The new version will support turtle graphics, files, more color options, and much more...

Click here for a full list of upcoming changes.

This short tutorial shows how to create the classic Hello World program.

Flowgorithm supports multiple spoken languages. These include:

Afrikaans, Arabic, Chinese (simplified and traditional), Czech, Dutch, Farsi, French, Galician, German, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Malay Mongolian, Polish, Portuguese, Romanian, Russian, Spanish, Slovenian, Thai, and Turkish.

If your language isn't currently supported, and you would like to help create a translation, please contact me at: Devin Flowgorithm.org. There is no programming required. You just need to translate a simple text file. Your help will be greatly appreciated!

# data[].attributes.attachment_link.title
Flowgorithm - Flowchart Programming Language

# data[].attributes.attachment_caption
Docente di Tecnologia, Animatore Digitale, Esperto di Cyberbullismo, Membro Equipè Formativa Territoriale, Formatore per Mondadori Education e Rizzoli Education

# data[].attributes.attachment_link.description
Il blog di Antonio Scaramuzzino, docente di Tecnologia, Animatore Digitale, Formatore.

# data[].attributes.headline
Padlet Coding e Intelligenza Artificiale

# data[].attributes.subject
Padlet Coding e Intelligenza Artificiale

# data[].attributes.attachment_link.readable_text
a cura di Equipe Formazione Digitale:
Mario Gabbari, mm.gabbari@tiscali.it
Roberto Gagliardi, gagliardi_roberto@tiscali.it
Antonio Gaetano, antoniopasquale.gaetano@fastwebnet.it
Daniela Sacchi, danisacchi94@gmail.com
docenti formatori che operano presso OPPI Milano - http://oppi.it/

" insegnando all'elaboratore a
pensare, i bambini si lanciano in
un'esplorazione del loro stesso
modo di pensare"
Papert, Mindstorms, 1980

La vita lavorativa di quasi tutti, è ormai permeata dall'utilizzo di software specialistici dedicati: i medici usano appositi software, gli avvocati oltre ad avvalersi di sistemi di gestione informatici fanno anche un grande uso delle banche dati informatiche (infinità d'informazioni necessarie per un esperto del settore), la sanità pubblica e quasi tutte le imprese commerciali utilizzano complessi software per la gestione della clientela, per la contabilità e per la gestione del magazzino. Per ogni attività è pertanto progettato e realizzato un software che ha bisogno di essere programmato e gestito in maniera tale da svolgere i compiti che gli sono richiesti.
Siamo circondati dalle tecnologie digitali e la programmazione informatica (coding) e il pensiero computazionale [1] funzionano come un ponte di collegamento tra l'uomo e la macchina assicurandone la reciproca interazione.

Fig. 1 - Interazione Tecnologie digitali

Fig. 2 - Da utilizzatori a sviluppatori.﻿
Il coding per tutti

In questi ultimi anni il coding si è pienamente affermato per la sua valenza didattica, ormai universalmente riconosciuta come dinamica di apprendimento nel trasmettere agli alunni competenze di problem solving, creatività digitale e lavoro di gruppo. Il coding ha un autorevole antenato: il LOGO, il primo linguaggio di programmazione orientato all'educazione dei bambini. Alla fine degli anni '60 il matematico Seymour Papert e Wallace Feurzeig [4] si incontrarono e, insieme allo scienziato ed esperto di Lisp, Cynthia Solomon, crearono la prima versione di Logo [5] nel 1967. Nacque così il primo linguaggio di programmazione per bambini, che consisteva nel poter spostare una piccola tartaruga con semplici istruzioni. Originariamente la Tartaruga era un robot che si muoveva su una superficie tramite comandi impartiti attraverso un computer. In seguito divenne uno strumento grafico, fu trasferita sul monitor del computer e usata per disegnare e creare immagini.
L'interesse verso il coding ha finalmente convinto molte nazioni a sviluppare un'informatica come creatori di programmi piuttosto che semplici utilizzatori ( lato maker oltre che consumer) e a creare, in particolare, dei programmi didattici dedicati rivolti alle scuole, in modo da aiutare a formare gli esperti di domani.

Secondo il prof. Alessandro Bogliolo [6]: " Questa capacità merita di essere coltivata e applicata in modo interdisciplinare perché costituisce una sorta di fertilizzante che prepara il terreno per l'uso consapevole della tecnologia e per la comprensione profonda degli aspetti computazionali delle attività che svolgiamo e della realtà che ci circonda. Il coding si presta a eccezionali applicazioni pedagogiche perché presuppone (e quindi induce) una comprensione profonda del procedimento che s'intende affidare a una macchina."

Fig. 3 - Alunna al PC.
Il coding offre la possibilità di realizzare una straordinaria esperienza sviluppando il ragionamento, la fantasia e le personali abilità per realizzare qualcosa. Gli alunni sono introdotti al pensiero computazionale ( capacità di pensare in termini di sequenze e regole) attraverso l'immedesimazione nel linguaggio universale della programmazione visuale a blocchi [7], utilizzata oggi anche nelle migliori università, tenendo però presente che non deve rappresentare solo la mera programmazione dei computer, ma un modo di affrontare le sfide e i problemi. Con l'alternarsi tra la formazione didattica, secondo le diverse metodologie e le simulazioni pratiche, gli studenti riescono a modulare e variare le tecniche di apprendimento, in modo da assimilare la materia e sedimentare le conoscenze acquisite. Il coding consente di far apprendere le basi della programmazione informatica, insegna a " colloquiare" con il computer, a impartire alla macchina comandi in modo semplice e intuitivo con una modalità che implica poca teoria e tanta pratica. Gli allievi tramite la diffusione del coding nella didattica, anche a partire dall'infanzia, apprendono i valori della cooperazione e condivisione, comprendono l'importanza della collaborazione tra loro per risolvere uno stesso problema, mettono a disposizione le conoscenze e le scoperte, accettando i suggerimenti anche dai più bravi per i propri elaborati. Il coding rappresenta una palestra per il pensiero computazionale ed è uno strumento utile all'analisi metacognitiva in quanto offre agli studenti una rappresentazione visiva dei processi sottesi ai loro ragionamenti.

Fig. 4 - Infografica riepilogativa delle ragioni del Coding (DEA Scuola).
Coding e pensiero computazionale in aula

Il Coding è anche un modo divertente e appassionante per portare il pensiero computazionale in classe, poiché consente di esprimere se stessi e permette allo studente di migliorare le proprie capacità di logica e analisi; è anche un potentissimo strumento per sviluppare e realizzare progetti e percorsi creativi. Permette di giocare e sperimentare, " senza paura di sbagliare"; l'errore deve essere accettato come parte integrante dell'apprendimento e del processo educativo, inoltre diventa un'opportunità per scoprire nuove idee per arrivare alla soluzione (processo euristico). Spesso negli alunni e non solo (spesso anche negli adulti), il timore di sbagliare o di non riuscire, frenando l'accettarsi e il rendersi disponibili ( sapersi mettere in gioco), può diventare un blocco mentale che accompagna l'alunno durante tutto il proprio percorso scolastico. L'errore può essere trasformato in un momento costruttivo di valutazione, di apprendimento e di crescita, purché non sia affrontato con pessimismo o, ancora peggio, con senso di colpa. Allora può diventare occasione di avanzamento e così l'errore riconquista una valenza positiva per andare oltre (stimolo al miglioramento).

Fig. 5 - Computational thinking - A guide for teachers (CNR).
L'utilizzo di questi software di programmazione (es. Scracth [8]) da parte degli studenti richiede la conoscenza dell'uso dei " mattoncini" della programmazione: le funzioni, le variabili, le iterazioni, le condizioni da rispettare, ecc. Stimolare gli alunni ad apprendere i meccanismi logici è anche utile ai fini del curriculum scolastico e personale, inoltre questi programmi offrono suggerimenti e opportunità per collaborare a esprimersi attraverso la polivalenza della tecnologia.

Fig. 6 - Alunni al PC.
Coding e docenti

Nelle indicazioni [12] rivolte ai docenti si definisce il pensiero computazionale come un " processo cognitivo e di pensiero che coinvolge logiche e ragionamenti attraverso i quali i problemi sono risolti e gli artefatti, le procedure e i sistemi compresi." Le abilità di riflessione computazionale devono diventare parte integrante della struttura della personalità, infatti: " si riferiscono a capacità di pensare e risolvere problemi in tutto il curriculum e nella vita in generale". Oggi è indispensabile aggiornarsi e adeguare le proprie competenze ai cambiamenti in atto nella società: in particolare, una buona conoscenza dell'informatica e un corretto approccio alle nuove tecnologie digitali forniscono nuove opportunità nella vita didattica e professionale. Il compito dell'istituzione scolastica e dei docenti è quindi quello di far conseguire le competenze necessarie attraverso l'acquisizione di una cultura digitale che ancora fa fatica a diffondersi nella scuola ad eccezione di alcune ottime situazioni sperimentali.
La presenza dei PC si è ormai diffusa in modo omogeneo e generalizzato, pertanto avere familiarità con i concetti di base dell'informatica come materia scientifica è un nuovo elemento critico e vitale del processo di formazione e di cittadinanza per tutti.

Anche la didattica dei docenti deve assolutamente prendere in carico una concezione digitale, poiché le situazioni in cui agiscono prevedono sempre più l'uso di strumenti digitali integrati con quelli tradizionali, consentendo così la creazione di nuovi ambienti didattici più dinamici, coinvolgenti e molto inclusivi. Bisogna sfruttare le opportunità che il mondo digitale mette loro a disposizione, poiché consente nuove modalità di approccio alla didattica che possono facilitare e aiutare l'apprendimento. Di tutto questo ne beneficiano gli stessi docenti e di riflesso anche gli alunni, "nativi digitali". Si rileva che i digital natives sono solamente coloro che sono nati in una società digitale e che è errato suggerire una loro capacità di comprensione "innata" di tale mondo. L'utilizzo di Internet, dei dispositivi mobili, ecc da parte loro, è, spesso, non consapevole, ma prevalentemente indirizzato ai "social media" e non all'apprendimento. La professionalità e la volontà dei docenti in questi ambiti devono però essere stimolate e potenziate da una rivalutazione morale ed economica del ruolo docente e del valore aggiunto che un docente " informatizzato " può dare al proprio insegnamento, alla propria disciplina e alla società.

Il software per il Coding

Fig. 7 - Docenti informatizzati.
Tra i diversi software didattici disponibili e gratuiti per insegnare il Coding, sicuramente il programma Scratch [13], rappresenta uno tra i software più interessanti, poiché semplice, intuitivo, accattivante ed è inoltre tra i più diffusi e utilizzati nel mondo scolastico. Si basa su un linguaggio di programmazione a blocchi e consente a chiunque di realizzare dei contenuti interattivi digitali. Le caratteristiche di Scratch rendono questo software particolarmente adatto a promuovere un apprendimento attivo e costruttivo, sia a livello individuale sia all'interno di un gruppo o di un ambiente collaborativo. Con Scratch sono certamente agevolati l'apprendimento di concetti, le pratiche e le prospettive del pensiero computazionale. Tuttavia Scratch rappresenta anche uno strumento di mediazione didattica per gli apprendimenti disciplinari.
L'OPPI di Milano e l'Equipe Formazione digitale [14] hanno predisposto nei propri corsi di formazione l'impiego del software Scratch che è adottato come strumento di supporto alla progettazione didattica multidisciplinare e interdisciplinare. Il punto, naturalmente, è che l'utilizzo delle tecnologie digitali, come di qualunque altro strumento di mediazione didattica, non si giustifica di per sé, ma solo se è inserito nella visione di una didattica consapevole cioè pensata per questo scopo.

Fig. 8 - Immagine di Andrea Patassini 2014 [15].

Considerando il rapporto fra apprendimenti scolastici ed extrascolastici, è frequente che, una volta appreso l'utilizzo di Scratch, alcuni alunni spesso si sentano coinvolti al punto di adoperarlo regolarmente anche presso la propria abitazione, intraprendendo un percorso di approfondimento personale che spesso può portare al conseguimento di competenze anche molto approfondite in una logica di apprendimento permanente. Tali esperienze possono poi essere trasferite come un " divertimento " anche all'interno della propria classe, sviluppando così nuovi accorgimenti per interagire all'interno della comunità di apprendimento e perseguendo, allo stesso tempo, metodi didattici (strategie) legati all'individualizzazione e alla personalizzazione dei percorsi.

Attività didattiche collaborative progettate con Scratch

Operare in modalità didattica sociocostruttivista [16]

Nel metodo dell'apprendimento creativo, di nascita costruzionista [17], la collaborazione, la cooperazione e la condivisione sono tutti fondamenti vitali che concorrono ad agevolare la costruzione della conoscenza e sono a loro volta il risultato delle interazioni sociali che si compiono all'interno di una comunità scolastica di apprendimento. La progettazione didattica, la ricchezza degli scambi comunicativi e affettivi, la costruzione collettiva del sapere, il rendere gli studenti protagonisti di un apprendimento di tipo individualizzato, sono tutte condizioni che concorrono alla ricerca del conseguimento del risultato ottimale e accompagnano l'alunno verso un utilizzo più cosciente e consapevole delle tecnologie digitali.

Fig. 9 - Pair programming.
Gli episodi di cronaca dimostrano che numerosi alunni hanno difficoltà a distinguere il bene dal male, con conseguenze comportamentali e psicologiche che, nei casi peggiori, conducono a comportamenti di violenza, bullismo e cyberbullismo. Educare alle emozioni è un compito che oggi appare molto difficile e urgente ma è spesso trascurato. Ogni allievo rivela un diverso stato d'animo sulla base delle proprie emozioni e sensazioni e si pone in modo differente nei confronti della classe e dei docenti. Conseguentemente ogni insegnante ha il dovere di apprendere e interpretare le diverse sfumature, positive o negative, che contraddistinguono la soggettività degli alunni, per aiutarli ad assumersi la responsabilità e comprendere cosa è giusto e cosa invece è sbagliato. In genere la soluzione migliore per raggiungere quest'obiettivo è di educare alle emozioni attraverso le emozioni stesse, consigliando gli studenti a una continua analisi interiore che li formi ad assumere atteggiamenti più riflessivi e imparando, tramite le strategie didattiche, a relazionarsi correttamente gli uni con gli altri. L'insegnante, sulla base dell'esame del contesto-classe e degli obiettivi da perseguire (inclusi quelli trasversali e relazionali), deciderà se sia più appropriato far realizzare un determinato progetto didattico stabilendo la priorità più efficace tra le diverse modalità: a coppie omogenee/eterogenee per competenze , a coppie omogenee/eterogenee per gusti e interessi e/o individualmente. E' pertanto responsabilità del docente valutare le diverse situazioni e stabilire i suggerimenti e gli aiuti nel modo più vantaggioso. Tenendo sempre presente, in alternativa o parallelamente, anche la possibilità di un percorso differente ad esempio lasciando che sia un compagno di classe ad aiutare l'alunno in difficoltà. Quando si programma l'attività didattica con Scratch, con lo scopo di stimolare un'interazione creativa e relazionale tra il visivo, il digitale e il manuale, tutto questo, in genere, avviene all'interno di un " setting operativo" che presuppone delle caratteristiche dedicate e pertanto anche dei paletti vincolanti (ad esempio: un vincolo fondamentale è interagire tramite un PC). Con la metodologia collaborativa e cooperativa ( cooperative learning), generalmente si prevedono gruppi costituiti da 3 a 5 studenti, si assegnano dei ruoli specifici e dei compiti con una finalizzazione verso un obiettivo condiviso. La gestione di un tale percorso con Scratch diventa un po' più complicata poiché possono scaturire delle difficoltà tra i partecipanti (es. demoralizzazione, contrasti e litigi per l'utilizzo condiviso della tastiera e/o del mouse). Pertanto, per una corretta impostazione bisogna adattare la necessaria organizzazione dell'attività didattica in modo da prevedere una strategia basata sulla scoperta e sul tentativo di apprendere tramite prove ed errori. In queste situazioni è meglio pertanto approntare metodi e tecniche di lavoro collaborativo e di cocostruzione collettiva delle conoscenze che utilizzino proficuamente i dispositivi digitali, ma che permettano all'alunno di entrare nel sistema da protagonista in una " logica partecipativa e relazionale". Gli studenti coinvolti nel percorso si dovranno occupare a tutto tondo del progetto, senza definire un'esplicita suddivisione di compiti oppure a ciascuno dovrà essere assegnato un ruolo preciso e circoscritto. La modalità "collaborativa" è certamente la più " aperta" in quanto non prevede una separazione formale del lavoro. Tuttavia a volte, per gli alunni, può rivelarsi difficile condurre l'attività in maniera efficace, governare l'interazione in modo da sentirsi ugualmente coinvolti nel progetto, essere in grado di gestire eventuali conflitti, evitare la confusione o la frustrazione. Perciò può essere interessante sperimentare una strategia operativa che utilizzi la "programmazione in coppia" ( pair programming) in modo strutturato. Ad esempio uno dei due alunni programmatori, prendendo spunto dal linguaggio dei rally, svolge il ruolo di "conduttore" ( driver) e scrive il codice, mentre l'altro "osservatore" (navigator) svolge un ruolo di supervisione e di revisione del codice, ricercando eventuali errori e riproponendo, eventualmente metodi alternativi. I ruoli dovranno essere poi invertiti nel corso delle successive sessioni di lavoro (almeno in ambito didattico) secondo la strategia del jigsaw [18]. Il dinamismo e l'attività di programmazione svolta dagli alunni in coppia permetterà di sviluppare aiuti reciproci e una più intensa capacità di decentramento cognitivo [19], verso due direzioni, dove in una, l'alunno dovrà comprendere "come funziona il programma" (nel nostro caso "Scratch"), intendere e mediare confrontandosi su cosa vuole ottenere il compagno di classe con una procedura definita, mentre, nell'altra direzione, permetterà di incoraggiare una maggiore conferma delle conoscenze acquisite in campo e un impegno metacognitivo per riuscire ad arrivare a comunicare e a relazionarsi con il proprio compagno più efficacemente.

Fig. 10 - Compagni tutor.
In questo modo sono migliorate la capacità di decentramento e l'elaborazione metacognitiva, sia da parte del "compagno aiutante" sia da chi ha richiesto l'intromissione, che deve essere in grado di spiegare in modo chiaro i termini del problema. Se la collaborazione è utile, il "compagno tutor" può ricavare a sua volta benefici dal punto di vista della percezione, dell'autoefficacia e di sviluppo dell'autostima. Lavorare insieme per uno stesso obiettivo è pertanto un'esperienza costruttiva che rafforza la partnership all'interno della coppia, favorisce sia la risoluzione dei problemi sia l'arricchimento personale degli alunni coinvolti.

Stimolare l'intelligenza emotiva [20 e le competenze emotive [21]

L'intelligenza emotiva [22] descrive un aspetto dell' intelligenza legato alla capacità di riconoscere, utilizzare, comprendere e gestire in modo consapevole le proprie e le altrui emozioni. L'intelligenza emotiva è dunque la capacità di riconoscere i nostri sentimenti e quelli degli altri, di riuscire a motivare noi stessi e di governare positivamente le emozioni tanto interiormente quanto nelle relazioni sociali. Progettare un'attività didattica collaborativa con "Scratch" favorisce l'apprendimento di gruppo e collaborativo. Tra gli studi trasversali ritroviamo l'intelligenza emotiva, poiché è l'intelligenza fondamentale che aiuta lo svolgimento di attività composite nei lavori collegiali.

Fig 11 - Alunni in collaborazione.
Esercitare l'intelligenza emotiva fin dalla scuola primaria, permette di far crescere individui predisposti ad affrontare le sfide del futuro, reciprocamente connessi, rispettosi verso se stessi e gli altri. Inoltre comporta un miglioramento rilevante delle competenze socio-emotive nell'ambiente classe fornendo agli insegnanti gli strumenti essenziali per una migliore gestione e sinergia. Mettere in collegamento le attività informatiche svolte con Scratch e la competenza emotiva sembra incoerente, ma nella pratica operativa, se si analizza l'attività didattica nei gruppi di lavoro, sono strettamente legate. La competenza emotiva rappresenta la capacità di un soggetto di manifestare le proprie emozioni in totale libertà e deriva dall'intelligenza emotiva, o meglio dalla capacità di riconoscere le emozioni stesse. La competenza emotiva è un requisito che si apprende e che indica la capacità di una persona di interagire in modo costruttivo anche con gli altri. Se non conosciamo le nostre emozioni, è arduo provare empatia o sostenere un altro individuo. Tutti i soggetti devono comprendere che è possibile esprimersi emotivamente tramite l'utilizzo dei diversi canali comunicativi e ampliare la propria conoscenza delle emozioni di cui hanno fatto esperienza [23]. Secondo diversi studi [24], fin dall'età prescolare, molti alunni sono già preparati in differenti abilità fondanti la competenza emotiva (per esempio sono in grado di riconoscere i propri e gli altrui stati emotivi, di descrivere queste situazioni in maniera fluente e di gestire le proprie emozioni in base al fine che vogliono ottenere). La competenza emotiva a livello espressivo costituisce pertanto un elemento importante a età diverse: se nell'infanzia rappresenta il fondamento del dialogo emotivo preverbale, con il crescere dell'età deve assicurare il buon andamento degli scambi sociali, consentendo così di affrontare le relazioni interpersonali tramite il controllo delle proprie emozioni. Nel contesto scolastico la competenza emotiva assume dunque un ruolo rilevante e deve essere potenziato sia negli alunni sia negli insegnanti e deve quindi essere introdotto anche nella formazione dei docenti.

Fig. 12 - Diagramma di concettualizzazione.
Progettare e realizzare percorsi didattici di matrice costruttivista con Scratch, favorisce la "peer education"[25] e il "collaborative learning" [26]. Gli alunni, creando e condividendo l'esperienza con gli altri compagni di classe, possono pertanto apprendere concetti interdisciplinari e computazionali rilevanti e "insieme" iniziare a pensare con modalità creative, ragionare e operare in modo sistematico e collaborativo.

Declinazione delle competenze personali e sociali con riferimento all'intelligenza emotiva

Scratch e la comunità di apprendimento

La classe è un atelier e una comunità di apprendimento, in cui le conoscenze sono costruite, condivise e scambiate. Ma il programma Scratch permette anche la possibilità di partecipare a una comunità molto più ampia di utenti appassionati, che non hanno in comune uno stesso spazio fisico, ma interagiscono tramite strumenti ed esperienze didattiche messe a disposizione dal proprio sito Web [27]. Sul sito ufficiale di Scratch ogni alunno o docente può registrare e caricare un proprio progetto da condividere con gli altri. Tutti i progetti consentono di utilizzare liberamente strumenti interattivi di musica, giochi, applicazioni didattiche, simulazioni, labirinti, storie animate, ... fino all'immaginabile. Tutto questo diventa un'ottima possibilità per dedicarsi a generi e contenuti di " media education " [28], sempre più fondamentali in ambito educativo man mano che i social network accrescono la loro ingerenza e il potenziale impatto sulla sfera emotiva. Il fatto che il programma Scratch metta alla prova motivazione, passione, curiosità e collaborazione, cioè che sia un ambiente focalizzato sui progetti scolastici e sul piacere di imparare a fare cose nuove e appassionanti, può essere un riferimento molto positivo per far accedere in modo corretto gli alunni al mondo dei social media. Perciò è importante invitare gli allievi, accanto all'esplorazione e all'analisi dei progetti, anche a interagire con altri utenti, commentare i loro percorsi, scambiare opinioni. Oltre alle ricadute sugli apprendimenti, questo programma ha una valenza educativa anche per lo sviluppo delle competenze trasversali, comunicative e di cittadinanza già indicate. Il docente dovrà però fare attenzione alla correttezza delle interazioni e al far rispettare le norme di netiquette [29], richiamandole esplicitamente quando necessario.

F ig. 13 - La comunità di Scratch

Qualche osservazione critica
Il nome Coding
Il nome Coding già solleva molte critiche e perplessità. Cosa s'intende con Coding?

Tradurre il termine Coding in italiano è difficile, perché questo termine coinvolge più concetti e azioni. La traduzione potrebbe essere: codifica, cifratura, programmazione, ma " tradurre è un po' tradire", diceva Voltaire.

Coding [31]significa letteralmente "l'azione di scrivere codice sorgente", che è un'attività della programmazione informatica. " La programmazione, in informatica, è l'insieme delle attività e delle tecniche che una o più persone specializzate, programmatori o sviluppatori (developer), svolgono per creare un programma, ossia un software da far eseguire a un computer, scrivendo il relativo codice sorgente in un certo linguaggio di programmazione" [32].
Programmare
Programmare, però, significa, in particolar modo, analizzare un problema, progettarne la soluzione, scrivere una serie d'istruzioni, di dati, cioè un programma, verificarne la validità e la correttezza, mentre coding fa riferimento solo alla scrittura del codice. Parlare, quindi, solo di "insegnare il coding" è un approccio riduttivo, perché si focalizza solo sulla parte finale e operativa di un processo progettuale molto più complesso. Una discrepanza, un contrasto di termini, ma anche di concetti, di propositi, tra scrivere un codice e programmare, attività che richiede conoscenze e competenze specifiche. Inoltre, in prospettiva, quanto potrebbe servire insegnare il coding in questo modo?
Scratch
In questo momento, Scratch, essendo molto diffuso, è diventato sinonimo di coding e, in particolar modo, come avviamento dei bambini all'informatica, attraverso ambienti di programmazione visuale. Non serve scrivere il codice. Si fa uso di un ambiente grafico di programmazione, che utilizza dei blocchetti, dei mattoncini tipo Lego. È sufficiente "posizionare" opportunamente questi mattoncini, "oggetti simbolici", che stanno al posto di operatori, variabili e condizioni. Sono di tipo diverso e di colore differente, ognuno con una propria funzione e il proprio compito. "La forma dei blocchi suggerisce come questi vadano collegati e il sistema rifiuta di attaccare tra loro blocchi la cui unione non ha significato. Quindi in Scratch, la grammatica visiva della forma dei blocchi e le regole per la loro unione hanno il ruolo della sintassi in un linguaggio di tipo testuale" [34]. Se si rispettano i vincoli della sintassi, i mattoncini s'incastrano facilmente, in caso contrario, no. Non si tratta, quindi, proprio di "linguaggi visuali", ma d'interfacce grafiche che consentono di disporre linee di codice sorgente una sotto l'altra, nell'ordine giusto. Una specie di puzzle informatico. Scratch è un ambiente di programmazione gratuito, di tipo grafico, orientato agli oggetti chiamati: "sprites". È stato progettato, specificamente, per ragazzi dagli 8 ai 16 anni. É stato ideato con l'obiettivo di insegnare a pensare in modo creativo, a lavorare in collaborazione e a ragionare in modo sistemico. Si è pensato, inoltre, che imparare un "linguaggio di programmazione", possa essere un valido aiuto all'elaborazione di strategie, riguardanti: la modalità di risoluzione dei problemi, di creazione di progetti e di comunicazione delle proprie idee. Consente, infatti, di elaborare storie interattive, giochi, animazioni, arte e musica.

Scratch è uno strumento molto valido, intuitivo e accattivante, quindi relativamente facile per chi si avvicina alla programmazione a livello "coding" e per l'approccio iniziale alla programmazione dei computer.

Quando le cose si complicheranno e si dovrà parlare veramente di programmazione, come si metteranno le cose?
Un progetto USA esportato così com'è
Scratch è stato progettato per studenti di lingua inglese, statunitensi, utilizzando un linguaggio imperativo, secondo le strutture di controllo tipiche di questa programmazione. Queste strutture di controllo della programmazione in inglese non corrispondono sempre, come significato, a quelle di lingua italiana. La differenza linguistica comporta una diversità nella definizione e, inevitabilmente, nell'apprendimento dei nostri studenti, in particolare, se di giovane età. Un linguaggio imperativo, inoltre, contribuisce a formare una mente imperativa; cosa che è in contrasto con i moderni modi di pensare al software e quindi non sempre adatto nella preparazione a un possibile futuro lavorativo.

Semprenell'articolo citato di M.M. Ghisalberti, ritroviamo questa affermazione: " L'approccio meramente visuale e compositivo, porta a distorsioni della comprensione del problema. Questo è causato anche da un linguaggio limitato, che obbliga, per risolvere anche semplici problemi, a strutture che sono, di fatto, più complesse del dovuto".
La pratica del coding sviluppa il pensiero computazionale
Gli obiettivi di Scratch sono prevalentemente due, quelli di preparare futuri programmatori e iniziare gli alunni al pensiero computazionale (Computational Thinking). Il coding non è, quindi, semplicemente la programmazione, ma è ritenuto il modo migliore per sviluppare il Pensiero computazionale.

Questo tipo di pensiero permette di trovare la soluzione di un problema, di qualunque genere sia, indipendentemente dalle sue dimensioni (scala), si può riferire a pochi casi o a intere popolazioni di dati. Non riguarda la tecnologia, ma, piuttosto, la creatività, la capacità di espressione e di autorealizzazione. É un invito a guardare il mondo, la complessità della realtà e i problemi con occhi nuovi.

La programmazione, infatti, dà delle istruzioni a un esecutore, che non ha un'intelligenza propria, né fantasia, e quindi, costringe a essere rigorosi e a fornirgli istruzioni, un poco per volta, passo a passo, in modo semplice ed esaustivo, senza tralasciare nessun dettaglio. I computer, eseguono velocemente un set d'istruzioni semplici ed elementari, una dietro l'altra, scandite dal registro puntatore. Sono, però, solo dei semplici esecutori, che non hanno né immaginazione, né inventiva. Siamo noi a dir loro cosa fare e a fornire le debite indicazioni. Di conseguenza, il Computational Thinking è riferito solo ai computer o agli "uomini macchina" e non a degli "uomini umani".

Il Coding serve a sviluppare il pensiero computazionale quanto altre discipline strettamente legate alla logica (lo studio del latino, della filosofia, della letteratura o leggere una poesia tramite un paradigma costruttivista). Se l'insegnante riesce a coinvolgere la classe, a renderla partecipe in modo vivo, anche la lettura dei classici come l'Odissea o la Divina Commedia può stimolare la curiosità e la creatività. Per certi giovani, la maga Circe o la bellissima Nausica possono essere più stimolanti di uno sprite.
Necessità di formare programmatori
"Secondo uno studio dell'Unione Europa, entro il 2020 serviranno 900 mila sviluppatori in più rispetto a quanti le scuole europee ne riusciranno a formare. Secondo Code.org, addirittura negli Stati Uniti, entro il 2020, ci sarà bisogno di 1.4 milioni d'informatici esperti in programmazione, ma ci sono oggi solo 400 mila studenti iscritti in corsi di Scienze Informatiche"! [35]

Il proposito d'iniziare alla programmazione gli studenti, per preparare i futuri sviluppatori, di cui avremo bisogno nei prossimi dieci anni, proponendo il coding/Scratch, andrebbe considerato con più attenzione. Ci serviranno, infatti, figure professionali diverse, non solo degli sviluppatori. La programmazione, inoltre, richiede tanta creatività nell'inventare, quanta abilità nel portare a termine l'idea.

Collegata al tema del lavoro e ai futuri programmatori, è la scelta dei linguaggi di programmazione che si dimostrino adatti per essere insegnati proficuamente a scuola. Infatti, insegnare precocemente uno specifico linguaggio pone due ordini di problemi:

il primo, legato all'effettiva difficoltà, in quanto tale linguaggio non è pensato come strumento didattico;

il secondo, legato al fatto, che tra una decina di anni, questo linguaggio sarà quasi sicuramente superato.

Di conseguenza, almeno per la scuola primaria e sicuramente per l'infanzia, ordini coinvolti in questo progetto, affrontare questo tipo di problema sembrerebbe poco utile e fruttuoso. L'introduzione giocosa alla programmazione richiede, poi, una riflessione. Le attività ludiche sono importanti se finalizzate all'apprendimento, non semplicemente a far passare il tempo. Spesso, i giovani programmatori, abituati a giocare ai videogiochi, attratti dalla dotazione di strumenti di disegno integrati e dalla notevole libreria di elementi grafici di Scratch, sono più tentati a provare, a giocare, piuttosto che a costruire e a creare programmi. Se lasciati a se stessi, con Scratch, impiegano la maggior parte del tempo a far muovere gli sprite, spostando le figurine da una parte all'altra dello schermo, in percorsi preordinati, rinunciando a progettare e a realizzare qualcosa. Pertanto è fondamentale l'azione dell'insegnante, che con una solida programmazione didattica e, tanta pazienza, deve orientare, guidare, sostenere i giovani programmatori, affinché concretizzino i loro sforzi in un prodotto, che non sia la replica di qualche cosa già visto o già sentito.

Scratch fa parte di quegli ambienti preconfezionati e omnicomprensivi che richiedono, da parte degli insegnanti tutte le attenzioni per stimolare nell'alunno la creatività e la volontà di esprimersi.
Coding nell'infanzia
Il primo livello di apprendimento è quello che nasce dall'interazione dell'individuo con l'ambiente che lo circonda. In particolare, secondo Piaget, il modo migliore per ottenere questo tipo di apprendimento è attraverso la manipolazione: mediante la propria azione sugli oggetti, il bambino acquisisce nuove competenze e nuove informazioni. Nei bambini, uno degli stili di apprendimento prevalenti è il sistema tattile. I bambini imparano attraverso esperienze tattili [36], specialmente quando sono molto piccoli (infanzia). Questo è il motivo per cui i bambini e le bambine della scuola dell'infanzia sono stimolati a sviluppare questa competenza attraverso l'uso della pasta di sale, la pittura, il disegno, il movimento, per poi poter finalmente trasferire l'apprendimento in quella parte della neocorteccia cerebrale, deputata a migliorare le abilità linguistiche, il pensiero critico, la risoluzione dei problemi, la lettura e la scrittura.

I bambini, inoltre, apprezzano anche le seguenti azioni:

Attività pratiche che coinvolgono progetti artistici, naturali, recitazione,

Giocherellare spesso con la matita, muovere i piedi, tenere un oggetto mentre studiano,

Usare le dita per tracciare lettere, numeri e forme per l'ortografia e la lettura,

Avere bisogno di muoversi e fare pause per allontanarsi dal banco.

Ricordiamo che un uso eccessivo dei dispositivi digitali nella prima infanzia può interferire con il normale sviluppo cognitivo, motorio e sociale [37]. L'utilizzo di oggetti, tecnologicamente sofisticati, ma di aspetto semplice ed invitante, tipo cubetto, Ape Bee Bot, Makey Makey [38]ecc, possono provocare, in certi elementi giovani, una distorsione percettiva. La percezione [39] che si ha di un oggetto, infatti, è il processo attraverso cui un individuo seleziona, organizza e interpreta gli stimoli ricevuti e le informazioni acquisite, in modo da ottenere una visione del mondo che sia per lui credibile e dotata di senso. Persone diverse possono avere dello stesso oggetto percezioni diverse, rielaborando le informazioni secondo un proprio punto di vista (distorsione selettiva). Gli stimoli ricevuti non sempre, poi, sono interpretati nel modo desiderato, infatti, si ha la tendenza a ritenere un'informazione che concorda con quanto si è rielaborato, e che ci è diventato famigliare, dimenticando molte delle altre cose che si sono imparate (ritenzione selettiva). Così può accadere che il bambino "programmatore unplugged", se non debitamente seguito e avvertito, conferisca a degli oggetti comuni, caratteristiche e proprietà derivanti dai gadget elettronici: come banane che cantano, oggetti che parlano, ecc.
Riflessione finale
Infine, è così importante imparare a programmare? La società attuale, orientata all'uso sempre più diffuso delle tecnologie digitali, ha più bisogno, per sopravvivere di consumatori, operatori, piuttosto che di programmatori. I nostri studenti, dall'infanzia alla secondaria di secondo grado, diventeranno tutti programmatori? Ne hanno tutti le capacità, la voglia l'interesse, la possibilità economica? Secondo le ultime stime dell'OCSE, in Italia le competenze degli studenti del Sud sono inferiori a quelle del Nord, in gran parte, per motivi economici. E si parla solamente di comprensione del testo, di matematica e di scienze. Immaginiamo la programmazione con dispositivi sicuramente non sempre gratuiti e attrezzature per scuole spesso fatiscenti. Utilizzare il software Scratch e simili, muovere robot programmabili, api, cubetti è sicuramente divertente, intrigante. Sono attività accattivanti e svaganti, preferibili a lezioni tradizionali.

Il pensiero computazionale insegna ad analizzare e a risolvere i problemi, fornendo le istruzioni necessarie in modo tale che un umano o una macchina possa effettivamente eseguire. La vita reale, però, non è una simulazione, un'astrazione, le variabili in gioco sono, pressoché, infinite e la relazione tra causa ed effetto è solo probabilistica. Il pensiero computazionale, pertanto, non deve essere demonizzato, anzi va incoraggiato e insegnato. Allo stesso tempo, però, non deve essere idealizzato, né considerato come la soluzione universale per tutte le discipline e valido per ogni alunno. Bisogna avvalersene con cognizione di causa, affiancandolo ad altre metodologie e strategie e valorizzando proposte didattiche, che permettano una formazione generale dello studente, arricchiscano le sue potenzialità espressive, gli permettano di esprimere i suoi sentimenti, la sua fantasia e la sua libertà di pensiero [41].

Conclusioni

Quanto si è osservato finora ci porta a considerare che il Coding e Scratch abbiano un valore non solo come ambiente di programmazione, su cui si può sostenere anche qualche critica, ma soprattutto come ambiente didattico propedeutico poiché aiuta gli alunni a progettare, creare percorsi multidisciplinari e a relazionarsi con il prossimo. Lo stesso ambiente però diventa un po' più disagevole quando i programmi diventano troppo lunghi e quando si rende indispensabile avere strutture dati oltre le variabili e le liste, ecc. Diventa insufficiente e inadeguato quando gli alunni hanno superato la fase iniziale propedeutica della programmazione di avvio, della realizzazione e del proporne l'utilizzo. Gli studenti che desiderano continuare ad approfondire: algoritmi, programmazione e conoscenze degli ambienti digitali in genere, dovranno necessariamente passare ad altri strumenti e software un po' più avanzati. Per concepire gli usi creativi dell'IT [42] è diventato ormai indispensabile possedere i concetti basilari della computer science, inoltre, la conoscenza dei concetti base, consentirà agli studenti di essere creativi anche in altre discipline e ambienti. Il coding per la sua particolare azione rivelativa, è anche uno strumento di sostegno molto efficace per chi s'interessa di metodologie di studio per gli alunni con disturbi dell'apprendimento e permette di verificare immediatamente i rapporti razionali di causa ed effetto e costatare la legittimità di una categorizzazione o di un ragionamento logico. La missione della scuola è di fornire a ciascun alunno le giuste competenze per "saper" affrontare il proprio futuro.

Fig. 14 - Alunni in collaborazione.
1. Processo mentale per la risoluzione di problemi costituito dalla combinazione di metodi caratteristici e di strumenti intellettuali. Termine introdotto dalla scienziata informatica Jeannette Wing nel 2006. In sintesi definibile come: l'applicazione dei principi del pensiero informatico per la risoluzione di attività o problemi logici più o meno complessi. Una capacità che può risultare fondamentale nella vita di tutti i giorni e non soltanto davanti allo schermo di un computer.
2. Il presidente americano Barak Obama, con una dichiarazione alla stampa (gennaio 2016), aveva esortato i giovani americani a non spendere le proprie risorse per comprare videogiochi, ma piuttosto di concentrare i propri sforzi per crearli. Il Presidente ha poi lanciato un piano per diffondere il coding in tutte le scuole. E una legge vuole equipararlo a una lingua straniera, per insegnarlo in classe.
3. Secondo S. Papert, il costruzionismo è una variante del costruttivismo che condivide con quest'ultimo l'idea di un uomo costruttore di strutture di conoscenze ma specifica anche che la costruzione di conoscenze è molto più significativa in un contesto dove il soggetto che apprende è impegnato nella costruzione di un qualcosa di concreto e condivisibile. Il costruzionismo introduce quindi il concetto di " artefatti cognitivi" o degli oggetti o dispositivi che facilitano l'apprendimento e di cui l'uomo necessita esattamente come un costruttore ha bisogno dei materiali da costruzione.
4. Papert fondatore del laboratorio di intelligenza artificiale del MIT, Wallace Feurzeig direttore di BBN Technologies , una società leader che ha avuto un ruolo di primo piano nella creazione di tecnologie come l'e-mail, VoiceIP
5. Una versione attualmente in uso del LOGO è "Micromondi", applicata anche alla robotica dei mattoncini LEGO. Per chi vuole approfondire l'argomento LOGO segnaliamo il link: http://it.wikipedia.org/wiki/Logo_%28informatica%29
6.

7. Nei sistemi di programmazione visuale le singole istruzioni sono rappresentate da blocchi colorati che si possono trascinare in un'area di lavoro ( drag and drop). I blocchi possono essere combinati tra loro in modo da comporre una sequenza d'istruzioni, che costituisce il programma. Sono preferiti dagli insegnanti perché la programmazione a blocchi permette di concentrarsi sul procedimento e sul ragionamento, non tenendo in considerazione la correttezza del linguaggio.
8. Scratch è stato ideato dal gruppo del Lifelong Kindergarten del MIT, guidato da Mitchel Resnick, e si ispira alla teoria costruzionista dell'apprendimento di Seymour Papert. Software gratuito specifico per la fascia d'età 7-16 anni. Permette di realizzare in modo semplice e veloce testi, suoni, animazioni, storie interattive, quiz, videogiochi, ... il limite è solo nella fantasia dell'utente e nel desiderio di imparare e sperimentare.
9. L'Equipe svolge la sua attività di formazione on line e in presenza presso l'OPPI di Milano.
10. Morin E., La testa ben fatta. Riforma dell'insegnamento e riforma del pensiero, cit., pp. 89-90 e seguenti.
11. Il primo a utilizzare la locuzione computational thinking è stato il matematico e informatico sudafricano Seymour Papert, già nel 1980 nel suo celebre libro Mindstorms,
Vedi anche l'articolo suggestivo di Jeanette M. Wing, direttrice del Dipartimento di Informatica della Carnegie Mellon University, del marzo 2006 alla pagina https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
12. Vedi Computational thinking - A guide for teachers © Copyright 2015 Computing At School - © Copyright 2016 Consiglio Nazionale delle Ricerche (http://community.computingatschool.org.uk/resources/2324)
13. Software Scratch versione on line: https://scratch.mit.edu/projects/318997608/editor
14. L'Equipe svolge i suoi corsi di formazione presso l'OPPI (Organizzazione per la Preparazione Professionale Insegnanti) di Milano vedi http://oppi.it/corsi/corso-coding-pensiero-computazionale/
15. Andrea Patassini http://www.indire.it/wp-content/uploads/2016/06/Coding_eTwinning_Patassini.pdf
16. https://www.edscuola.it/archivio/antologia/recensioni/didattica_costruttivista.htm
17. Questa corrente di pensiero ritiene che la conoscenza sia una costruzione del soggetto che agisce in una situazione concreta e in collaborazione con altri soggetti con i quali negozia i significati, anche grazie alla comunicazione interpersonale e alla collaborazione sociale.
18. Si veda: https://didatticapersuasiva.com/didattica/che-cose-jigsaw-e-come-si-applica
19. Dall'egocentrismo al decentramento cognitivo Secondo Piaget (1923) il bambino usa un linguaggio egocentrico, per se stesso, che scompare con la socializzazione (critica di Vygotskij 1934). Nel cap.II, aggiunto nel 1947, Piaget sostiene che il bambino è egocentrico perché non è capace di assumere mentalmente la prospettiva dell'altro, che occupa ad esempio una posizione nello spazio diversa dalla propria (perspective taking). In questo caso occorre superare la prospettiva egocentrica (epistemicamente) per effettuare un decentramento cognitivo.
20. Intelligenza emotiva intesa come: La capacità di controllare i sentimenti ed proprie ed altrui, distinguere tra di esse e di utilizzare queste informazioni per guidare i propri pensieri e le proprie azioni"
21. La competenza emotiva intesa: come la capacità di gestire e regolare le proprie emozioni per affrontare le diverse situazioni che si propongono. Attraverso questi elementi, l'individuo è in grado di intraprendere relazioni positive con gli altri e di favorire comportamenti socializzanti.
22. L'intelligenza emotiva è stata trattata la prima volta nel 1990 dai professori Peter Salovey e John D. Mayer nel loro articolo "Emotional Intelligence". Il tema dell'intelligenza emotiva è stato successivamente trattato nel 1995 da Daniel Goleman nel libro "Emotional Intelligence" tradotto in italiano nel 1997 "Intelligenza emotiva che cos'è perché può renderci felici".
23. Comprendere le emozioni proprie e altrui vuol dire dare significato a eventi interni, o stati mentali di natura emotivo-affettiva e sviluppare una concezione della "mente emotiva" che ha la funzione di orientare le azioni dell'individuo durante gli scambi sociali (Harris P. L., 1995)
24. Dunn, 1994 e S. Denham e coll., 2003
25. Proposta educativa attraverso la quale, in un gruppo, alcuni soggetti ( peer educators) vengono scelti (e formati) per svolgere il ruolo di educatore nei confronti degli altri membri dai quali, però, sono percepiti come loro simili per età, condizione lavorativa, provenienza culturale, esperienze, etc.
26. Modalità di apprendimento che si basa sulla valorizzazione della collaborazione all'interno di un gruppo di allievi.
27. Community Italiana di Scratch con progetti di programmatori italiani https://scratch.mit.edu/studios/3959299/
28. La Media Education è un'attività, educativa e didattica, finalizzata a sviluppare nei giovani un'informazione e comprensione critica circa la natura e le categorie dei media, le tecniche da loro impiegate per costruire messaggi e produrre senso, i generi e i linguaggi specifici- Rivoltella 2001
29. Insieme di regole informali che disciplinano il buon comportamento di un utente sul web di Internet, specie nel rapportarsi agli altri utenti attraverso risorse come newsgroup, mailing list, forum, blog, reti sociali o email in genere
30. Per approfondimenti , si veda: http://www.archilabo.org/content/il-coding-non-e-il-pensiero-computazione-ma-la-sua-rappresentazione/
31. Per approfondimenti, si veda il sito https://it.wikibooks.org/wiki/Dietro_il_coding, di S.Penge
32. Si veda http://minimalprocedure.pragmas.org/writings/Coding/coding.html di M.M. Ghisalberti
33. http://www.archilabo.org/content/il-coding-non-e-il-pensiero-computazione-ma-la-sua-rappresentazione/
34. Si veda http://tesi.cab.unipd.it/40383/1/stivalfr592920.pdf, di F. Stival e M. Moro
35. Si veda https://www.wecanjob.it/archivio21_coding-programming-future-works_0_46.html
36. http://www.familing.it/limportanza-manipolazione-per-sviluppo-dellapprendimento-non/
37. http://www.healthdesk.it/prevenzione/bambini-troppe-ore-davanti-uno-schermo-compromettono-sviluppo-cognitivo
38. Makey Makey è un kit in grado di trasformare qualunque cosa in una tastiera del computer. Basta collegare le pinze a coccodrillo contenute nella sua scatola a qualsiasi oggetto per trasformarlo in un controller touch. Si può giocare ai videogame con dei tasti di plastilina o suonare dei vegetali come se fossero i tasti di un pianoforte....". Per approfondimenti, si veda: http://www.maestramarta.it/makey-makey-classe-5a/
39. Si veda: https://amslaurea.unibo.it/2129/1/nuozzi_silvio_tesi.pdf.pdf; 4. Fattori psicologici (motivazione, percezione, apprendimento, opinioni e atteggiamento).
40. Si veda: https://it.wikipedia.org/wiki/Pensiero_computazionale
" Il pensiero computazionale è l'insieme dei processi mentali coinvolti nella formulazione di un problema e della sua soluzione, quindi di individuare un procedimento costruttivo, fatto di passi semplici non ambigui, che ci porta alla soluzione di un problema complesso. Il pensiero computazionale è un processo iterativo basato su tre fasi:

1. Formulazione del problema (astrazione);

2. Espressione della soluzione (automazione);

3. Esecuzione della soluzione e valutazione della stessa (analisi)"

41. Si veda: http://www.archilabo.org/content/il-coding-non-e-il-pensiero-computazione-ma-la-sua-rappresentazione/
42. L'acronimo IT (information technology), indica l'utilizzo di elaboratori e attrezzature di telecomunicazione per memorizzare, recuperare, trasmettere e manipolare dati, spesso nel contesto di un'attività commerciale o di un'altra attività economica.
Nota degli autori Molti materiali e indicazioni presenti in questo articolo sono stati ripresi da letture e stimoli ritrovati in rete e non sempre è stato possibile citare tutti gli autori. Desideriamo comunque ringraziare tutti quelli che in qualche modo ci hanno dato idee e proposte che hanno permesso la realizzazione di quest'articolo. Indicazioni utili in rete
Gli autori: Equipe Formazione Digitale

Mario Gabbari: Docente-formatore presso OPPI-Milano. Ha collaborato per lungo tempo con l'Ufficio Scolastico della Lombardia partecipando e/o organizzando attività seminariali e di formazione e svolgendo numerosi incarichi per conto del MIUR e Indire. Ha scritto e pubblicato diversi articoli sulle tecnologie informatiche e insieme ad altri, un libro guida sulla LIM (Lavagna Interattiva Multimediale), come ambiente di apprendimento costruttivista e dedicato a tutti gli operatori della comunicazione. Antonio Gaetano: Docente in scuola statale, formatore per conto del MIUR, del nucleo Regionale Lombardia e dell'ex Indire. Collabora dal 1999 come esperto con l'USR Lombardia e con il CSA di Milano per l'introduzione delle ICT e delle LIM nella scuola. Autore, con altri, di un libro guida sull'utilizzo della LIM.

Roberto Gagliardi: Docente-formatore, coordinatore della Equipe dell'OPPI di Milano, per Tecnologie didattiche e di Comunicazione. Si è occupato della formazione LIM per conto di INDIRE/MIUR e degli Aspetti strumentali e metodologico - didattici. Ha collaborato con l'USR Lombardia in corsi e attività seminariali come tutor, relatore e progettista. Autore, con altri, di diverse pubblicazioni: libri e articoli sugli aspetti metodologici didattici e sull'utilizzo della LIM come ambiente di apprendimento costruttivista.

Daniela Sacchi: Docente-formatore presso OPPI-Milano, ha collaborato per lungo tempo con l'Ufficio Scolastico della Lombardia partecipando ad attività seminariali e di formazione e ha svolto diversi incarichi per il MIUR. Ha condotto per alcuni anni il laboratorio ADA (Progettazione di percorsi didattici multimediali per i diversi tipi di disabilità) all'Università Bicocca di Milano. Ha scritto articoli e libri nell'ambito delle ICT, personalmente o insieme ad altri.

# data[].attributes.attachment_link.title
Integrare Coding e Pensiero Computazionale nella didattica

# data[].attributes.attachment_link.description
" insegnando all'elaboratore a pensare, i bambini si lanciano in un'esplorazione del loro stesso modo di pensare" Papert, Mindstorms, 1980 La vita lavorativa di quasi tutti, è ormai permeata dall'utilizzo di software specialistici dedicati: i medici usano appositi software, gli avvocati oltre ad avvalersi di sistemi di gestione informatici fanno anche un grande uso delle banche dati informatiche (infinità d'informazioni necessarie per un esperto del settore), la sanità pubblica e quasi tutte le imprese commerciali utilizzano complessi software per la gestione della clientela, per la contabilità e per la gestione del magazzino.

# data[].attributes.body
Le lezioni tradizionali sono state pensate per essere svolte in assenza di computer o di connessione ad Internet.
Il percorso delle lezioni tradizionali avviene secondo due modalità:
- una modalità base (denominata l'Ora del Codice) consistente nello svolgere solo un'ora di avviamento al pensiero computazionale. Si suggerisce che questa attività avvenga in concomitanza con analoghe attività in corso in tutto il mondo ad ottobre e dicembre;
- una modalità avanzata consistente nel far seguire a quest'ora di avviamento un percorso più approfondito, che sviluppa i temi del pensiero computazionale con ulteriori lezioni tradizionali, da svolgere quando si vuole.

Svolgi in sequenza le seguenti lezioni sotto indicate:
- Pensiero Computazionale
- Programmazione su carta a quadretti
- Algoritmi
- Funzioni
- Istruzioni condizionali
- Composizione di canzoni
- Astrazione
- Programmazione a staffetta
- Internet
- Conclusione

# data[].attributes.body
Nella lezione tradizionale Pensiero computazionale gli studenti impareranno le 4 fasi fondamentali del “pensiero computazionale”, usando solo carta e penna.

Dopo una breve introduzione gli studenti vengono divisi in gruppi nei quali devono creare istruzioni affinché altri studenti disegnino uno specifico mostro (da un catalogo di mostri predefiniti).

L’intero compito va decomposto in passi elementari: a questo scopo i gruppi devono analizzare tutti i mostri nel catalogo per trovare schemi ricorrenti, individuare i diversi dettagli degli specifici mostri, poi usare queste informazioni per creare un algoritmo (cioè, una serie di azioni) affinché un altro gruppo possa disegnare uno specifico mostro.

Ogni gruppo poi scambierà il proprio algoritmo con quello di un altro gruppo e disegnerà il mostro seguendo le istruzioni dell’algoritmo ricevuto. Il disegno che che ottengono è ciò che il gruppo che ha scritto l’algoritmo intendeva?

https://studio.code.org/s/20-hour/lessons/3/levels/1
https://www.youtube.com/watch?v=injJWiSA0pw

# data[].attributes.attachment_caption
Papert e il linguaggio Logo - Missione Insegnante

# data[].attributes.attachment_link.readable_text
Scratch e gli ambienti di programmazione a esso ispirati consentono a tutti di esprimere la propria creatività attraverso il coding. Ma quali sono le origini del coding visuale a blocchi? In questo articolo ripercorriamo la storia di Seymour Papert e del linguaggio Logo.

Oggi, nelle scuole italiane, molti alunni utilizzano Scratch per esprimere la propria creatività costruendo storie o piccoli videogiochi.

Sono sempre più numerose anche le scuole che propongono la robotica educativa come attività interdisciplinare per trasmettere conoscenze e per sviluppare abilità e competenze. L'obiettivo è quello di formare ciò che chiamiamo pensiero computazionale.

Uno dei fattori chiave della diffusione di questi strumenti è la facilità con cui avviene il processo di apprendimento.

Un risultato al quale si è arrivati dopo decenni di studi e che ha un punto di inizio preciso: la creazione del linguaggio di programmazione Logo.

Secondo il documento LOGO - A Project History, nel 1966 gli scienziati Seymour Papert, Wallace Feurzeig, e Daniel Bobrow si incontrarono per discutere sulle modalità con cui insegnare ai bambini a usare il computer.

Feurzeig guidava allora il gruppo di lavoro dedicato all'educazione della Bolt Beranek and Newman Inc. (BNN), una società tecnologica di ricerca e sviluppo con sede a Cambridge, negli Stati Uniti d'America.

La BNN ebbe un ruolo importante anche nello sviluppo delle rete Internet. L'atmosfera pionieristica di quell'epoca è ben descritta in A Culture of Innovation, Insider Accounts of Computing and Life at BBN.

Dalle idee di Papert, Feurzeig e Bodrow nacque Logo, che rappresentava un metodo completamente nuovo per supportare l' apprendimento del pensiero formale e sviluppare capacità di problem solving.

Un'altra figura molto importante per lo sviluppo di questo linguaggio fu la ricercatrice Cynthia Solomon, all'epoca collaboratrice di BNN e che anni dopo curerà la versione di Logo per i computer della Apple.

Presentato nel 1967, Logo era influenzato da tre aree di ricerca:

intelligenza artificiale;

psicologia dello sviluppo;

logica matematica.

Gli informatici coinvolti nello sviluppo di Logo erano esperti di intelligenza artificiale, molto in voga in quegli anni (la celebre Conferenza di Dartmouth si era tenuta da poco).

Non deve stupire quindi che Logo nacque come "dialetto" del LISP, un linguaggio di programmazione per l'intelligenza artificiale ideato nel 1958 da John McCarthy.

I linguaggi di programmazione

Un linguaggio di programmazione è un linguaggio formale che consente di realizzare algoritmi. Ma non viene "compreso" direttamente dal computer.

Le istruzioni di qualsiasi linguaggio di programmazione, infatti, vengono tradotte in l inguaggio macchina, che è l'unico linguaggio direttamente eseguibile da un computer.

Già nel 1964 era stato introdotto un linguaggio di programmazione per principianti denominato BASIC, molto facile da imparare, ma poco "strutturato".

Nel linguaggio Logo, invece, una delle idea di fondo è che il codice viene suddiviso in procedure.

Logo doveva rappresentare uno strumento di apprendimento con "pavimento basso e nessun soffitto ", adatto ai neofiti, ma in grado di appassionare gli utilizzatori esperti.

La sperimentazione con le scuole

Nel biennio 1968-69 Logo venne sperimentato in alcune scuole statunitensi. Nonostante i limiti della tecnologia dell'epoca, l'esperienza ebbe successo e si notarono miglioramenti in abilità non matematiche come la lettura.

I ricercatori si stupirono del fatto che bambini tra i 7 e 9 anni al termine della sperimentazione mostrassero uno sviluppo nel pensiero formale e matematico.

Successivamente, lo sviluppo di Logo venne influenzato dal fatto che non tutti gli ideatori di questo linguaggio avevano i medesimi obiettivi.

Da una parte c'era Seymour Papert che voleva incidere profondamente sul sistema scolastico, dall'altra Wallace Feurzeig che ne vedeva le potenzialità commerciali.

Intorno al 1972 BBN presentò Irving, la prima tartaruga robot. Mentre Papert spostò lo sviluppo del "suo" Logo al Massachusetts Institute of Technology (MIT).

Contemporaneamente Papert creò un gruppo di ricerca su al MIT, dove continuò le sue sperimentazioni didattiche osservando come i bambini usavano questo linguaggio.

L'informatico Hal Abelsol trovò la maniera di visualizzare un vettore grafico sullo schermo. Ora i bambini potevano disegnare con il computer!

Purtroppo per gran parte degli anni '70 non era facile accedere a un computer. Questo fatto frenò la diffusione di Logo nelle scuole, almeno per i primi anni.

Dalla fine degli anni '70 il linguaggio Logo venne reso disponibile per gli home computer prodotti da Texas Instruments, Apple, Atari e Commodore.

Giuseppe Laricca, ricercatore del CNR tra i primi in Italia a interessarsi di informatica cognitiva, curò la traduzione in italiano della versione per Commodore, presentata nel 1985.

Nel 1981 Seymour Papert fondò la società Logo Computer Systems Inc. (LCSI), con l'obiettivo di creare software per aiutare i bambini a sviluppare la capacità di risolvere problemi e il pensiero critico.

Negli anni '80 Logo venne quindi utilizzato in decine di migliaia di classi negli Stati Uniti e in tutto il mondo.

Il successo del libro Mindstorms di Papert incentivò migliaia di docenti a lasciare che i propri alunni sperimentassero l'uso del computer. Nel Regno Unito Logo entrò nei curricoli scolastici nazionali.

Concetti complicati come feedback, ricorsione e astrazione potevano essere acquisiti in maniera naturale.

Questo successo ebbe però anche implicazioni negative:

si crearono troppe aspettative sulla facilità di apprendimento della matematica;

venne data troppa enfasi all'aspetto grafico di Logo (la "geometria della tartaruga");

c'erano troppo versioni di Logo che differivano tra di loro, impedendo la formazione di un'unica grande comunità.

Inoltre, non ancora stato sviluppato un sistema di valutazione per questo tipo di attività. Ciò rappresentava un problema per gli insegnanti.

Verso i robot programmabili

Secondo Papert insegnare ai bambini la matematica era differente dall'insegnare a essere matematici (si veda ad esempio questo suo lavoro).

Pertanto, con il suo gruppo di lavoro si mosse in molte direzioni. Una di queste fu la robotica educativa.

Grazie al lavoro dei ricercatori del MIT Mitchel Resnick and Steve Ock, nella seconda metà degli anni '80 una speciale versione di Logo riusciva ad interfacciarsi con i mattoncini della LEGO dotati di motori, luci sensori ecc. ( LEGO/Logo).

Sempre dalla collaborazione tra il MIT e la LEGO nacque il Programmable Brick (il mattoncino "programmabile"), in cui la capacità di calcolo era inserita direttamente all'interno di un apposito mattoncino.

Ora i bambini potevano costruire con i mattoncini e programmare quello che avevano costruito.

L'evoluzione del Programmable Brick rappresenterà il "cuore" della serie robotica Mindstorms della LEGO (lanciata sul mercato nel 1998).

La programmazione visuale

Nel 1993 la LCSI di Papert presentò la prima versione di MicroWorlds, un programma che utilizzava il linguaggio Logo per insegnare lingua, matematica, robotica attraverso il coding. In Italia ebbe una certa diffusione con il nome di "MicroMondi".

Ma nonostante l'evoluzione dei computer e l'introduzione delle interfacce grafiche, la programmazione di Logo avveniva sempre in maniera testuale, cioè scrivendo le istruzioni un carattere alla volta.

Serviva un'idea per semplificare il passaggio tra l'ideazione di un algoritmo e la sua implementazione in Logo.

Intorno al 1995 venne sviluppata la prima versione di LogoBlocks, un Logo visuale per il Programmable Brick.

Per programmazione visuale si intende l'uso di simboli grafici nel processo di programmazione.

In questo senso, le istruzioni possono avvenire sotto forma di blocchi e l'interfaccia grafica dell'ambiente di programmazione può essere costruita del tutto o in parte da icone.

Dall'idea di Logo Blocks si arrivò, nel 2004* alla prima versione di Scratch, un ambiente di programmazione che utilizza il paradigma di programmazione a blocchi originariamente implementato come LogoBlocks.

* Lo Scratch Team indica il 2007 come anno di "nascita" di Scratch.

Scratch 3

Nel 2012 Google presentò la libreria Blockly, scritta in JavaScript e pensata appositamente per supportare la programmazione visuale basate su blocchi.

Grazie a questa risorsa è stato possibile realizzare la piattaforma , la terza versione di Scratch, e molte altre applicazioni di coding e robotica educativa.

E il resto, come si usa dire, è storia...

Seymour Papert (1928 - 2016), dopo la laurea in Sudafrica, è stato ricercatore presso l'Università di Cambridge, nel Regno Unito, dal 1954 al 1958.

Quando il celebre psicologo e pedagogista Jean Piaget, noto per il suo lavoro nel campo dello sviluppo cognitivo, lo invitò all'Università di Ginevra, Papert accolse l'invito e rimase in Svizzera da 1958 al 1963.

Nel 1963 Papert lasciò Ginevra per andare negli Stati Uniti, al Massachusetts Institute of Technology (MIT).

Il ricercatore sudafricano era enormemente ispirato dall'immagine che Piaget aveva del bambino e dall'idea di quanto i bambini potessero imparare senza un insegnamento diretto.

In particolare, voleva studiare quali fossero le migliori condizioni per agevolare lo sviluppo cognitivo nei più piccoli, specie per quel che riguardava il pensiero formale.

Alcune sue considerazioni in merito sono presenti nel paper Teaching Chilndren Thinking.

Nel 1980 diede alle stampe Mindstorms: Children, Computers, and Powerful Ideas, in cui riassumeva le sue esperienze didattiche con il linguaggio Logo.

Seymour Papert nel 1983

Dalla metà degli anni '80, sempre attraverso il MIT, cominciò a collaborare con la LEGO.

L'evoluzione della collaborazione tra la LEGO e i MIT è mostrata in questo bellissimo video.

A Papert viene attribuita l'introduzione di concetti quali pensiero computazionale, oggetto per pensare e micromondo, nonché lo sviluppo della teoria dell'apprendimento denominata costruzionismo.

# data[].attributes.attachment_link.title
Papert e il linguaggio Logo - Missione Insegnante

# data[].attributes.attachment_link.description
Scratch e gli ambienti di programmazione a esso ispirati consentono a tutti di esprimere la propria creatività attraverso il coding. Ma quali sono le origini del coding visuale a blocchi? In questo articolo ripercorriamo la storia di Seymour Papert e del linguaggio Logo.

# data[].attributes.body
Creative Computing di Karen Brennan, Christan Balch, Michelle Chung | Harvard Graduate School of Education | Traduzione a cura di Lorenzo Cesaretti WE Turtle

# data[].attributes.body
Sito di Riferimento

https://www.microbit.org/

Link alla Classroom

https://classroom.microbit.org/join?id=41623&password=GWZQB8MV

Ambiente MakeCode di Microsoft

https://makecode.microbit.org/

Lampada crepuscolare

https://microbit.org/projects/make-it-code-it/nightlight/

Esempi da realizzare

https://microbit.org/projects/make-it-code-it/sound-meter/

https://microbit.org/projects/make-it-code-it/disco-lights/

https://microbit.org/projects/make-it-code-it/clap-lights/

# data[].attributes.body
https://www.zaplycode.it/play/Guida_ZaplyCode.pdf

# data[].attributes.attachment_link.description
ZaplyCode è uno strumento di programmazione visuale per coinvolgere i bambini nel fantastico mondo del Coding.

# data[].attributes.attachment_link.description
Lessons and units of work for teaching with the BBC micro:bit, the pocket-sized computer transforming digital skills learning.

# data[].attributes.body
Se volete restare in contatto, potete utilizzare il canale telegram https://t.me/proftecnologia_it

# data[].attributes.attachment_link.title
Activities and resources - Technocamps STEM Activities and Resources

# data[].attributes.attachment_link.description
Enjoy over 30 free STEM activity packs for primary and secondary school children! No experience, equipment nor adult supervision needed.

# data[].attributes.attachment_link.description
Run whole class micro:bit sessions, easily share code with students and save progress

# data[].attributes.attachment_link.readable_text
Widespread use of Logo began with the advent of personal computers during the late 1970s. The MIT Logo Group developed versions of Logo for two machines: The Apple ][ and the Texas Instruments TI 99/4. The Logo language itself was similar in both versions, but the video game hardware of the TI 99/4 lent itself to action-oriented projects, while the Apple version was best suited to turtle graphics, and language projects.

In 1978 a pilot project sponsored by MIT and Texas Instruments was begun at the Lamplighter School in Dallas, Texas with 50 computers and a student population of 450. In 1980 the Computers in Schools Project was initiated by the New York Academy of Sciences and Community School Districts 2, 3, and 9 in New York City, and supported by Texas Instruments and MIT. Twelve TI 99/4 computers were placed in six New York City Public Schools. These were later joined by a few Apple ][s.

Both projects offered teachers extensive training and support through intensive two-week Summer Institutes and follow-up workshops during the school year.

These projects have had lasting results. Theresa Overall, who was a leader in both the Dallas and New York workshops, continued to teach Logo at Lamplighter and to offer summer workshops. Michael Tempel, then of the New York Academy of Sciences is now President of the Logo Foundation, a nonprofit organization that provides Logo professional development and support services to schools and districts throughout the world, including New York City Community School District 3. Two of the teachers who represented that district in the original project, Peter Rentof and Steve Siegelbaum, went on to form the Computer School, one of the District's alternative middle schools where Logo is still in use today.

The prototype Logo implementations used in those pioneering projects evolved into commercial products. TILOGO was released by Texas Instruments. Terrapin Software, a company that was set up in 1977 to distribute robot floor Turtles, licensed the Apple ][ version of MIT Logo and has marketed it and upgraded it to this day.

A new company, Logo Computer Systems, Inc. (LCSI) was formed in 1980. Many of the researchers, teachers, programmers, and writers who were involved in this venture have played major roles in the subsequent development of Logo. Seymour Papert is LCSI's chairman. Brian Silverman was Director of Research and guided the development of all of LCSI's products. Cynthia Solomon, who was on the team that created the original Logo in 1967, headed up LCSI's first development office in Boston and later directed the Atari Cambridge Research Center. Michael Tempel provided educational support services from LCSI's New York City office for ten years until he started the Logo Foundation in 1991.

LCSI developed Apple Logo, followed by versions for a host of other computers. With commercial availability, Logo use spread quickly.

Another important event occurred in 1980 - the publication of Seymour Papert's Mindstorms . Teachers throughout the world became excited by the intellectual and creative potential of Logo. Their enthusiasm fueled the Logo boom of the early 1980s.

New versions of Logo were implemented in more than a dozen spoken languages on a variety of machines, many with video game style graphics and sound capabilities. Logo for MSX computers was popular in Europe, South America, and Japan. Atari Logo and Commodore Logo were popular in North America.

Logo received considerable support from mainstream computer manufacturers. Apple Computer marketed LCSI's Apple Logo and, at one point, bundled it with the computers given away to each school in California. IBM marketed LCSI's IBM Logo and Logo Learner.

Atari not only distributed Atari Logo, but set up the ambitious Atari Cambridge Research Center under the direction of Cynthia Solomon.

By the mid 1980's the computers with video game capabilities had dropped off the market and taken their versions of Logo with them. MSDOS machines increasingly dominated the world of educational computing, except in the United States where Apple was the school favorite. Logo developers concentrated on these machines. Although new implementations added features and took advantage of the increased speed and memory of newer computers, the most popular versions of Logo in use in 1985 were similar to those of 1980.

Around this time there was also some interest in using Logo as a "serious" programming language, especially for the new Macintosh computer. MacLogo from LCSI added new functionality to the Logo environment. Coral Software, developed an object-oriented version of Logo called Object Logo. It included a compiler which allowed programs to run at higher speed, and stand-alone applications could be created. But Logo did not become popular among applications programmers.

# data[].attributes.attachment_link.description
Widespread use of Logo began with the advent of personal computers during the late 1970s. The MIT Logo Group developed versions of Logo for two machines: The Apple ][ and the Texas Instruments TI 99/4.

# data[].attributes.attachment_link.title
Learn computer science. Change the world.

# data[].attributes.attachment_link.description
Every student in every school deserves the opportunity to study computer science.

# data[].attributes.attachment_link.provider_name
MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.readable_text
Le biblioteche sono i luoghi ideali in cui trascorrere il proprio tempo dando forma alle idee, esercitando la creatività, utilizzando rappresentazioni digitali, appagando la curiosità e apprendendo. Per portare il coding in biblioteca basta prendere consapevolezza degli aspetti computazionali delle attività che vi si svolgono e dei principi di rappresentazione dell'informazione che sono alla basa del linguaggio, della scrittura e della lettura.

Questo corso, organizzato dall'Università di Urbino in collaborazione con la Rete delle Reti delle biblioteche di pubblica lettura, intende offrire agli operatori, agli insegnanti e ai fruitori delle biblioteche le motivazioni, gli esempi e gli strumenti teorici e pratici necessari ad utilizzare il coding per stimolare lo sviluppo del pensiero computazionale, favorire l'uso consapevole delle tecnologie digitali e contribuire a promuovere la lettura e la frequentazione delle biblioteche.

Il corso si articola in 6 moduli, ulteriormente suddivisi in lezioni e test di consolidamento.

1. Introduzione. In questo modulo vengono proposte definizioni rigorose e operative di concetti fondamentali, quali Informazione, Digitale, Coding e Pensiero computazionale

2. Principi di coding. Questo modulo ha lo scopo di richiamare in modo intuitivo principi base della programmazione che costituiscono il fondamento di ogni attività di coding e del ragionamento algoritmico: esecutore ideale, repertorio di istruzioni, sequenza di istruzioni, costrutti di ripetizione e di selezione, algoritmi

3. Strumenti di coding. Panoramica sugli strumenti di coding unplugged, di programmazione visuale a blocchi e di robotica educativa

4. Aspetti organizzativi. Focus sulla gestione degli spazi e delle risorse, sulla progettazione e sulla conduzione delle attività, sui destinatari, sulla comunicazione interna ed esterna, sulle collaborazioni, sulle opportunità di finanziamento e sulle campagne di alfabetizzazione e sensibilizzazione

5. Attività di coding in biblioteca. Proposte operative di attività di coding da svolgere in biblioteca, sfruttando risorse esistenti e strumenti fai-da-te, con focus sulla codifica delle informazioni, sugli algoritmi di ricerca e ordinamento e sul gioco

6. Buone pratiche. Presentazione e discussione di significative esperienze di successo di coding in biblioteca. Vengono presentati sia casi in cui il coding è l'oggetto dell'attività svolta, che casi in cui il coding è strumentale allo svolgimento di attività incentrate su altri argomenti

Gli argomenti verranno coperti in 25 ore di lezione, alle quali potranno essere aggiunte lezioni di approfondimento in risposta alle opportunità e alle esigenze che si presenteranno durante l'erogazione.

Il corso non ha pre-requisiti e la partecipazione è libera e gratuita.

Come per tutta la didattica aperta UniUrb, per seguire il corso basta un click. Se questo è il primo MOOC che segui sulla nostra piattaforma devi scegliere con quale account fare login (Google, Facebook, Uniurb) o registrare nuove credenziali di accesso. Il tuo account consentirà alla piattaforma di tenere traccia delle tue configurazioni e dei tuoi progressi, per migliorare la tua esperienza d'uso e certificare i risultati.

In diretta e on demand.

Tutte le lezioni online sono erogate in diretta, per permettere l'interazione con il pubblico presente, e rese disponibili per la fruizione on demand, per favorirne la fruizione e non porre vincoli di tempo. I test di consolidamento e autovalutazione associati alle lezioni possono essere compilati online in qualsiasi momento.
Senza scadenza.
Il corso non ha scadenza. Tutte le lezioni e tutti i test restano disponibili online anche al termine dell'erogazione dell'ultima lezione, permettendo ai corsisti di concludere il corso secondo i propri ritmi e la propria disponibilità di tempo.

Nuovi corsisti possono iscriversi al corso in qualsiasi momento, anche dopo l'inizio delle lezioni (previsto in febbraio 2022) o la fine dell'erogazione in diretta (prevista in maggio 2022).

Il completamento di tutte le attività previste, che includono la visione delle video-lezioni, la partecipazione ai sondaggi e il superamento dei test di consolidamento, è certificato da un attestato rilasciato sia in formato Come ogni corso pdf stampabile che in formato open badge. UniUrb, il corso è accreditato ai fini della formazione per insegnanti.

Il corso verrà presentato in diretta streaming il 20 gennaio 2022 alle ore 18:00.

ING-INF/05

# data[].attributes.attachment_link.title
Coding in Biblioteca - MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.description
Le biblioteche sono i luoghi ideali in cui trascorrere il proprio tempo dando forma alle idee, esercitando la creatività, utilizzando rappresentazioni digitali, appagando la curiosità e apprendendo. Per portare il coding in biblioteca basta prendere consapevolezza degli aspetti computazionali delle attività che vi si svolgono e dei principi di rappresentazione dell'informazione che sono alla basa del linguaggio, della scrittura e della lettura.

# data[].attributes.headline
QR Code Coding e Pensiero Computazionale

# data[].attributes.subject
QR Code Coding e Pensiero Computazionale

# data[].attributes.attachment_link.description
With ScratchJr, young children (ages 5-7) can program their own interactive stories and games.

# data[].attributes.body
La risposta a Scratch firmata Google è Blockly, un editor web gratuito basato su un linguaggio di programmazione visiva con blocchi di codice a forma di pezzi di puzzle colorati che si trascinano, si incastrano l’uno nell’altro e si riposizionano a piacimento. E’ utilizzabile anche nella versione in italiano.

# data[].attributes.attachment_link.description
Games for tomorrow’s programmers. Block-based programming lessons for beginners. Free from Google.

# data[].attributes.attachment_link.description
A Blocks / JavaScript code editor for the micro:bit powered by Microsoft MakeCode.

# data[].attributes.attachment_caption
Le schede di coding di Fantavolando - Fantavolando

# data[].attributes.attachment_link.title
Le schede di coding di Fantavolando - Fantavolando

# data[].attributes.attachment_link.description
In questo post potete trovare l'indice delle schede di coding disponibili nel sito di Fantavolando.

# data[].attributes.attachment_link.description
October 7 - 22, 2023: a week to celebrate coding in Europe, encouraging citizens to learn more about technology, and connecting communities and organizations who can help you learn coding.

# data[].attributes.attachment_link.readable_text
Informazioni su MakeCode

Scopri di più sulle funzionalità del prodotto Microsoft MakeCode e su come utilizzarlo per insegnare informatica in modo divertente e coinvolgente a tutti gli studenti.

Introduzione

Pronto a lanciarti nella programmazione? Scopri come è facile iniziare con Microsoft MakeCode.

Risorse

Se sei un insegnante, qui trovi curriculum e progetti gratuiti per aiutarti a far conoscere MakeCode alla tua classe. Se sei uno sviluppatore o un traduttore, scopri come entrare a far parte della community open source di MakeCode.

# data[].attributes.attachment_link.title
Educazione informatica con Microsoft MakeCode

# data[].attributes.attachment_link.description
Scopri di più sulle funzionalità del prodotto Microsoft MakeCode e su come utilizzarlo per insegnare informatica in modo divertente e coinvolgente a tutti gli studenti. Pronto a lanciarti nella programmazione? Scopri come è facile iniziare con Microsoft MakeCode. Se sei un insegnante, qui trovi curriculum e progetti gratuiti per aiutarti a far conoscere MakeCode alla tua classe.

# data[].attributes.attachment_link.provider_name
MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.title
Making Apps in Your Classroom, Now! - MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.description
Il corso spiega come sviluppare applicazioni in mabito scolastico, senza presupporre competenze informatiche specifiche. Si spinge oltre Scratch per sviluppare vere e proprie applicazioni con AppLab, Snap, AppInventor, trattando gli strumenti come tali e concentrandosi su concetti e metodi.

# data[].attributes.attachment_link.readable_text
Download a setup EXE to install Scratch JR to your PC.

By downloading this software, you agree to the terms and conditions of the MIT license.Download (Win) ( About Windows 10 Smart Screen: Since this app is unsigned, you will need to click 'More Info' and 'Run anyway' to install.)

# data[].attributes.attachment_link.title
Scratch JR for Desktop | Open Source Community Port

# data[].attributes.attachment_link.description
Download a setup EXE to install Scratch JR to your PC. By downloading this software, you agree to the terms and conditions of the MIT license.Download (Win) ( About Windows 10 Smart Screen: Since this app is unsigned, you will need to click 'More Info' and 'Run anyway' to install.)

# data[].attributes.attachment_link.description
Code Monster gets kids excited about programming. It is a combination of a game and tutorial where kids experiment with learning to code.

# data[].attributes.attachment_link.readable_text
Lesson resources for teachers

Planning and teaching with the micro:bit

Primary ages 7-11

Complete, editable computing units of work and resources with cross-curricular links for art, science, geography and more, curriculum-linked to England KS2 and Code.org elementary CS Fundamentals.
Search primary lessons
Secondary ages 11-14

Units of work with downloadable, editable resources covering computing fundamentals through to cyber security, cryptography and creative design projects, curriculum-linked to England KS3.
Search secondary lessons

# data[].attributes.attachment_link.description
The BBC micro:bit: the pocket-sized computer transforming digital skills learning.

# data[].attributes.body
Una raccolta di diverse risorse, videotutorial ed esperienze didattiche con Scratch.

# data[].attributes.attachment_link.description
Scratch, coding, pensiero computazionale e informatica in generale, possibilmente comprensibile a tutti... ;)

# data[].attributes.body
Pensiero computazionale e risoluzione dei problemi

di Miles Berry

# data[].attributes.attachment_link.description
October 6 - 21, 2018: a week to celebrate coding in Europe, encouraging citizens to learn more about technology, and connecting communities and organizations who can help you learn coding.

# data[].attributes.attachment_link.provider_name
MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.readable_text
Il coding sta portando i principi base dell'informatica nella scuola e nei giochi per bambini, in modo immediato e coinvolgente. Alessandro Bogliolo, coordinatore di Europe Code Week, si rivolge ai genitori per raccontare in 10 brevissimi video, di un minuto ciascuno, le motivazioni e le caratteristiche principali delle attività di coding che i figli praticano a scuola o per gioco.

# data[].attributes.attachment_link.title
Coding per genitori - MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.description
Il coding sta portando i principi base dell'informatica nella scuola e nei giochi per bambini, in modo immediato e coinvolgente. Alessandro Bogliolo, coordinatore di Europe Code Week, si rivolge ai genitori per raccontare in 10 brevissimi video, di un minuto ciascuno, le motivazioni e le caratteristiche principali delle attività di coding che i figli praticano a scuola o per gioco.

# data[].attributes.body
Scarica MEE https://education.minecraft.net/it-it/get-started/download

# data[].attributes.attachment_link.description
Get Minecraft Education for your classroom. Find out how using this game will take your students' learning to the next level.

# data[].attributes.attachment_link.provider_name
MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.title
Algoritmi quotidiani - MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.description
Questo corso parla soprattutto di cose che sapete già, o che sapete già fare. Ed è qui la sua forza. Infatti parla di algoritmi, che non sono altro che procedimenti costruttivi per ottenere risultati e realizzare idee. Dietro a quasi tutto quello che facciamo c’è un algoritmo.

# data[].attributes.attachment_link.description
CS Unplugged is a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.

# data[].attributes.attachment_link.readable_text
È un linguaggio universale.
E lo insegniamo in tante lingue.

Swift Playgrounds ora è disponibile in 14 lingue: cinese semplificato, cinese tradizionale, coreano, francese, giapponese, inglese, italiano, olandese, portoghese (Brasile), spagnolo (castigliano e dell'America Latina), svedese, tedesco, thailandese e turco. Perché crediamo che tutti e tutte debbano avere la possibilità di imparare a programmare, ovunque si trovano.

# data[].attributes.attachment_link.description
Swift Playgrounds ora è disponibile in 14 lingue: cinese semplificato, cinese tradizionale, coreano, francese, giapponese, inglese, italiano, olandese, portoghese (Brasile), spagnolo (castigliano e dell'America Latina), svedese, tedesco, thailandese e turco. Perché crediamo che tutti e tutte debbano avere la possibilità di imparare a programmare, ovunque si trovano.

# data[].attributes.attachment_link.description
In questa pagina sono raccolte tutte le risorse su BBC micro:bit, tutorial, esperimenti, lezioni. Questa pagina è in costruzione – ultima modifica 26.05.19 Coding a scuola con BBC micro:bit –…

# data[].attributes.headline
The Turtle's Discovery Book! di Jim Muller  

# data[].attributes.subject
The Turtle's Discovery Book! di Jim Muller  

# data[].attributes.attachment_link.readable_text
Turing Tumble ist ein Set, mit dem Spieler/innen mechanische Computer bauen, die von Murmeln angetrieben werden, um Logikrätsel zu lösen. Während sie spielen, lernen sie wichtige Konzepte der Informatik kennen und trainieren Fähigkeiten, die für die Programmierung unerlässlich sind. Es hilft den Schülern und Schülerinnen auch zu lernen, wie Computer auf einer grundlegenden Ebene funktionieren: wie einfache Schalter, die auf clevere Weise miteinander verbunden sind, unglaublich intelligente Dinge leisten können.

Turing Tumble lehrt eine Reihe von Konzepten und Fähigkeiten, die für Computer, Programmierung und digitale Elektronik grundlegend sind. Die Konzepte umfassen Logikgatter, Wahrheitstabellen, Bedingungen und binäre Operationen sowie den Entwurf digitaler Schaltungen.
Was zu beachten ist:

Um die Maschine zu starten, drücke die Starttaste.

Wenn die Maschine einmal gestartet ist, sollst du nicht mehr in das Geschehen eingreifen.

Die Kugeln sollen niemals frei über mehrere Ebenen fallen, auf jeder Ebene ist ein Baustein nötig.

Bestandteile:

Rampen

Kreuzungen

Bits

Fänger

Zahnräder und Zahnrad-Bits

Online Simulator
Zum Turing Tumble gibt es auch einen Online Simulator:
https://jessecrossen.github.io/ttsim

# data[].attributes.attachment_link.description
Turing Tumble ist ein Set, mit dem Spieler/innen mechanische Computer bauen, die von Murmeln angetrieben werden, um Logikrätsel zu lösen. Während sie spielen, lernen sie wichtige Konzepte der Informatik kennen und trainieren Fähigkeiten, die für die Programmierung unerlässlich sind.

# data[].attributes.attachment_link.readable_text
UNESCO: Shaping the Future of AI Education

From September 4 to 7, 2023, three members of the App Inventor community-Dr. Natalie Lao, Pedro Philippi Araújo, and Daeun Yoo-were invited to share their expertise on AI education at the inaugural UNESCO Digital Learning Week in Paris, France. A reboot of UNESCO's Mobile Learning Week, Digital Learning Week is touted as the "new annual flagship event on digital learning and the transformation of education."

# data[].attributes.attachment_link.description
UNESCO: Shaping the Future of AI Education From September 4 to 7, 2023, three members of the App Inventor community-Dr. Natalie Lao, Pedro Philippi Araújo, and Daeun Yoo-were invited to share their expertise on AI education at the inaugural UNESCO Digital Learning Week in Paris, France.

# data[].attributes.body
Programmazione visuale: introduzione a Scratch

di Margo Tinawi

# data[].attributes.attachment_link.readable_text
By Margo Tinawi
Visual programming lets humans describe processes using illustrations or graphics. We usually speak of visual programming as opposed to text-based programming. Visual programming languages (VPLs) are especially well adapted to introduce algorithmic thinking to children (and even adults). With VPLs, there is less to read and no syntax to implement.

In this video, Margo Tinawi, Web Development Teacher at Le Wagon and Co-Founder of Techies Lab asbl (Belgium), will help you discover Scratch, one of the most popular VPL used all over the world. Scratch was developed by the MIT in 2002, and since then a big community has been created around it, where you can find millions of projects to replicate with your students and countless tutorials in several languages.

You do not need to have any coding experience to use Scratch, and you can use it in all the different subjects! For instance, using Scratch as a digital storytelling tool, students can create stories, illustrate a math problem or play an art contest to learn about cultural heritage, while learning coding and computational thinking, and most important, having fun.

Scratch is a free tool, very intuitive and motivating for your students. Have a look at Margo's video to learn how to get started.

Download the video script

Ready to share what you learnt with your students?

Choose one of the lesson plans below and organize an activity with your students.

Do not forget to add your activity to the Code Week Map!

You can easily organize a lesson in your classroom, an open day, or an event at your school. Just find a date and register your activity in the Code Week map. Each activity organizer will get a certificate of participation for their effort.

If you would like to connect with an international group of enthusiastic teachers, join the EU Code Week Facebook group for teachers! To take a step further and collaborate with other schools in your country or across borders - join the Code Week 4 All challenge.

# data[].attributes.attachment_link.description
By Margo Tinawi Visual programming lets humans describe processes using illustrations or graphics. We usually speak of visual programming as opposed to text-based programming. Visual programming languages (VPLs) are especially well adapted to introduce algorithmic thinking to children (and even adults). With VPLs, there is less to read and no syntax to implement.

# data[].attributes.attachment_link.title
Hopscotch is a coding app that kids use to learn to code on iPad and iPhone. The app is primarily designed for coding for kids between the ages of 10-16, where you can make your own game.

# data[].attributes.attachment_link.description
Hopscotch is the #1 coding app for iPad and iPhone. Kids ages of 10-16 use it to learn to program, make their own games, and share it with the world.

# data[].attributes.attachment_link.readable_text
Naír Carrera has been working as an educational expert and external consultant in European projects for the last several years, focusing on digital and innovative education, e-Learning, and teachers´ training. She joined European Schoolnet in 2015, where she works as Education and Engagement Manager of the European Commission´s initiative EU Code Week, where she also contributes to the project strategic planning, monitoring, content creation and community engagement. You can follow her and get in touch here: https://twitter.com/Na_carrera

At European Schoolnet since 2012, he has been working in lots of different projects and initiatives. He has been more and more engaged in awareness raising, education and training projects, especially in the area of digital skills and coding. Currently he proudly supports the scale-up of EU Code Week. You can follow him and get in touch here: https://twitter.com/tommaso_eun

Konstantinos is working at European Schoolnet as part of the Development & Advocacy Team. His main work includes supporting the project proposal writing processes, the coordination of EUN's Future Classroom Lab stakeholders' community, and the coordination of projects such as EU Code Week and IMPACT EdTech.

At European Schoolnet since 2012, he has been working in lots of different projects and initiatives. He has been more and more engaged in awareness raising, education and training projects, especially in the area of digital skills and coding. Currently he proudly supports the scale-up of EU Code Week. You can follow him and get in touch here: https://twitter.com/tommaso_eun

Konstantinos is working at European Schoolnet as part of the Development & Advocacy Team. His main work includes supporting the project proposal writing processes, the coordination of EUN's Future Classroom Lab stakeholders' community, and the coordination of projects such as EU Code Week and IMPACT EdTech.

Eugenia is working at European Schoolnet, contributing to the educational aspects of EU Code Week: supporting the development of training materials for schools, assisting in the website of resources, and helping in the development of the Learning Bits. You can follow her and get in touch here: https://twitter.com/eugenia_eun

Konstantinos is working at European Schoolnet as part of the Development & Advocacy Team. His main work includes supporting the project proposal writing processes, the coordination of EUN's Future Classroom Lab stakeholders' community, and the coordination of projects such as EU Code Week and IMPACT EdTech.

Eugenia is working at European Schoolnet, contributing to the educational aspects of EU Code Week: supporting the development of training materials for schools, assisting in the website of resources, and helping in the development of the Learning Bits. You can follow her and get in touch here: https://twitter.com/eugenia_eun

Disclaimer & Copyright

This course is a rerun of the EU Code Week Deep Dive MOOC that ran in European Schoolnet Academy in 2019. The course has been created and coordinated by Naír Carrera, supported by the Code Week Team at European Schoolnet, and with contribution of Alessandro Bogliolo from the University of Urbino. The course is part of the EU Code Week initiative, supported by the European Commission.

The creation and running of this course have been supported by the European Commission, but it is sole responsibility of the organizers. The European Commission (EC) is not responsible for any use that might be made of the information contained.

All content on this course unless specified otherwise is licensed under a Creative Commons Attribution-Non-commercial-Share Alike 4.0 International License.
Licensing under Creative Commons licenses does not of itself affect the ownership of the copyright. Content from third party websites is subject to their own copyright restrictions; please refer to the site of origin for more information.

Eugenia is working at European Schoolnet, contributing to the educational aspects of EU Code Week: supporting the development of training materials for schools, assisting in the website of resources, and helping in the development of the Learning Bits. You can follow her and get in touch here: https://twitter.com/eugenia_eun

Disclaimer & Copyright

This course is a rerun of the EU Code Week Deep Dive MOOC that ran in European Schoolnet Academy in 2019. The course has been created and coordinated by Naír Carrera, supported by the Code Week Team at European Schoolnet, and with contribution of Alessandro Bogliolo from the University of Urbino. The course is part of the EU Code Week initiative, supported by the European Commission.

The creation and running of this course have been supported by the European Commission, but it is sole responsibility of the organizers. The European Commission (EC) is not responsible for any use that might be made of the information contained.

All content on this course unless specified otherwise is licensed under a Creative Commons Attribution-Non-commercial-Share Alike 4.0 International License.
Licensing under Creative Commons licenses does not of itself affect the ownership of the copyright. Content from third party websites is subject to their own copyright restrictions; please refer to the site of origin for more information.

# data[].attributes.attachment_link.description
This course will provide primary and secondary school teachers with ideas, free training material and resources to help them bring coding and computational thinking into the classroom with ready-made lessons plans. It builds on the Icebreaker MOOC that ran in June.

# data[].attributes.attachment_link.title
Coding in famiglia - Laboratori - Rai Scuola

# data[].attributes.attachment_link.description
Il portale di RAI dedicato alla scuola secondaria di I grado, di II grado, all'Università, ai Docenti e all'istruzione degli adulti. Guida TV e Diretta del canale tv Rai Scuola

# data[].attributes.attachment_link.provider_name
MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.readable_text
Il coding a scuola da 0 a CodeWeek e oltre!

Corso aperto e gratuito per insegnanti, che guida alla partecipazione a Europe Code Week e all'introduzione del coding in classe. Il corso ha la struttura di un nanoMOOC, breve, accreditato e certificato.

# data[].attributes.attachment_link.title
CodeWeek in Your Classroom, Now! - MOOC UniUrb / Didattica Universitaria Aperta

# data[].attributes.attachment_link.description
Il coding a scuola da zero a CodeWeek e oltre! Corso aperto e gratuito per insegnanti, che guida alla partecipazione a Europe Code Week e all'introduzione del coding in classe. Il corso ha la struttura di un nanoMOOC, breve, accreditato e certificato.