Computational thinking - Il pensiero computazionale

20
COMPUTATIONAL THINKING IL PENSIERO COMPUTAZIONALE

Transcript of Computational thinking - Il pensiero computazionale

Page 1: Computational thinking - Il pensiero computazionale

COMPUTATIONAL THINKINGIL PENSIERO COMPUTAZIONALE

Page 2: Computational thinking - Il pensiero computazionale

OKAY, HOUSTON, WE'VE HAD A PROBLEM HERE

Tratto dal fim «Apollo 13»

Page 3: Computational thinking - Il pensiero computazionale

COSA È IL PENSIERO COMPUTAZIONALE

• 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.• 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.

Page 4: Computational thinking - Il pensiero computazionale

I METODI CARATTERISTICI INCLUDONO

• analizzare e organizzare i dati del problema in base a criteri logici;• rappresentare i dati del problema tramite opportune astrazioni;• formulare il problema in un formato che ci permette di usare un “sistema di calcolo”

(nel senso più ampio del termine, ovvero una macchina, un essere umano, o una rete di umani e macchine) per risolverlo;

• automatizzare la risoluzione del problema definendo una soluzione algoritmica, consistente in una sequenza accuratamente descritta di passi, ognuno dei quali appartenente ad un catalogo ben definito di operazioni di base;

• identificare, analizzare, implementare e verificare le possibili soluzioni con un’efficace ed efficiente combinazione di passi e risorse (avendo come obiettivo la ricerca della soluzione migliore secondo tali criteri);

• generalizzare il processo di risoluzione del problema per poterlo trasferire ad un ampio spettro di altri problemi.

Page 5: Computational thinking - Il pensiero computazionale

GLI STRUMENTI INTELLETTUALI INCLUDONO• confidenza nel trattare la complessità (dal momento che i sistemi software

raggiungono normalmente un grado di complessità superiore a quello che viene abitualmente trattato in altri campi dell’ingegneria);

• ostinazione nel lavorare con problemi difficili;• tolleranza all’ambiguità (da riconciliare con il necessario rigore che assicuri la

correttezza della soluzione);• abilità nel trattare con problemi definiti in modo incompleto;• abilità nel trattare con aspetti sia umani che tecnologici, in quanto la dimensione

umana (definizione dei requisiti, interfacce utente, formazione, ...) è essenziale per il successo di qualunque sistema informatico;

• capacità di comunicare e lavorare con gli altri per il raggiungimento di una meta comune o di una soluzione condivisa.

Page 6: Computational thinking - Il pensiero computazionale

I METODI CARATTERISTICI

• Questi metodi sono importanti per tutti, non solo perché sono direttamente applicati nei calcolatori (computer), nelle reti di comunicazione, nei sistemi e nelle applicazioni software ma perché sono strumenti concettuali per affrontare molti tipi di problemi in diverse discipline.• Anche per questi strumenti i benefici si estendono al di là

della disciplina informatica.

Page 7: Computational thinking - Il pensiero computazionale

UNA NUOVA COMPETENZA

• Il pensiero computazionale è una competenza imprescindibile perché costituisce un metodo di ragionamento e di risoluzione dei problemi che si applica con successo anche al di fuori della disciplina "informatica" intesa come tecnologia.• Va considerata come quarta abilità di base per ogni individuo,

a fianco di leggere, scrivere e calcolare.

Page 8: Computational thinking - Il pensiero computazionale

ORIGINE DEL PENSIERO COMPUTAZIONALE• Il concetto di “pensiero computazionale” è stato introdotto

per la prima volta da Seymour Papert nel 1996 parlando di LOGO, il linguaggio di programmazione da lui sviluppato al MIT per insegnare la programmazione ai bambini.• Papert, colui che per primo coniò il termine “computational

thinking” è il padre di una teoria dell’apprendimento nota come costruzionismo che sostiene che la mente umana per poter imparare bene ha bisogno di creare artefatti, ovvero rappresentazioni reali del mondo con cui interagisce.• E il computer, secondo Papert, è un ottimo strumento

didattico poiché, grazie alla programmazione, può creare questi artefatti.

Page 9: Computational thinking - Il pensiero computazionale

PERCHÉ È IMPORTANTE IL PENSIERO COMPUTAZIONALE?• Per riuscire bene nel proprio futuro professionale i giovani dovranno

“imparare a imparare” e non limitarsi a fornire risposte preconfezionate: in questa direzione si muovono le raccomandazioni dell’Unione Europea in materia di istruzione che sono state recepite dal MIUR anche con l’introduzione della programmazione nelle scuole a partire dalla primaria. • Perché così come leggere, scrivere e contare sono abilità che è

importante imparare fin da bambini anche il pensiero computazionale deve essere appreso ed esercitato fin dai primi anni di scuola.

Page 10: Computational thinking - Il pensiero computazionale

I CONCETTI FONDAMENTALI

• Sequenza: un’attività può essere espressa attraverso una serie consecutiva di singoli step o istruzioni.• Selezione: è la possibilità di prendere decisioni sulla base del verificarsi di

determinate situazioni.• Iterazione o ciclo: è un meccanismo per eseguire più volte la medesima

sequenza in maniera iterativa.

Page 11: Computational thinking - Il pensiero computazionale

I CONCETTI FONDAMENTALI

• Evento: il verificarsi di un’azione causa lo scatenarsi di un’altra azione.• Parallelismo: significa eseguire sequenze di istruzioni differenti allo

stesso tempo.• Dati: sono valori che possono essere salvati, recuperati e modificati

durante l’esecuzione di un programma.• Operatore: fornisce supporto per la manipolazione di numeri e

stringhe di caratteri.

Page 12: Computational thinking - Il pensiero computazionale

PRATICHE DI PENSIERO COMPUTAZIONALE:• Essere incrementali e iterativi: la progettazione è un processo adattativo dove la

pianificazione può cambiare man mano che ci si avvicina alla soluzione del problema.• Testare e debuggare: individuare problemi ed errori e correggerli.• Riusare (pattern recognition): riconoscere come alcune parti di soluzione possono

essere riusate nella stessa o riapplicate a problemi simili.• Remixare (copiare per migliorare): grazie alla rete e all’ampia disponibilità di lavori di

altri autori, è possibile prendere spunto da idee e codice per costruire cose più complesse di quelle che si sarebbero potute realizzare per conto proprio, dando un’ulteriore spinta alla propria creatività.

• Astrarre: è il processo di riduzione della complessità, per far emergere l’idea principale mantenendo solo alcuni aspetti e tralasciandone altri.

• Modularizzare (scomporre): è il processo che consente di scomporre un problema complesso in problemi più semplici, per cui risolvendo i problemi più semplici si risolve anche il problema complesso.

Page 13: Computational thinking - Il pensiero computazionale

APPLICARE ALLA DIDATTICA LE 4R DELL’ECOLOGIA

Verso la sostenibi

lità didattica

RisparmioNon rifare ciò che già esiste, ma migliorarlo

RiutilizzoRiutilizzare le risorse in

rete.

RiadattamentoIndividuare risorse

modificabili per rispondere ai diversi

stili di apprendimento

RicicloRiutilizziamo materiali

presenti in altri contesti, rigenerandoli

per nuovi percorsi

Page 14: Computational thinking - Il pensiero computazionale

ATTITUDINI DI PENSIERO COMPUTAZIONALE:• Esprimere se stessi: una persona dotata di pensiero computazionale

vede nella tecnologia uno strumento per esprimere se stessi, la propria creatività e dire qualcosa di sé agli altri.• Essere connessi: saper comunicare e lavorare con gli altri per

raggiungere un obiettivo o una soluzione condivisa.• Porre domande: saper sviluppare una mente vigile grazie alla quale

è sempre viva la domanda di come un oggetto incontrato nel mondo reale possa funzionare.

Page 15: Computational thinking - Il pensiero computazionale

CODING UNPLUGGEDhttp://codeweek.it/cody-roby/kit-fai-da-te/

Page 16: Computational thinking - Il pensiero computazionale

LA PIATTAFORMA CODE.ORG

Page 17: Computational thinking - Il pensiero computazionale
Page 18: Computational thinking - Il pensiero computazionale

SCRATCHhttps://scratch.mit.edu/

Digital storytelling Simulazioni o giochi

Page 19: Computational thinking - Il pensiero computazionale

APPINVENTORhttp://ai2.appinventor.mit.edu

Page 20: Computational thinking - Il pensiero computazionale