Aggiornata la bibliografia ragionata su coding e pensiero computazionale

Ho aggiornato la bibliografia ragionata sul coding, soprattutto per quanto riguarda la sezione (4) sul pensiero computazionale. Può essere scaricata qui (PDF 154 KB). La cosa può interessare gli studenti di Scienze della Formazione Primaria ( Università di Firenze), in particolare coloro che mi hanno chiesto di seguirli nella tesi ma non solo, gli studenti di Innovazione Educativa e Apprendimento Permanente (IUL), la comunità che orbita intorno a codingmonamour.org, e in generale coloro che sono interessati a questi argomenti. Il documento è largamente imperfetto ma ci sto lavorando continuativamente, esplorando la letteratura.

Qui sotto riporto l’estratto della parte che è cambiata sostanzialmente. È la sezione 4, dedicata al pensiero computazionale. Lascio la numerazione del documento originale.


4.1 Sherin (2001) – A comparison of programming languages and algebraic notation as expressive languages for physics

Questo non si presenta esplicitamente come un lavoro sul pensiero computazionale ma in realtà dice molto a riguardo. Un articolo di grande interesse, sia sperimentale che teorico. Sessanta pagine, 57 voci bibliografiche, spessore tecnico e pedagogico. Lo studio è indirizzato all’insegnamento della fisica. In tale contesto è naturale occuparsi di un tema del genere. Da un mezzo secolo a questa parte settori sempre più ampi della scienza hanno visto la luce grazie a nuove tecniche computazionali: Applied computer science is now playing the role which mathematics did from the seventeenth through the twentieth centuries: providing an orderly, formal framework and exploratory apparatus for other sciences. (Djorgovski, 2005). A partire dal Seicento fino alla prima metà del Novecento l’analisi matematica ha rappresentato il sistema di rappresentazione fondamentale di tutta la scienza, sviluppandosi di pari passo e in modo dialettico con le varie e rapidamente crescenti esigenze delle scienze classiche, fisica e chimica in primis. Poi, già nel primo Novecento, la scienza si è dovuta occupare di sistemi sempre più complessi, difficilmente descrivibili con il linguaggio dell’analisi matematica. All’inizio i sistemi complessi e i fenomeni che presentavano caratteristiche intrattabili, se non caotiche, venivano considerati “eccezioni intrattabili”. Tuttavia presto si è dovuto riconoscere che invece tali sistemi rappresentavano la norma mentre erano proprio i casi che potevano essere affrontati con il linguaggio matematico classico ad essere le eccezioni. È in questo stato di cose che sono apparsi i computer digitali, che con un processo dirompente, dall’essere immaginati da menti visionarie (Turing, von Neumann) negli anni 40-50 sono diventati i protagonisti del mondo scientifico e commerciale già a partire dagli anni 60. Da lì il ruolo del digital computing è letteralmente esploso, generando campi di ricerca del tutto nuovi in tutte le scienze di base. Ma il ruolo del “pensiero computazionale” che si è sviluppato intorno al digital computing non deve essere visto in concorrenza alla matematica classica, bensì deve essere visto come un ulteriore e possente arricchimento dell’armamentario matematico a disposizione dei ricercatori. Amplissime branche della scienza odierna si sostengono oggi esclusivamente sul digital computing. Esemplari sono tante storie della mia generazione. Io durante i quattro anni di studio della fisica, fra il 1974 e il 1978, non avevo mai sentito parlare di niente che avesse a che vedere con il mondo digitale. Se fosse stato per i 18 insegnamenti universitari non avrei avuto idea di cosa ci fosse dentro a un computer e non avrei avuto idea di cosa fosse un bit. Ma già lavorando alla tesi entrai in contatto con queste nuove, e assai costose a quei tempi, macchine digitali. Non solo, per arrivare in fondo al progetto di tesi, mi ritrovai a studiare e applicare un metodo dei calcolo di parametri fisici che faceva ricorso alla possibilità di simulare fenomeni casuali con i computer digitali, il cosiddetto metodo Monte Carlo. Sherin nel suo articolo affianca – non contrappone – la programming-physics all’algebra-physics. Nelle note precedenti ho parlato di analisi matematica perché questo è lo strumento più potente e generale; Sherin, occupandosi di fisica a livello di scuola secondaria superiore, può fare riferimento più semplicemente alla rappresentazione algebrica della fisica. L’impianto teorico del suo lavoro si fonda sul ruolo giocato dalle rappresentazioni strumentali e simboliche che supportano la conoscenza nella formazione stessa di tale conoscenza – concetti a cui abbiamo accennato commentando il lavoro di Weintrop e Wilensky (2015). L’autore documenta i propri argomenti con alcuni esercizi di fisica presentati sia nella forma algebrica convenzionale che nella forma computazionale. Per quest’ultima riferisce di esperienze svolte con l’ambiente Boxer, sviluppato da Sherin stesso e di Sessa, sulla base di Logo. Con questo lavoro l’autore sostiene la tesi che sistemi di rappresentazione diversi influiscono in modo differente sui meccanismi del pensiero e possono indurre un diverso tipo di comprensione dei medesimi fenomeni. In capo a un’analisi minuziosa di esperimenti didattici, condotti su gruppi di studenti sia mediante l’algebra-physics che la programming-physics, giunge alla conclusione per cui con la conoscenza algebrica si tende a enfatizzare gli equilibri mentre con quella computazionale si è portati a comprendere meglio gli aspetti dinamici. È estremamente interessante la prospettiva nella quale Sherin pone questa conclusione. Non si tratta, dice, di giudicare l’effetto di un metodo o dell’altro secondo una singola metrica e di confrontarli sulla base di tale metrica – ovvero non si tratta di stabilire quale sia “meglio” – bensì di accettare, comprendere e utilizzare proficuamente il fatto che il nuovo paradigma offra una mutata visione della conoscenza degli stessi fenomeni e di come, in ultima analisi, la cosa più sensata da fare sia quella di affiancare questa nuova forma di conoscenza a quelle preesistenti. E non si può evitare di osservare che la nuova prospettiva computazionale – qui nel senso della programming-physics di Sherin, possa essere di grande giovamento per la comprensione dei fenomeni fisici. Infatti lo strumento matematico costituisce indubbiamente il fondamento imprescindibile delle scienze di base – il linguaggio che consente di porre domande alla natura, per dirla con Galileo – ma il processo con il quale un giovane giunge a creare senso compiuto a partire da un linguaggio formale è molto complesso e faticoso. Pochi studenti arrivano ad apprezzare il formalismo matematico come uno strumento utile per comprendere e esprimere pensieri sul mondo fisico o altro. Per la grande maggioranza i formalismi matematici rappresentano al più una quantità di regole da applicare a memoria negli specifici contesti creati dalla scuola: qual era la formula da usare qui…? A questo proposito è interessante ricordare un noto articolo scritto da Enrico Persico (Persico, 1956), maestro di Enrico Fermi, dove ci si domandava cosa non andasse con quella studentessa che procedeva come una locomotiva quando sciorinava le equazioni di Maxwell alla lavagna ma che non sapeva dire perché, con quel certo valore di corrente, una lampadina si sarebbe fulminata – non a caso Sherin rileva esattamente lo stesso problema a pag. 43 del suo lavoro, e proprio a proposito delle equazioni di Maxwell. La questione della comprensione dei fenomeni attraverso il linguaggio matematico non è, e non da ora, semplice. È esattamente qui che il “nuovo” approccio computazionale, nel quale peraltro vengono declinati settori sempre più ampi della fisica e delle altre scienze, può venire in aiuto. Infatti, l’approccio computazionale induce ad analizzare e scomporre i fenomeni fisici nella dimensione temporale, enfatizzandone così la natura dinamica, spesso più accessibile all’intuizione. Non solo, l’analisi computazionale costringe ad utilizzare precisi valori numerici da assegnare ai parametri fisici coinvolti e questa è una pratica che induce più facilmente gli studenti a ricavare un senso da ciò che studiano.

4.2 Weintrop et al (2016) – Defining Computational Thinking for Mathematics and Science Classrooms

Il lavoro di Weintrop et al generalizza quello di Sherin. La formulazione del pensiero computazionale – perché di questo si trattava, in sostanza – di Sherin è estremamente interessante perché mostra come sia scaturito spontaneamente nel corso dell’evoluzione della disciplina: oggi la fisica è pensata e creata sia mediante gli strumenti matematici tradizionali che con quelli computazionali. Il fenomeno concerne anche la matematica, dove nel corso del ‘900 sono nate intere nuove branche che trovano la ragione della propria esistenza solamente per il fatto che si sono resi disponibili computer, reti di collegamento e sistemi di memorizzazione sempre più pervasivi e potenti. Ad esempio, a fianco dell’analisi matematica si è evoluta molto l’analisi numerica e la maggior parte degli sviluppi di questa sono funzionali alla risoluzione di problemi caratterizzati da grandissime quantità di dati numerici, che sono trattabili solo attraverso macchine di calcolo. È in queste discipline che il pensiero computazionale si è formato, già a partire dalla metà del secolo scorso. Ma quasi immediatamente tutti gli altri campi scientifici hanno visto la proliferazione di metodi numerici. E, successivamente, non solo scientifici, perché oggi l’impatto degli approcci computazionali investe settori come quello della linguistica e delle scienze sociali in generale, specialmente in questo caso attraverso il trattamento dei big data. In questa luce, è difficile pensare che la scuola, nel suo insieme, possa rimanere indifferente a tutto questo.

Weintrop et al affrontano il tema del pensiero computazionale nell’ambito delle discipline scientifiche alla larga – le cosiddette discipline STEM: Science, Technology, Engineering, Mathemathics. Gli autori, sulla base di una ricca messe di riferimenti bibliografici, documentano come le tecniche computazionali abbiano avuto da mezzo secolo a questa parte un ruolo crescente in tutti i campi della scienza. Successivamente descrivono un lavoro sistematico di ampio respiro con il quale hanno cercato di definire una tassonomia di riferimento del pensiero computazionale. Concludono con alcuni esempi di attività in classe esemplificative dell’applicazione di alcune delle categorie definite in tale tassonomia.

Quindi quello di Weintrop et al rappresenta uno di quei lavori con i quali si cerca, ancora oggi, di definire l’identità del pensiero computazionale, quando lo si voglia estendere al di là di quei contesti scientifici ben circoscritti nei quali è invece naturalmente e perfettamente definito. Un lavoro esteso: oltre 20 pagine sostenute da 147 voci bibliografiche con l’obiettivo di produrre una definizione del pensiero computazionale per la matematica e le scienze nella forma di una tassonomia composta da quattro tipi di pratiche: manipolazione di dati, realizzazione di modelli e simulazioni, soluzione di problemi computazionali, pensiero sistemico. Il lavoro si inquadra nella tendenza generale tesa a introdurre il pensiero computazionale nell’insegnamento di tutte le discipline scientifiche nella scuola secondaria.

Il processo con cui gli autori hanno costruito la loro tassonomia è articolato in quattro fasi. Nella prima fase gli autori hanno condotto un’ampia ricognizione della letteratura in materia di pensiero computazionale in ambito scientifico, giungendo a definire un primo insieme di dieci abilità fondamentali di pensiero computazionale. Successivamente, da questo materiale hanno estratto una varietà di pratiche didattiche destinate all’introduzione del pensiero computazionale nell’insegnamento della matematica e delle scienze; in questa fase, due revisori indipendenti, hanno analizzato 208 aspetti diversi desunti da 34 diverse attività, selezionandone 45. La tassonomia così ottenuta è stata proposta a 16 insegnanti di matematica e scienze nell’ambito di un workshop estivo per progettare nuove attività nelle proprie classi. Sulla base dei feedback ricevuti da questi insegnanti, oltre quelli ottenuti da altri esperti di curricula nelle discipline STEM, la tassonomia è stata ulteriormente sintetizzata in 22 pratiche, suddivise nelle quattro summenzionate categorie. Nel corso dell’intero processo la messe di feedback sulla tassonomia che andava formandosi è stata ulteriormente arricchita mediante una serie di interviste a ricercatori dell’accademia, dell’industria e a studenti nell’ambito STEM.

Gli autori passano quindi a discutere in dettaglio le caratteristiche delle pratiche emerse dal punto di vista dei vari portatori di interesse – studenti, insegnanti, progettisti di curricula, amministratori – chiudendo con l’esposizione di tre di tali pratiche situate in contesti reali. Nel corso di tale sezione finale emergono alcuni concetti interessanti. La pratica di lavorare con modelli computazionali ha un valore didattico rilevante perché, in ultima analisi, la scienza non spiega nulla e a fatica interpreta i fenomeni, più che altro formula modelli (von Neumann, 1955, p. 628). Oggi la computer science applicata gioca lo stesso ruolo che era della matematica fra il VII e XX secolo, fornendo il contesto formale ordinato e lo strumentario per l’esplorazione necessari alle altre scienze (Djorgovski, 2005). La ricerca ha ormai appurato che mediante pratiche di problem solving computazionale, sviluppo di algoritmi e astrazioni computazionali gli studenti possono sviluppare una conoscenza profonda dei fenomeni e dei fatti matematici. Pur non dovendosi ovviamente aspettare che tutti gli studenti diventino esperti di programmazione, una preparazione base di programmazione è una componente importante nell’indagine scientifica del XXI secolo. La capacità di pensare in modo sistemico è un atteggiamento mentale importante non solo per coloro che si dedicheranno a professioni tecnico-scientifiche ma anche per formare la cultura scientifica (ancora largamente assente) di qualsiasi cittadino. I concetti caratterizzanti il pensiero sistemico, come retroazione, emergenza, stock e flussi, sono trasversali e li possiamo ritrovare in campi assai diversi come la fisica, l’economia e la storia.

4.3 Kalelioğlu et al (2016) – A Framework for Computational Thinking Based on a Systematic Research Review

Anche questo articolo è espressione di quel pensiero computazionale che insegue la propria identità, ma in maniera meno mirata rispetto al lavoro di Weintrop et al, estendo l’indagine al di là delle discipline STEM.

Si tratta di una review della letteratura sul tema del pensiero computazionale aggiornata al 2015. I tre ricercatori autori dell’articolo, F. Kalelioğlu, Y. Gülbahar e V. Kukul, si sono suddivisi il compito di analizzare qualitativamente i 125 lavori, scremati in base alla pertinenza al tema del pensiero computazionale a partire da un totale di 274 reperiti nelle librerie digitali Ebscohost, ScienceDirect, Web of Science, Springer, IEEE Digital Library e ACM Digital Library. La maggior parte di tali contributi sono dedicati a attività che promuovano il pensiero computazionale nei curricula, il contesto prevalente è quello della scuola primaria e secondaria. Game-based learning e costruttivismo sono i riferimenti teorici principali.

L’obiettivo degli autori è quello di definire un “framework” di riferimento che faciliti l’innesto di pratiche relative al pensiero computazionale nei curricula. Qui di seguito riporto il framework risultante.

Identificazione del problema Raccolta, rappresentazione e analisi dei dati Generazione, selezione e pianificazione delle soluzioni Implementazioni delle soluzioni Verifica delle soluzioni e aggiornamenti successivi
Astrazione Raccolta Ragionamento matematico Automazione Testing
Decomposizione Analisi Costruzione di algoritmi e procedure Simulazionioni e creazione di modelli Debugging
Rilevazione di schemi, modelli Parallelizzazione Generalizzazione
Concettualizzazione
Rappresentazione

Confrontando questo framework con la tassonomia di Weintrop et al, seppur riferita alle sole discipline STEM, si vede come vi sia una certa convergenza ma vi siano anche delle differenze, a testimonianza della fluidità del concetto. Kalelioğlu et al rilevano come la letteratura sull’argomento non sia ancora matura, anche per la necessità di estendere il concetto di pensiero computazionale ad altri campi, al di là delle discipline STEM. È una letteratura che risale a non più di dieci anni fa, ammontando, dicono gli autori, a circa 500 contributi – un valore molto piccolo rispetto a settori più consolidati. Di conseguenza manca sia di supporti teorici adeguati che di sostanziali riscontri sperimentali.

Sia il lavoro di Kalelioğlu che quello di Weintrop aiutano a chiarire molti aspetti del pensiero computazionale ma non consentono di delimitarne esattamente il dominio nell’ambito dell’istruzione, questione che rimane ancora sostanzialmente aperta.

4.4 Bocconi et al (2016) – Developing computational thinking in compulsory education

Quello di Bocconi et al non è un articolo scientifico ma un documento programmatico della Commissione Europea dedicato allo sviluppo del pensiero computazionale nella formazione obbligatoria. Lo includo perché l’ho visto citare in vari gruppi di discussione. È un buon documento per avere un’idea dello stato dell’arte, che gli autori hanno scritto a partire dallo studio delle azioni in corso presso i ministeri dell’istruzione di tutto il mondo, della letteratura scientifica e da una serie di interviste a esperti del settore.

Leggendo la descrizione degli autori del concetto di pensiero computazionale si percepisce come oggi il mondo corra ad una velocità eccessiva rispetto alla nostra capacità di metabolizzare il nuovo che incalza. Il caso del pensiero computazionale è emblematico. Mentre da un lato i Ministeri dell’Istruzione di tutti i paesi, e la medesima Unione Europea, sentono la cogenza della questione sino al punto di intraprendere azioni concrete, dall’altro, ancora oggi, non esiste un consenso su cosa si debba intendere di fatto per pensiero computazionale. Per la loro analisi gli autori fanno riferimento a cinque review di autori di riferimento: Barr e Stephenson (2011), Lee et al (2011), Grover e Pea (2013), Selby e Woollard (2013), Angeli et al (2016). Sulla base di queste e delle ultime proposte di Jeannette Wing, colei che per prima ha introdotto, nel 2001, questo termine, propongono la seguente definizione: il pensiero computazionale descrive i processi del pensiero connessi con la formulazione di un problema in maniera tale da poter individuare una soluzione computazionale che richieda astrazione, pensiero algoritmico, automazione, decomposizione, debugging e generalizzazione. Questi ultimi concetti sono gli aspetti che secondo la maggior parte degli studiosi caratterizzano l’idea di pensiero computazionale. Anche qui vediamo una discreta ma non perfetta sovrapposizione con le definizioni proposte nei due articoli precedenti.

In particolare, intersecando i cinque articoli citati da Bocconi et al vediamo, che tutti includono il concetto di astrazione e 4 su 5 includono pensiero algoritmico e decomposizione. Fra i vari temi dibattuti emergono: relazione con l’alfabetizzazione digitale, ruolo del coding, modalità di inclusione del pensiero computazionale nei curricula, pratiche di insegnamento, valutazione degli studenti, preparazione degli insegnanti e inclusione di formazione non formale.

Gli autori rilevano come nella letteratura l’alfabetizzazione digitale venga prevalentemente discussa in chiave critica e come l’interesse verso il pensiero computazionale derivi proprio dall’insufficienza di un insegnamento che si è troppo concentrato sull’impiego superficiale di strumenti specifici. Con l’introduzione del pensiero computazionale si intende condurre i giovani verso la conoscenza della scienza e delle idee che sottendono le nuove tecnologie.

Per quanto riguarda il coding, si rivela come questo venga spesso erroneamente identificato con il pensiero computazionale. Invece quest’ultimo è un concetto molto più generale. Con il coding si intende l’attività di comporre una serie di istruzioni in un linguaggio di programmazione per eseguire determinate operazioni mediante un computer, localmente o attraverso un apposito servizio Web. Il coding è ovviamente un’attività necessaria per creare un software ma non è sufficiente. La creazione di un software comporta attività di analisi, progettazione e infine implementazione. Quest’ultima comprende effettivamente il coding ma anche il testing e il debugging. In realtà per molti autori il pensiero computazionale è un concetto più generale, che si estende al di là del dominio specifico della computer science. Ma anche questa visione allargata è ancora lungi dall’essere condivisa. Su questo tema cito ancora il lavoro di Sherin (2001) e rimando alle mie precedenti considerazioni, in particolare all’opportunità di non confrontare diversi paradigmi sulla base di una qualche metrica unidimensionale. Inclusione quindi e non dicotomia: si tratta di porre la questione in una prospettiva inclusiva e non di ricercare una dicotomia.

Riguardo all’inclusione nei curricula scolastici si distinguono due orizzonti. Uno più ampio che prevede di attivare nuove modalità di pensiero negli scolari, sviluppare la capacità di esprimersi con una varietà di media, risolvere problemi in contesti reali. L’altro invece è più orientato a concepire il pensiero computazionale come un mezzo per favorire la crescita economica e potenziare l’occupazione nel settore dell’Information and Computing Technology. L’impegno da parte delle istituzioni è sostenuto nella maggior parte dei Paesi. I Paesi che hanno intrapreso o stanno intraprendendo azioni concrete per lo sviluppo del pensiero logico in questo contesto sono Austria,, Svizzera, Cecoslovacchia, Danimarca, Finlandia, Francia, Gran Bretagna, Ungheria, Italia, Lituania, Polonia, Portogallo, Turchia. Sette di questi enfatizzano lo sviluppo del coding: Finlandia, Francia, Lituania, polonia, Svizzera e Turchia. L’attenzione dei Ministeri per l’Istruzione nei vari Paesi si focalizza, in generale, sulla promozione dei seguenti aspetti:

  1. capacità di pensiero logico
  2. capacità di problem solving
  3. percorsi verso la computer science
  4. coding
  5. occupazione nel settore dell’Information and Computing Technology.

Per quanto concerne gli aspetti pedagogici, gli autori evidenziano i metodi tipo “computer science unplugged” (attività di natura computazionale effettuate senza computer o simili), le simulazioni computerizzate di fenomeni fisici (complesse per le conoscenze matematiche avanzate che quasi sempre richiedono), modelli computerizzati (affini alle simulazioni ma molto più semplici, e quindi fattibili – vedi Weintrop et al, 2016, per questioni inerenti a simulazioni e modelli) e le questioni di inclusività, ivi comprese le questioni di genere – vedi le svariate iniziative e i movimenti per favorire il coinvolgimento femminile nel campo della computer science.

Se il concetto di pensiero computazionale non è ancora universalmente definito altrettanto si può dire per la questione della valutazione. Fra le pratiche citate troviamo: portfolio degli studenti, discussione di eventuali artefatti prodotti dagli studenti – grafici, multimediali, software – e prove su scenari dati – ad esempio progetti software da studiare, descrivere, estendere, correggere e remixare. A questo proposito, potremmo citare l’esperienza del nostro Laboratorio di Tecnologie Didattiche presso il CdS in Scienze della Formazione Primaria. Qui la valutazione si basa su un diario delle attività effettuate durante l’insegnamento, la verifica di almeno un codice prodotto autonomamente con LibreLogo (il logo inserito da ciascun studente nel diario), una discussione di tali artefatti all’esame orale, con eventuale prova di coding al computer.

Gli autori rilevano inoltre come probabilmente il problema maggiore in questa fase storica sia costituito dalla formazione degli insegnanti, che nella grande maggioranza dei casi non ha mai ricevuto una formazione intorno a questi temi nel corso dei propri studi. In tutti i Paesi si stanno cercando soluzioni ma le difficoltà sono rilevanti. Non è semplice formare masse così ampie di persone e in così breve tempo, senza nemmeno avere del tutto chiari i confini delle nozioni e delle competenze occorrenti e le modalità di intervento. Da alcune esperienze in corso pare che gli approcci più efficaci siano quelli dove gli eventi didattici vis-à-vis sono accompagnati e sostenuti da una comunità di discussione online.

Infine, in questo contesto, non si può non menzionare la disponibilità delle risorse di studio disponibili in Internet, di tipo informale. Ad esempio usare Scratch implica già l’uscita dalla classe, per certi versi, perché si tratta di un ambiente con una duplice valenza, tecnica e social. Ma sono veramente molte e diversificate le risorse disponibili in rete, quali code.org o csunplugged.org, giusto per fare due esempi fra i più noti. Da notare che csunplugged.org non è una novità in quanto risale agli anni ’90.

In conclusione, secondo gli autori il mondo della formazione si trova in una fase di rapidi e inevitabili cambiamenti. Numerose iniziative intorno ai temi del pensiero computazionale stanno emergendo in tutto il mondo, sia istituzionali che spontanee. In tale contesto pare scontato che il pensiero computazionale rientri a pieno titolo nei curricula dell’insegnamento formale. Si ritiene di fondamentale importanza che vengano presi provvedimenti adeguati per l’aggiornamento professionale degli insegnanti intorno a quella che chiamano Computational Thinking Pedagogy.


Le voci relative alla sezione 4 discusse nella presente bibliografia ragionata

Non tutti i file relativi agli articoli citati sono disponibili al pubblico. Chi desiderasse accedere ad uno di questi articoli me li può richiedere in via privata: arf(AT)unifi(DOT)it.

S. Bocconi, A. Chioccariello, G. Dettori, A. Ferrari, K. Engelhardt (2016), Developing computational thinking in compulsory education – ED. P. Kampylis e Y. Punie, Science for Policy report by the Joint Research Centre (JRC), the European Commission’sscience and knowledge service.

F. Kalelioğlu, Y. Gülbahar, V. Kukul (2016), A Framework for Computational Thinking Based on a Systematic Research ReviewBaltic J. Modern Computing, Vol. 4, No. 3, 583-596.

B.L. Sherin (2001), A comparison of programming languages and algebraic notation as expressive languages for physics, Int. Journal of Computers for Mathematical Learning, 6: 1-61.

D. Weintrop, E. Beheshti, M. Horn, K. Orton, K. Jona, L. Trouille, U. Wilensky (2016) Defining Computational Thinking for Mathematics and Science Classrooms, J Sci Educ Technol, 25:127–147


Riferimenti bibliografici relativi alla sezione 4 non discussi nella bibliografia ragionata

Non tutti i file relativi agli articoli citati sono disponibili al pubblico. Chi desiderasse accedere ad uno di questi articoli me li può richiedere in via privata: arf(AT)unifi(DOT)it.

Djorgovski (2005), Virtual Astronomy, Information Technology and the new Scientific Metodology, arXiv.org: https://arxiv.org/abs/astro-ph/0504651

E. Persico (1956), Che cos’è che non va?, Il Giornale di Fisica, 1, 64-67.

von Neumann J (1955) Method in the physical sciences. In: Bro´dy F, Va´mos T (eds) The Neumann compendium: world series in 20th century mathematics, vol 1. World Scientific Publishing Co, Singapore.

2 pensieri riguardo “Aggiornata la bibliografia ragionata su coding e pensiero computazionale”

Lascia un commento