Modulo 4: PENSIERO COMPUTAZIONALE APPLICATO ALLA DIDATTICA

a

Cos'è pensiero computazionale?

Apollo 13

Definizione

r

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.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. Questa generalità è il motivo principale del perché partecipare al progetto.

Metodo

r

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

Strumenti

r

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.Anche per questi strumenti i benefici si estendono al di là della disciplina informatica.

Code.org è un'organizzazione no-proft nata negli USA nel 2013 per incoraggiare le persone, e in particolare gli studenti, a imparare a programmare e a sviluppare il pensiero computazionale. Il sito omonimo contiene corsi liberamente accessibili.

Infatti. Programma il futuro è un'iniziativa del MIUR in collaborazione con il CINI basata su code.org.

Scratch programma storie interattive, giochi e animazioni e condivide le tue creazioni con gli altri membri della comunità.

Scratch è un progetto del Lifelong Kindergarten Group dei Media Lab del MIT. È reso disponibile in maniera completamente gratuita.

Robotica educativa

Sono numerose le iniziative didattiche e le competizioni che prevedono la costruzione e la programmazione di Robot.

Perchè insegnare il coding ai bambini?

Imparare a programmare, programmare per imparare.

Imparare a leggere e scrivere è utile a tutti. Ed è la stessa cosa per la programmazione. La maggior parte delle persone non diventerà un esperto di informatica o un programmatore, ma acquisirà l’abilità di pensare in modo creativo, pensare schematicamente, lavorare collaborando con gli altri.

L’Estonia ha deciso che tutti i bambini in prima elementare devono imparare a programmare.

Si può programmare per interagire con il mondo fisico intorno a noi. Ecco un esempio da Hong Kong, dove alcuni bambini hanno creato un gioco e poi hanno costruito un dispositivo d’interfaccia fisica che ha un sensore per la luce. Questo sensore riesce a localizzare un buco nell'asse, quindi,muovendo la sega reale il sensore luce localizza il buco e controlla la sega virtuale sullo schermo che taglia l’albero.

Mitch Resnick spiega perché l’insegnamento della programmazione ai bambini è ormai fondamentale.

Let's teach kids code

Let's teach kids code

Scratch tutorial

Scratch tutorial

Esempi concreti con Scratch

Labirinto con Scratch

Storytelling con Scratch

Energia con Scratch