Pensiero Creativo e Tecnologico L. Tarsitano, G. Aguzzi ... · research group at MIT we develop new...

Post on 11-Oct-2020

4 views 0 download

transcript

IL COMPUTER COME CRETAIl coding come strumento di costruzione

Ragazze digitaliLaura Tarsitano

laura.tarsitano@criadcoding.it

1

PENSIERO COMPUTAZIONALE - definizioni

• Il primo a parlare di pensiero computazionale fu Seymour Papert nel 1980 nel

libro Mindstorms e nel 1996 parlando del linguaggio LOGO, sviluppato da lui

stesso per insegnare la programmazione ai bambini

2

PENSIERO COMPUTAZIONALE - definizioni

• Nel 2006 Jeannette Wing in Computational thinking definisce così il pensiero

computazionale «processo mentale che sta alla base della formulazione dei

problemi e delle loro soluzioni così che le soluzioni siano rappresentate in una

forma che può essere implementata in maniera efficace da un elaboratore di informazioni, sia esso umano o artificale».

3

PENSIERO COMPUTAZIONALE

• Modo di pensare volto a risolvere problemi, progettare e costruire basandosisu principi e concetti fondamentali dell’Informatica

‣ Jeannette Wing (2006) - Dipartimento di Informatica presso (CMU)

‣ “Computational thinking”

‣ "Quarta abilità di base"

4

PENSIERO COMPUTAZIONALE

• analizzare i dati, scomporre il problema in problemi più semplici,

• astrarre liberandosi di dettagli inutili, generalizzare per risolvere classi di problemi,

• scegliere modo migliore per rappresentare i dati, immaginare algoritmi efficienti secondo metriche diverse

• scrivere il codice in modo che sia sintetico, leggibile, modulare, manutenibile

• testare e raffinare il codice scritto

5

INFORMATICA E COMPUTER

• Informatica

‣ scienza che studia i procedimenti effettivi di elaborazione (e trasmissione, memorizzazione) automatica dell'informazione

• Informatica non è (solo) “la scienza dei computer”

‣ “informatica sta al computer come l’astronomia sta al telescopio”… o la biologia sta al microscopio (Dijkstra)

6

PROGRAMMAZIONE E CODING• Programmazione (informatica)

‣ processo che parta da un problema computazionale (in senso ampio) per arrivare ad un programma effettivamente eseguibile da un computer

• Un informatico deve:

‣ analizzare problema

‣ costruire un algoritmo (sequenza di istruzioni per la soluzione del problema)

‣ verificare che l'algoritmo sia corretto, rispettoso dei requisiti, efficiente

‣ implementarlo, cioè tradurlo in uno specifico linguaggio di programmazione (coding)

7

SEYMOUR PAPERT

(1928-2016)• Matematico, filosofo, pedagogista e informatico

• Ha lavorato prima in Europa con Piaget

• Poi: professore al MIT (Massachusetts Institute of Technology)

• Padre del costruzionismo

• Inventore del linguaggio LOGO

8

VISIONE COMPLESSIVA• Visione costruttivista della scuola

‣ luogo di costruzione di e non di trasmissione della conoscenza

• Ruolo dei computer

‣ come “creta” con cui costruire una scultura, è materiale per plasmare, costruire (Paper, 1997)

• Ruolo dell’informatica

‣ consente di mettere in luce, grazie al valore cognitivo della progettazione del software (dei programmi) la dimensione creativa dell'uso del computer (Capponi, 2008)

9

RUOLO DEL COMPUTER• Non è una macchina di informazioni o per gestire informazioni

‣ è una macchina per eseguire progetti, per costruire (Papert, 1997)

• Rende possibile compiere azioni didattiche preluse agli strumenti tradizionali, permette di esplorare nuovi modelli

‣ es: esplorare strutture atomo, simulare effetti clima,...

• Il controllo è di chi apprende

• Il computer come creta

10

RUOLO DEL COMPUTER

• Utilizzare il computer come strumento di apprendimento vuol dire avere come

obiettivo quello di un «apprendimento attivo»

• «dovrebbe essere il bambino a programmare il computer e non il computer a

programmare il bambino» (Papert)

• Il bambino deve cambiare lo status di «consumatore» di informazioni a

quello di «produttore» di conoscenza

• Il senso di un computer in un ambiente di apprendimento è quello di laboratorio personale dove compiere esperienze significative

11

• “Computers will not live up to their potential until we start to think of

them less like television and more like paintbrushes… in my

research group at MIT we develop new technologies that follow the

tradition of paintbrushes, wooden blocks, and coloured beads,

expanding the range of what children can create, design, and learn”

“IL COMPUTER

COME PENNELLO”

Mitchel Resnick. Computer as Paintbrush: Technology, Play, and the Creative Society. Singer, D., Golikoff, R., and Hirsh-Pasek, K. (eds.), Play = Learning: How play motivates and enhances children's cognitive and social-emotional growth. Oxford University Press. 2006

12

COSTRUZIONISMO DI PAPERT• Estensione dell’attivismo di Dewey (learning by doing)

• continuità progettazione e attualizzazione MA pensando e discutendo attorno a quello che si fa

• Estensione del costruttivismo di Piaget (learning by making)

‣ costruttivismo non solo mentale, parallela costruzione reale

‣ importanza degli oggetti e dispositivi ("artefatti cognitivi") che facilitano lo sviluppo di specifici apprendimenti

• materiali concreti affinché la conoscenza acquisita sia tanto più vicina alla realtà

13

COSTRUZIONISMO: PILASTRI

• Lo studente come protagonista

• Usare per imparare

• Rivalutazione pensiero operatorio concreto su quello formale logico-deduttivo

• Introduzione al concetto di micromondo

• Apologia dell'errore

14

RUOLO DELL’ERRORE

• Apprendere dai propri errori

• Correzione dell'errore fa parte del processo di comprensione del programma

‣ antitetico al modello di apprendimento o si è capito o non si è capito

15

LINGUAGGIO LOGO• Linguaggio Logo come linguaggio a supporto del costruzionismo (Wally Feurzeig,

Papert - ~1980)

‣ programma = elenco di istruzioni con le quali far muovere una tartaruga su un

piano, con la possibilità di eseguire azioni come tracciare linee, emettere suoni,

stampare messaggi..

• Strumento che consente ai bambini (scuole elementari, medie) di utilizzare il

computer per ottenere rapidamente risultati concreti, ma utilizzando principimatematici e logici rigorosi

‣ disegni, musica, poesie…

• Il bambino avverte di avere il controllo del computer

17

LINGUAGGIO LOGO

• LOGO permette di provare, testare, ricostruire quello che non va e riprovarlo

• Consente di imparare a sistemare un ragionamento piuttosto che scartarlo come

«sbagliato» → apprendimento sporco

• Debugging

• «Come posso aggiustarlo?»

18

MICROMONDI• Riproduzione effettuata su computer del comportamento di un sistema reale

‣ una simulazione digitale basata sullo studio di un caso reale

‣ piccoli universi, realtà limitate, luoghi sicuri da esplorare

• Più in generale (Progetto Cogito):

‣ un ambiente/mondo digitale progettato per favorire l’esplorazione e apprendimento

(co-costruito) di concetti e competenze inter-disciplinari

‣ ambiente che condizioni analoghe all’educazione pre-scolare

19

EREDITA’ DI PAPERT:

MIT Lifelong Kindergarten Group

• Mitch Resnick

‣ Technologies for Lifelong Kindergarten (1996)

‣ Programmable Bricks - Toys to think with (1996)

‣ Linguaggio/piattaforma Scratch (2009)

20

EREDITA’ DI PAPERT:

MIT Lifelong Kindergarten Group

• Mitch Resnick

‣ Imparare a programmare è una parte essenziale dell’educazione

‣ Quando si impara a leggere e a scrivere si aprono molte opportunità di imparare nuove cose

‣ Leggere per imparare

‣ Learn to code, code to learn

21

“LEARN TO CODE, CODE TO LEARN”

• Coding (programmazione) come estensione della capacità di scrivere e creare

‣ si insegna ai bimbi a scrivere non perché diventino necessariamente

scrittori, a fare calcoli non perché diventino matematici.. analogamente non si insegna il coding (la programmazione) perché diventino informatici

‣ il coding permette di scrivere nuovi tipi di cose - storie interattive, giochi, animazioni, simulazioni…

(Resnick, EdSurge 2013)

22

DAL LOGO A SCRATCH (E SNAP!)

• Piattaforma Scratch (https://scratch.mit.edu/)

‣ eredita filosofia e principi del logo, in chiave moderna

‣ basata su programmazione visuale

‣ piattaforma più utilizzata per coding nelle scuole

• Piattaforma Snap! (https://snap.berkeley.edu/)

‣ estensione di Scratch, più configurabile e flessibile

23

CODING• Ideazione e scrittura di un programma

‣ programma = sequenza di istruzioni per raggiungere un certo obiettivo, svolgere un certo compito

• I programmi implementano algoritmi

‣ algoritmo = insieme ordinato di passi o strategia per risolvere operazionalmente un

problema o per costruire un sistema

• I programmi sono basati su un un linguaggio di programmazione

‣ usato per descrivere, implementare gli algoritmi

24

LINGUAGGI VISUALI E A BLOCCHI• Linguaggi visuali vs testuali

‣ equivalenti dal punto di vista espressivo

• Linguaggi visuali a blocchi (es: Scratch, Snap!, Blocky)

‣ ispirazione dalle costruzioni (Lego)

‣ istruzioni come blocchi componibili

• “affordance” - incastri, colore

‣ abbattono alcuni elementi di complessità, astraendo

25

LINGUAGGIO COME MEZZO DI

ESPRESSIONE E COMUNICAZIONE

• Linguaggi di programmazione sono inquadrabili anche come interfacce fra l’uomo e la macchina/il computer

• ovvero: come linguaggi di comunicazione

‣ è possibile “dialogare” con un computer senza conoscere com'è fatto dentro o come funziona

26

LINGUAGGI E ASTRAZIONI

• Ogni linguaggio definisce un livello di astrazione

‣ insieme dei concetti di prima classe usati per esprimersi

• Possiamo definirci il nostro linguaggio, al giusto livello di astrazione per un certo tipo di scopo, di dominio

‣ in letteratura informatica si parla di Domain Specific Language

27

LINGUAGGI E MICROMONDI

• Ogni linguaggio definisce un micromondo, come “ambiente”

‣…dove rappresentare e risolvere problemi

‣…dove progettare, costruire, eseguire, provare, simulare

‣…che può evolvere ed essere esteso man mano

• Ogni micromondo è basato quindi su un linguaggio che definisce l’insieme dei concetti di prima classe usati per esprimersi, il livello di astrazione

28

CODE TO LEARN

• Micromondi/linguaggi come oggetto di progettazione (e analisi, valutazione) per gli insegnanti

‣ insegnante può costruire dei micromondi/linguaggi come ambienti utili

l’esplorazione e apprendimento costruttivo/“computazionale” di competenze e contenuti relativi alle materie cruciali

29

Coding

▪ Letteralmente vuol dire «Scrivere codice»

▪ Per parlare con un computer bisogna conoscere la sua lingua

▪ Coding pensato per la didattica

Cosa posso fare con il coding

Cosa posso fare con il coding

Cosa posso fare con il coding

Tinkering

▪ Tinkering è un laboratorio, un ambiente, un metodo, un modo di sperimentare la scienza attraverso attività di costruzione che valorizzano la creatività, l'indagine e l'esplorazione basandosi sulle capacità e le conoscenze di ciascuno.

http://www.museoscienza.org/attivita/tinkering/cosa-e.asp

▪ Si utilizzano materiali da riciclo, motorini, luci, cavi per costruire oggetti di diverso tipo, che volano, si muovono, girano.

▪ Si esplorano così fenomeni e concetti scientifici

https://www.flickr.com/photos/fabola/29049198731

•Coding applicato alla didattica

•Coding

•Coding & Making

•Tinkering

RIFERIMENTI BIBLIOGRAFICI SELEZIONATI

• Massimo Capponi. Un giocattolo per la mente. L’informatica cognitiva di Seymour Papert. Morlacchi editore, 2008

• Rita Marchignoli e Michael Lodi. EAS e Pensiero Computazionale. Fare coding alla scuola primaria. ELS Scuola, 2016

• Seymour Papert. Mindstorms. Bambini, computers e creatività, 1980

• Seymour Papert. Connected family. Come aiutare genitori e bambini a

comprendersi nell'era di Internet, 2003

39