Utente:Nuvoletta1/Sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca


Pensiero computazionale

[modifica | modifica wikitesto]

Il pensiero computazionale è un processo mentale per la risoluzione di problemi costituito dalla combinazione di metodi caratteristici e di strumenti intellettuali, entrambi di valore generale.

L'essenza del concetto, spesso rappresentata in maniera immediata da queste scene tratte dal film "Apollo 13" (https://www.youtube.com/watch?v=vNaNxwATJqY) , è che con il pensiero computazionale si definiscono procedure che vengono poi attuate da un esecutore, che opera nell'ambito di un contesto prefissato, per raggiungere degli obiettivi assegnati.

In sostanza si cerca di definire un metodo o una serie di operazioni che servono per risolvere un determinato problema concreto, ma che in realtà sono replicabili per risolvere tutta una "famiglia" di problemi dello stesso tipo. Di solito, questa sequenza di passaggi ed istruzioni che risolve il problema può essere eseguita sia da un essere umano più o meno competente sull'argomento sia da un esecutore meccanico (un "robot" o un automa).La sequenza ordinata di istruzioni e comandi prende il nome di algoritmo.

Il pensiero computazionale è un concetto introdotto dalla Prof.ssa Janette Wing nel 2006: propone il pensiero computazionale come una competenza originale e tipica dell’informatica, utile a tutti.

Lo definisce in maniera immediata così:

«It represents a universally applicable attitude and skill set; everyone, not just computer scientists, would be eager to learn and use." ("Rappresenta un'attitudine universalmente applicabile ed un insieme di competenze; tutti, non solo gli informatici, dovrebbero essere desiderosi di impararlo ed utilizzarlo"). [1]»

Questo ha generato un vivace dibattito internazionale e la rimessa in discussione del curriculum della scuola.

Con il documento sulla buona scuola, il governo ha aperto il dibattito sull’introduzione del pensiero computazionale a scuola anche in Italia. Il dibattito ha prodotto due proposte di curriculum (una per la scuola dell’obbligo e l’altra per le secondarie superiori) e due documenti di raccomandazioni (uno per l’introduzione dell’informatica nel curriculum e l’altro per l’introduzione del pensiero computazionale come competenza trasversale). La legge 107/2015 ("La Buona Scuola" [2]) include il pensiero computazionale tra gli obiettivi educativi della scuola.

Il Piano Nazionale Scuola Digitale[3] ribadisce questa decisione e auspica una ridefinizione della “competenza digitale” e una revisione delle “Indicazioni per il curriculum”.

Nella circolare MIUR 08/10/2015 ([4] ) l’introduzione del pensiero computazionale è così motivata:

«Nel mondo odierno i computer sono dovunque e costituiscono un potente strumento per la comunicazione. Per essere culturalmente preparato a qualunque lavoro uno studente vorrà fare da grande è indispensabile quindi una comprensione dei concetti di base dell’informatica. Esattamente com’è accaduto nel secolo passato per la matematica, la fisica, la biologia e la chimica. Il lato scientifico-culturale dell'informatica, definito anche "pensiero computazionale", aiuta a sviluppare competenze logiche e capacità di risolvere problemi in modo creativo ed efficiente, qualità che sono importanti per tutti i futuri cittadini. "»

Il modo più semplice e divertente di sviluppare il “pensiero computazionale” è attraverso la programmazione in un contesto di gioco.

Un'appropriata educazione al "pensiero computazionale", che vada al di là dell'iniziale alfabetizzazione digitale, è essenziale affinché le nuove generazioni siano in grado di affrontare la società del futuro non da consumatori passivi ed ignari di tecnologie e servizi, ma da soggetti consapevoli di tutti gli aspetti in gioco e come attori attivamente partecipi del loro sviluppo.

Il pensiero computazionale fornisce un quadro potente per studiare l’informatica. La sua applicazione, però, va ben al di là dell’informatica: è il processo di riconoscere aspetti della computazione nel mondo che ci circonda, e nell’applicare strumenti e tecniche informatiche per capire e ragionare su sistemi e processi naturali, sociali e artificiali. Permette di affrontare problemi, di scomporli in pezzi risolvibili e di elaborare gli algoritmi per risolverli: si concentra sul fare un processo di pensiero, non sulla produzione di artefatti o di prove.

Il pensiero computazionale è lo sviluppo di capacità di pensiero che contribuiscono all'apprendimento e alla comprensione.

Consiste nei processi mentali coinvolti nel formulare problemi e le loro soluzioni in modo che le soluzioni possano essere rappresentate in una forma che può essere efficacemente eseguita da un agente di elaborazione dell'informazione. La particolarità è che la soluzione può essere eseguita da un essere umano o da una macchina, o, più in generale, da combinazioni di uomini e macchine.

Elementi caratteristici

[modifica | modifica wikitesto]

Il pensiero computazionale richiede e coinvolge le seguenti abilità:

  • di pensare in maniera algoritmica;
  • di pensare in termini di decomposizione;
  • di pensare in termini di generalizzazione, identificazione e facendo uso di elementi riconoscibili;
  • di pensare in termini di astrazione, scegliendo buoni modelli rappresentativi;
  • di pensare in termini di valutazione.

Il pensiero algoritmico è un modo di arrivare a una soluzione attraverso una chiara definizione dei passaggi. Esso entra in gioco quando problemi analoghi devono essere risolti più e più volte. Essi non devono essere analizzati ex novo ogni volta, è necessaria una soluzione che funzioni ogni volta. Un algoritmo che funzioni deve far sì che se le regole sono eseguite con precisione, da un computer o da una persona, si può trovare il risultato di ogni problema dello stesso tipo. Una volta che ci si è impadroniti dell'algoritmo, questo non deve essere elaborato da zero per ogni nuovo problema. Rappresenta la capacità di pensare in termini di sequenze e regole per risolvere problemi o capire situazioni.

La scomposizione o decomposizione è un modo di pensare ad artefatti in termini delle loro componenti. Le singole parti possono essere comprese, risolte, sviluppate e valutate separatamente. Questo approccio rende più facile risolvere problemi complessi, permette di comprendere meglio situazioni nuove e facilita la progettazione di grandi sistemi.

La generalizzazione è associata al saper identificare schemi ricorrenti, somiglianze, connessioni, e a sfruttare queste caratteristiche. È un modo di risolvere rapidamente problemi nuovi sulla base delle soluzioni di problemi già affrontati, a capitalizzare le precedenti esperienze. È importante porsi domande del tipo: "È simile ad un problema che ho già risolto?", “In cosa è diverso?". Altrettanto importante è imparare a riconoscere schemi ricorrenti sia nei dati che nei processi e/o strategie che vengono utilizzati. Algoritmi che risolvono alcuni problemi specifici possono essere adattati per risolvere tutta una classe di problemi simili.

L’astrazione fa sì che risulti più facile ragionare su problemi o sistemi. L'astrazione è il processo di rendere un artefatto più comprensibile attraverso la rimozione di dettagli superflui alla sua descrizione. Un esempio classico è la cartina della metropolitana: la mappa è una rappresentazione che contiene tutte le informazioni necessarie per pianificare un percorso da una stazione all'altra - e non di più! L'abilità nell’astrazione sta nello scegliere il dettaglio da nascondere in modo che il problema diventi più facile, senza perdere niente di ciò che è importante. Un aspetto fondamentale di questo processo è nella scelta di una buona rappresentazione del sistema. Rappresentazioni diverse rendono più semplice operare su cose diverse.

La valutazione è il processo per garantire che una soluzione, sia essa un algoritmo, un sistema, o un processo, è buona: cioè che sia adatta allo scopo. Varie proprietà delle soluzioni devono essere valutate: Sono corrette? Sono abbastanza veloci? Usano le risorse con parsimonia? Sono facili da utilizzare per le persone? Promuovono un'esperienza adeguata? Bisogna fare compromessi, raramente vi è un'unica soluzione ideale per tutte le situazioni. Nella valutazione usata nel pensiero computazionale c’è una specifica attenzione alla cura del dettaglio. Continuamente vengono sviluppate nuove interfacce di computer per soddisfare le esigenze dei diversi utenti: criteri, euristica ed esigenze degli utenti consentono di effettuare valutazioni in modo sistematico e rigoroso. ([5])

Tecniche associate

[modifica | modifica wikitesto]

Le tecniche associate sono:

  • Riflettere

Riflettere è la capacità di esprimere giudizi (di valutare) che sono leali e onesti in situazioni complesse che non sono prive di valore. Nell’informatica questa valutazione si basa sui criteri utilizzati per specificare il prodotto, sull’euristica (o regole empiriche) e sulle esigenze dell'utente che indirizzano i giudizi.

  • Programmare (coding)

Un elemento essenziale dello sviluppo di qualsiasi sistema di computer è tradurre il progetto in forma di codice e valutarlo per garantirne il corretto funzionamento in tutte le condizioni previste. Il debugging è l'applicazione sistematica di analisi e valutazione utilizzando abilità quali test, tracciamento, e il pensiero logico per prevedere e verificare i risultati.

  • Progettare

Progettare significa definire la struttura, l'aspetto e la funzionalità degli artefatti. Comporta la creazione di rappresentazioni del progetto, leggibili anche da altre persone.  Questo implica ulteriori attività di scomposizione, astrazione e progettazione di algoritmi.

  • Analizzare

Analizzare coinvolge dividere in più parti (scomposizione), rimuovere complessità inutili (astrazione), individuare processi (algoritmi) e ricercare punti in comune o schemi ricorrenti (generalizzazione). Si tratta di utilizzare il pensiero logico sia per comprendere meglio le cose sia per valutarle come idonee allo scopo. 

  • Applicare

Applicare è l'adozione di soluzioni preesistenti per soddisfare le esigenze di un altro contesto. È una generalizzazione - l'identificazione di schemi ricorrenti, somiglianze e connessioni – che utilizza le caratteristiche della struttura o di una funzione degli artefatti.

Materiali per docenti

[modifica | modifica wikitesto]

https://www.researchgate.net/publication/327302966_Computational_thinking_-_a_guide_for_teachers

http://pensierocomputazionale.itd.cnr.it/pluginfile.php/957/mod_page/content/7/Guida%20al%20Pensiero%20Computazionale.pdf

https://www.microsoft.com/en-us/research/wp-content/uploads/2012/08/Jeannette_Wing.pdf