18
Introduzione al Pensiero Computazionale 14 febbraio 2015 [email protected] http://coderdojopalermo.wordpress.com /

Introduzione al "Pensiero computazionale"

Embed Size (px)

Citation preview

Page 1: Introduzione al "Pensiero computazionale"

Introduzione alPensiero Computazionale

14 febbraio 2015

[email protected]://coderdojopalermo.wordpress.com/

Page 2: Introduzione al "Pensiero computazionale"

Tratto da

http://scratched.gse.harvard.edu/resources/scratch-curriculum-guide-draft

Page 3: Introduzione al "Pensiero computazionale"

Concetti Computazionali

Concetto Descrizione

Sequenza Una serie di passaggi in una azione

Loops Eseguire la stessa sequenza più volte

Parallelismo Far accadere le cose

contemporaneamente

Eventi Una causa determina un effetto

Condizioni Prendere decisioni in base alle

condizioni

Operatori Espressioni matematiche e logiche

Dati Memorizzare, recuperare ed

aggiornare valori

Page 4: Introduzione al "Pensiero computazionale"

Pratiche Computazionali

Pratica Descrizione

Produrre per

iterazioni ed

incrementi

Sviluppare una parte per volta,

provare e svilupparne ancora

Testare e rimuovere

gli errori

Essere sicuri che le cose funzionino,

cercare e risolvere gli errori

Riciclare e

mescolare

Creare qualcosa partendo da

materiale creato da altri

Astrarre e rendere

modulare

Creare qualcosa di grande

mettendo insieme una collezione di

piccole parti

Page 5: Introduzione al "Pensiero computazionale"

Buone pratiche

• Differenze tra sprite e costumi

• Broadcast e ricezione

• Leggere il codice degli altri

• Provate ad usarlo in una lingua diversa

• Andate su http://scratched.gse.harvard.edu/

Page 6: Introduzione al "Pensiero computazionale"

ESERCIZI

Page 7: Introduzione al "Pensiero computazionale"

Esercizio: Il labirinto

• Disegnate un labirinto con pareti tutte di un colore e con il punto di uscita di un colore diverso

• Aggiungete uno sprite quadrato di un solo colore

• Aggiungete interazione, per le quattro frecce, sisposta di 10 passi ad ogni tocco

• Aggiungete lo stato iniziale, alla bandiera verdevai in posizione x,y

• Lo sprite rimbalza se tocca le pareti

• Il gioco continua finchè non tocca il colore finale

Page 8: Introduzione al "Pensiero computazionale"

Soluzione

http://scratch.mit.edu/projects/2042736/

Page 9: Introduzione al "Pensiero computazionale"

Estensioni al gioco

• Punteggi http://scratch.mit.edu/projects/ScratchEdTeam/2042755

• Timer http://scratch.mit.edu/projects/ScratchEdTeam/2042761

• Nemici http://scratch.mit.edu/projects/ScratchEdTeam/2042763

• Livelli http://scratch.mit.edu/projects/ScratchEdTeam/2042764

• Bonus http://scratch.mit.edu/projects/ScratchEdTeam/2042770

Page 10: Introduzione al "Pensiero computazionale"

Esercizio: La penna

http://scratch.mit.edu/projects/ScratchEdTeam/2042282

Realizzate una penna comandata dal cursore

Page 11: Introduzione al "Pensiero computazionale"

Soluzione

Page 12: Introduzione al "Pensiero computazionale"

Esercizi da proporre agli studenti

1. Dance party: uno sprite che cambia costumi a tempo con la musica

2. Build a Band: sincronizzate gli strumenti in modo che suonino insieme

3. Conversazioni: fate conversare due sprite

4. Far disegnare alla penna poligoni, stelle, …

5. …

Page 13: Introduzione al "Pensiero computazionale"

TROVA I BUG

Page 14: Introduzione al "Pensiero computazionale"

Bug 1

• Perché il gatto non gira e resta fermo?

• http://scratch.mit.edu/projects/ScratchEdTeam/2042697

Page 15: Introduzione al "Pensiero computazionale"

Bug 2

• Perché quando lo eseguo la seconda volta non funziona bene?

• http://scratch.mit.edu/projects/ScratchEdTeam/2042703

Page 16: Introduzione al "Pensiero computazionale"

Bug 3

• Il gatto balla quando la musica è finita

• http://scratch.mit.edu/projects/ScratchEdTeam/2042706

Page 17: Introduzione al "Pensiero computazionale"

Bug 4

• Coordinare movimenti e testi

• http://scratch.mit.edu/projects/ScratchEdTeam/2042712

Page 18: Introduzione al "Pensiero computazionale"

Bug 5

• Il gatto dovrebbe saltaree poi muoversi

• http://scratch.mit.edu/projects/ScratchEdTeam/2042724