1. Coding e pensiero
computazionale
Snodo Formativo Provinciale
I.S. “Quintino Sella”, Biella
Formazione docenti Team dell’Innovazione
Prot. 6076 del 04/04/2016
Materiali intervento del prof. Marco Marchisotti
1
3. Perché sperimentare il coding a scuola?
• I Computer sono ovunque. Tutti noi dobbiamo
sapere come usarli e molti di noi li usano tutti i
giorni. Ma come funzionano? Come pensano?
L’informatica è una scienza affascinante che
risponde a queste domande.
• Per essere culturalmente preparato a qualunque
lavoro uno studente di adesso vorrà fare da grande
è indispensabile una comprensione dei concetti di
base dell’informatica: esattamente com’è accaduto
in passato per la matematica, la fisica, la biologia e
la chimica.
• Introduzione all’informatica come scienza (cosa è, di cosa si occupa) prof.ssa
Cristina Bosco, Univ.Torino
3
4. Pensiero computazionale
• Non esiste una definizione universalmente condivisa.
• Definizione formulata dalla dottoressa J.Wing, direttrice
del Dipartimento di Informatica della Carnegie Mellon
University:
– “è il 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 artificiale”.
• Ovvero è lo sforzo che un individuo deve mettere in atto
per fornire a un altro individuo o macchina tutte e sole
le “istruzioni” necessarie affinché questi eseguendole
sia in grado di portare a termine il compito dato.
4
5. Pensiero computazionale
• Nella società contemporanea la cui tecnologia
dipende in misura fondamentale
dall’informatica, avere familiarità con i concetti
di base dell’informatica come materia
scientifica è un elemento critico del processo di
formazione dei cittadini.
• 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.
5
6. Pensiero computazionale
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
6
Tratto da: programmailfuturo
7. Concetti del pensiero computazionale
• Sequenza: un’attività può essere espressa attraverso una
serie consecutiva di singoli step o istruzioni.
• Ciclo: è un meccanismo per eseguire più volte la
medesima sequenza in maniera iterativa.
• Evento: il verificarsi di un’azione causa lo scatenarsi di
un’altra azione.
• Parallelismo: significa eseguire sequenze di istruzioni
differenti allo stesso tempo.
• Condizione: è la possibilità di prendere decisioni sulla
base del verificarsi di determinate situazioni.
• Operatore: fornisce supporto per la manipolazione di
numeri e stringhe di caratteri.
• Dati: sono valori che possono essere salvati, recuperati e
modificati durante l’esecuzione di un programma.
7
8. 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.
8
9. Attitudini di pensiero computazionale
• Esprimere se stessi: una persona dotata di
pensiero computazionale vede nella tecnologia
uno strumento per esprimere se stessa, 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.
9
11. Coding Unplugged
• È un insieme di attività didattiche sperimentali
che insegnano informatica attraverso il gioco
utilizzando carte, corde, pastelli e tanta attività
fisica che porterà i ragazzi camminare per la
classe o a correre in giardino
11
12. Programma il futuro
• Materiali per lezioni tradizionali:
– Pensiero Computazionale
– Programmazione su carta a quadretti
– Algoritmi
– Istruzioni condizionali
– Composizione di canzoni
– Astrazione
– Programmazione a staffetta
– Internet
12
13. Cody & Roby
• Roby è un robot che esegue istruzioni,
• Cody è il suo programmatore.
• Per iniziare le istruzioni sono solo 3: vai
avanti, gira a sinistra e gira a destra.
• Ogni istruzione è scritta o disegnata su
un cartello o su una tessera che Cody
passa a Roby.
• Roby legge l’istruzione e la esegue
muovendosi su una scacchiera.
• Non servono computer, sono i giocatori
a fare la parte di Roby e di Cody.
13
16. Cody & Roby
• 4 giochi:
• Cody & Roby #1: Seguimi
• Cody & Roby #2: Il Duello
• Cody & Roby #3: La corsa
• Cody & Roby #4: La turista
16
Scarica le carte da qui
17. Cody Way
17
Link alla presentazione condivisa per
Creare i vostri blocchi personalizzati
18. Computer Science Unplugged
• Sito con moltissime attività unplugged, per fare
informatica senza il computer.
• Libro tradotto in italiano
• Video esplicativi delle attività
• Tanti link per approfondire
18
25. Crittografia
25
• In crittografia il cifrario di Cesare è un cifrario a
sostituzione monoalfabetica in cui ogni lettera del
testo in chiaro è sostituita nel testo cifrato dalla
lettera che si trova un certo numero di posizioni
dopo nell'alfabeto. Questi tipi di cifrari sono detti
anche cifrari a sostituzione o cifrari a
scorrimento a causa del loro modo di operare: la
sostituzione avviene lettera per lettera, scorrendo
il testo dall'inizio alla fine.
• In particolare, Cesare utilizzava uno spostamento
di 3 posizioni (la chiave era dunque 3), secondo il
seguente schema:
Da Wikipedia:
26. Crittografia
• Le stringhe sotto riportate contengono, crittografati
col metodo Giulio Cesare, i nomi di noti personaggi
del risorgimento italiano; questi nomi sono
crittografati con chiavi diverse
– Nome1: [i, c, t, k, d, c, n, f, k]
– Nome2: [n, l, g, g, z, f, c]
– Nome3: [d, r, q, q, z, e, z]
– Nome4: [u, s, j, d, g, s, d, t, w, j, l, g]
• Problema
– Trovare le chiavi K1, K2, K3 e K4 usate per crittografare
nell’ordine i quattro personaggi.
26
32. Scratch off-line
• Per scaricare la versione 2:
https://scratch.mit.edu/scratch2download/
• Per scaricare la versione 1.4:
https://scratch.mit.edu/scratch_1.4/
32
34. Programmo anch’io
• Nell’ambito del progetto Diderot,
l’Associazione Dschola propone la linea
“Programmo anch’io”.
• Sito: http://www.associazionedschola.it/programmoanchio/
34