SPADARI_elaborato di informatica

Transcript

SPADARI_elaborato di informatica
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso: ELETTROTECNICA, ELETTRONICA E SICUREZZA INFORMATICA E
LABORATORIO
Docente: prof. Simone Calderara
Studentessa: SPADARI GIOVANNA
classe: PAS A033
matricola: 96530
UNITA' DIDATTICA SULLA PROGRAMMAZIONE INFORMATICA
ABSTRACT
L'unità didattica proposta è rivolta ad una classe di alunni di 1° media ed è stata strutturata su tre
livelli di difficoltà crescente:
1. nel primo step si è cercato di familiarizzare con la programmazione informatica partendo da
una delle semplici lezioni presenti sul sito code.org; in particolare è stata scelta quella di
Frozen:
https://studio.code.org/s/frozen/stage/1/puzzle/1
di cui sono stati proposti, spiegati ed eseguiti alcuni esercizi. In questa prima fase sono stati
introdotti i seguenti concetti:
• algoritmo
• pixel, angolo e scelta del colore
• comandi di movimento
• istruzione di controllo "ripeti n volte"
• creare una funzione
2. nella fase successiva si è passati all'esecuzione di uno degli esercizi proposti in Frozen
utilizzando il linguaggio Scratch ad un livello più avanzato; in questa sede sono state inoltre
descritte le principali caratteristiche di Scratch
3. nell'ultima fase è stato ideato un semplice gioco sempre usando Scratch; sono stati introdotti
i concetti di:
• istruzione di controllo "per sempre"
• istruzioni condizionali "se ... allora ... " e "se ... allora ... altrimenti ... "
• operatori booleani "o", "e", "non".
CONTENUTO
1. Introduzione alla programmazione informatica tramite la lezione “Frozen”
Questa unità didattica ha lo scopo di
insegnare le basi della programmazione
partendo da dei semplici e divertenti esercizi
proposti su code.org, un sito creato
appositamente per gli studenti di ogni età al
fine di dar loro l'opportunità di imparare
l'informatica.
Iniziamo con la lezione chiamata “Frozen”.
Come potete vedere la schermata è suddivisa
in tre parti:
• a sinistra compare lo schema di gioco
in cui troviamo Elsa, il personaggio che eseguirà i nostri comandi;
• a destra vi è lo spazio destinato alla programmazione chiamato "area di lavoro", cioè quello
in cui dobbiamo concatenare le istruzioni necessarie affinchè il personaggio possa fare
qualcosa; le istruzioni devono essere incastrate tra loro come fossero un puzzle;
• al centro c'è uno spazio grigio chiamato "blocchi" che contiene una serie di istruzioni tra le
quali poter scegliere.
Lo scopo del gioco è quello di far muovere Elsa lungo le linee tracciate. In questo esercizio Elsa
deve muoversi lungo due linee che formano un angolo retto. Cerchiamo di scomporre il suo
movimento in una sequenza di azioni. Elsa dovrà:
– muoversi in avanti;
– ruotare a destra di 90°;
– muoversi ancora in avanti.
La scomposizione di un problema in una sequenza di istruzioni prende il nome di algoritmo. Molte
azioni della vita quotidiana possono essere scomposte in un algoritmo, basti pensare a quando
seguiamo le istruzioni per montare un'apparecchiatura o una ricetta per preparare una pietanza.
Tuttavia un algoritmo può essere considerato tale solo se rispetta tre requisiti:
– finitezza: deve essere composto da una serie finita di passi e deve portare ad un risultato;
– eseguibilità: l'esecutore deve poter completare ogni passo con le risorse a disposizione;
– non ambiguità: ogni passo deve poter essere interpretato senza ambiguità, cioè allo stesso
modo da due esecutori diversi.
Torniamo al movimento di Elsa e cerchiamo di farle compiere le tre azioni individuate. Per farla
muovere in avanti basterà prendere il blocco "vai avanti di 100 pixel" ed attaccarlo sotto il blocco
"quando si clicca su esegui" già presente nell'area di lavoro, dopodichè bisogna cliccare su "Esegui"
nello spazio a sinistra.
Ma che cosa sono questi pixel? Sono i puntini di cui sono fatte le immagini che appaiono sullo
schermo, composto da più di mille pixel disposti per righe e per colonne. Spostarsi di 100 pixel
significa quindi che il segmento da tracciare misura proprio 100 pixel in quanto contiene esattamente
100 puntini allineati.
I pixel servono a descrivere la lunghezza dei segmenti sullo schermo, mentre i gradi servono a
descrivere gli angoli. Quindi per far ruotare Elsa basterà prendere il blocco "gira a destra di 90
gradi", trascinarlo nell'area di lavoro e concatenarlo al precedente.
Usando di nuovo il blocco "vai avanti" e incastrandolo ai precedenti, Elsa completerà il suo
percorso. Ora cliccando su "Esegui" potrete verificare la correttezza del movimento del personaggio.
L'esercizio successivo consiste nel far tracciare ad Anna un quadrato. Abbiamo appena imparato
come disegnare metà quadrato. Basterà quindi aggiungere ai blocchi precedenti le seguenti istruzioni
in questo ordine:
– gira a destra di 90 gradi;
– vai avanti di 100 pixel;
– gira a destra di 90 gradi;
– vai avanti di 100 pixel;
– gira a destra di 90 gradi.
L'ultima istruzione non è indispensabile, serve solo per far girare Anna di nuovo a destra pronta per
ripartire; si sarebbe potuta omettere.
Ad ogni modo potete vedere che per tracciare ogni singola linea abbiamo usato due istruzioni, le
quali sono state ripetute per ben quattro volte per poter disegnare il quadrato. Anzichè scrivere le
stesse due istruzioni per quattro volte, si può usare un metodo più veloce: esiste un blocco chiamato
"ripeti n volte esegui" che ci consente di ripetere una o
più operazioni per il numero n di volte che vogliamo.
Le istruzioni da ripetere vanno inserite ed incastrate
all'interno del blocco stesso. Quindi il modo più veloce
per tracciare un quadrato è questo:
– quando si clicca su "Esegui"
– ripeti 4 volte:
• vai avanti di 100 pixel
• gira a destra di 90 gradi
Passiamo al prossimo esercizio in cui cercheremo di creare tre quadrati facendo girare Anna di 120°
dopo aver disegnato ogni quadrato. Possiamo usare per ben due volte il ciclo "ripeti", sia per
disegnare il singolo quadrato, sia per ripetere tre volte l'insieme di istruzioni del quadrato,
ricordando di inserire anche il comando di girare a destra di 120 gradi. Il codice da usare è dunque
quello che potete vedere nella figura qui sotto.
Aumentando il numero dei quadrati e diminuendo
l'ampiezza dell'angolo si possono creare figure sempre
più articolate.
Provate ora da soli ad eseguire gli esercizi n°6, 7, 8, 9
in cui dovrete usare il blocco "ripeti" per disegnare un
fiocco di neve e figure via via più complesse.
Nell'esercizio n°10 bisogna creare un parallelogramma
formato da quattro lati uguali. Cosa cambia rispetto al
quadrato? Il parallelogramma non ha angoli tutti uguali
di 90°; gli angoli sono uguali a due a due, in particolare quelli opposti risultano uguali mentre quelli
consecutivi sono diversi. In questo caso gli angoli sono di 60° e 120°. Pertanto non si possono
ripetere per 4 volte due istruzioni identiche come avevamo fatto nel caso del quadrato. Bisognerà
utilizzare quattro istruzioni per disegnare la prima metà del parallelogramma impostando
correttamente le misure degli angoli e poi ripetere questo insieme di istruzioni un'altra volta per
disegnare l'altra metà. Inoltre in questo esercizio potete scegliere il colore con cui disegnare. Tra le
varie possibilità c'è anche quella di impostare un "colore scelto a caso". In questo modo tutte le linee
che andremo a disegnare risulteranno di colore diverso. Supponiamo di voler scegliere un colore ben
preciso, ad esempio il viola, selezionandolo dal menu a tendina del blocco stesso. Se vogliamo
ottenere un parallelogramma con tutti e quattro i lati viola ci sono due possibilità per posizionare
l'istruzione "imposta il colore viola":
– possiamo collocarla fuori dal blocco "ripeti", direttamente sotto a "quando si clicca su
Esegui"
– possiamo inserirla nel blocco "ripeti" prima delle quattro istruzioni che servono a tracciare
due lati.
Se invece posizionassimo l'istruzione del colore dentro il blocco "ripeti" ma dopo le istruzioni per i
lati, otterremmo la prima metà del parallelogramma del colore di default che è il bianco e la seconda
metà del colore scelto da noi.
In definitiva per disegnare un parallelogramma con i quattro lati viola, il codice da utilizzare è
quello riportato nella figura che segue.
Provate ora ad eseguire da soli i due
esercizi successivi in cui dovrete
disegnare più parallelogrammi
usando il blocco "ripeti" per creare
dei fiocchi di neve.
Passiamo ora a disegnare un cerchio. Questa volta Anna dovrà muoversi in avanti solo di un pixel e
girare a destra soltanto di un grado. Le due istruzioni dovranno essere ripetute ben 360 volte,
pertanto in questo caso appare ancor più evidente l'utilità del blocco "ripeti". Il codice per disegnare
un cerchio è in definitiva il seguente:
• quando si clicca su "Esegui"
• ripeti 360 volte:
• vai avanti di 1 pixel
• gira a destra di 1 grado
Nella programmazione è possibile dare un nome ad una sequenza di comandi che abbiamo definito,
in modo da poterla richiamare facilmente ogni volta che ne abbiamo bisogno. L'operazione di
definire una serie di istruzioni e di attribuirle un nome si chiama creare una funzione.
Ad esempio possiamo definire il codice per disegnare un cerchio come una funzione chiamata "crea
un cerchio" ed utilizzare questo blocco più volte per disegnare tanti cerchi.
Nell'esercizio n°14 bisogna creare 10 cerchi sovrapposti e traslati di 25 pixel l'uno rispetto all'altro.
E' già stata creata la funzione verde "crea un cerchio" che contiene le tre istruzioni che avevamo
definito nell'esercizio precedente per disegnare un cerchio e possiamo quindi utilizzare direttamente
questo blocco. Dovendo disegnare 10 cerchi, basterà inserire la funzione "crea un cerchio"
all'interno del blocco "ripeti 10 volte",
seguita dal comando "salta in avanti di
25 pixel" che serve per impostare la
distanza tra un cerchio e il successivo.
Vogliamo inoltre che i cerchi siano tutti
di colore diverso scelto casualmente e
pertanto inseriremo all'inizio del blocco
"ripeti" anche l'istruzione "imposta il
colore scelto a caso". Il codice sarà
quindi quello riportato nella figura qui a
lato.
2. Risoluzione di un esercizio grafico usando il linguaggio di programmazione Scratch più
avanzato
Proviamo ora a definire la funzione "crea un cerchio" usando il linguaggio di programmazione
Scratch ad un livello più avanzato.
La schermata che ci appare è molto simile a quella che abbiamo visto fino ad ora. E' suddivisa in tre
parti:
1. a sinistra troviamo l'area di gioco con il nostro personaggio detto "sprite" che in questo caso
è un gattino
2. al centro ci sono i comandi, suddivisi in tre categorie:
• Script: è composto da 10 gruppi di istruzioni (Movimento, Aspetto, Suono, Penna,
Variabili e Liste, Situazioni, Controllo, Sensori, Operatori, Altri Blocchi)
• Costumi: sono gli aspetti che può assumere lo sprite; è possibile scegliere un costume
dalla libreria, disegnarne uno o caricarlo da un file o da una foto scattata con la
webcam
• Suoni: comprende i suoni associati allo sprite; quello di default è un miagolio. Anche
in questo caso è possibile aggiungere nuovi suoni scegliendoli dalla libreria,
registrandoli o caricandoli da un file;
3. a destra troviamo l'area destinata alla programmazione detta anche "canvas", nella quale
bisogna concatenare le istruzioni.
E' inoltre possibile creare un nuovo
sprite e cambiare lo sfondo.
Proviamo ad esempio a cambiare lo
sfondo: possiamo sceglierne uno dalla
libreria, disegnarlo o caricarne uno da
un file. Scegliamone uno dalla libreria,
ad esempio "space".
Proviamo ora a cambiare l'aspetto dello
sprite. Selezioniamo Costumi e
carichiamo un nuovo costume da un
file, ad esempio la foto del vostro gatto.
Ora passiamo a creare la nostra
funzione. Basta cliccare su Altri
Blocchi e scrivere all'interno del blocco viola che appare il nome della funzione, in questo caso
"cerchio". Dopodichè bisogna concatenare al comando viola la
sequenza di istruzioni per disegnare il cerchio. Il comando "ripeti n
volte" si trova nel gruppo di istruzioni color ocra chiamato Controllo
che compare tra gli Script. All'interno delle istruzioni blu Movimento
ci sono invece i comandi "fai n passi" e "ruota di n gradi" in senso
orario o antiorario. Come potete vedere in questo caso non si parla più
di pixel ma di passi. La funzione "definisci cerchio" sarà quella che
vedete nella figura a lato.
Se adesso cliccate su Altri Blocchi troverete la funzione "cerchio"
pronta per essere incastrata.
Ora andiamo a programmare il resto. Vogliamo far sì che il gatto disegni 10 cerchi rossi traslati di 15
passi l'uno rispetto all'altro. In Situazioni troviamo il comando "quando si clicca sulla bandiera
verde", che trasciniamo nel canvas. Questo comando corrisponde a "quando si clicca su Esegui" di
code.org. Andiamo ora a concatenare il comando "ripeti 10 volte", all'interno del quale dobbiamo
posizionare nell'ordine:
• il colore della penna da usare
• la funzione "cerchio"
• fai 15 passi
Per scegliere il colore della penna basta andare su Penna e cliccare sull'ottagono rosso vicino alla
bandierina verde fino a quando nel quadratino del comando "usa penna di colore" non appare il
colore desiderato, in questo caso il rosso. Trasciniamo ora questo comando nel canvas insieme
all'istruzione "penna giù" che andrà posizionata subito sopra. Mettiamo ora le due istruzioni
all'interno del blocco "ripeti 10 volte".
Vogliamo inoltre che il gattino emetta un miagolio mentre disegna ogni cerchio. Andiamo sul gruppo
di comandi Suono e selezioniamo l'istruzione "produci suono miao" che collocheremo all'interno del
nostro blocco "ripeti" nel canvas. Il codice risultante è quello riportato di seguito.
Cliccando sulla bandierina verde il gattino disegnerà 10 cerchi rossi miagolando.
3. Realizzazione di un semplice gioco in linguaggio Scratch
Proviamo adesso a creare un semplice gioco che
abbia come protagonista il nostro gatto.
Supponiamo che sia in cucina e che voglia
prendere alcuni oggetti. Come prima cosa
impostiamo un nuovo sfondo scegliendo dalla
libreria quello di una cucina. Poi introduciamo
due nuovi sprite: cliccando sull'icona dell'omino
accanto a "Nuovo Sprite" si apre la Libreria in
cui compaiono tantissimi personaggi. Scegliamo
il pappagallino e la mela. Posizioniamo i due
nuovi sprite nella cucina: vogliamo che la mela
rimanga ferma a terra, mentre il pappagallino
dovrà muoversi continuamente volando da
sinistra a destra all'altezza dei pensili. Il gattino
dovrà cercare di prenderli per mangiarli. La
situazione di partenza è quella in figura.
Come potete vedere ora i due nuovi sprite
compaiono anche nelle icone degli sprite sotto
l'area di gioco.
Selezioniamo ora lo sprite del gattino e
definiamo nel canvas quali sono i suoi possibili movimenti.
Stabiliamo che premendo la freccia rivolta a destra il gatto si muoverà in avanti. Per fare questo
andiamo in Situazioni e scegliamo il comando "quando si preme il tasto freccia destra", che
trasciniamo nel canvas. Ad esso concateniamo il movimento "fai 10 passi". In questo modo tenendo
premuta la freccia destra il gatto andrà avanti. Se avessimo scritto 2 passi anzichè 10, il gatto
sarebbe andato avanti lo stesso, ma più lentamente.
In modo analogo stabiliamo che premendo la freccia sinistra il gatto camminerà all'indietro e farà
-10 passi.
La freccia "su" servirà invece per far muovere il gatto verso l'alto. Vogliamo che raggiunga l'altezza
dei mobili della cucina. Quello che dobbiamo modificare è il valore della coordinata y. Tra i
comandi del gruppo Movimento scegliamo quindi "cambia y di" ed imponiamo un salto di 160
(pixel), che appare un valore corretto per portare il gatto all'altezza desiderata. Trasciniamo quindi
anche questo comando nel canvas ed incastriamolo a "quando si preme il tasto freccia su".
Allo stesso modo stabiliamo che cliccando la freccia "giù" il gatto torni alla quota di partenza, cioè
dobbiamo imporre che y cambi di -160.
Infine vogliamo che il gatto faccia un vero e proprio salto quando ci clicchiamo sopra. Trasciniamo
quindi nel canvas la situazione "quando si clicca questo sprite" ed
attacchiamo a questa le seguenti istruzioni:
– "cambia y di 100" per far sì che il gatto partendo
dall'altezza dei mobili possa arrivare fino alla quota a cui
vola il pappagallino;
– "attendi 0,5 secondi" per far sì che il gatto rimanga a
quella quota per qualche istante; troviamo questa
istruzione in Controllo;
– "cambia y di -100" per riportare il gattino alla quota da cui
è partito.
Abbiamo in questo modo definito i cinque possibili movimenti
del gatto che trovate qui a lato: muoversi rispettivamente in
avanti, all'indietro, in alto, in basso e saltare.
Andiamo adesso a lavorare sugli altri due sprite. Innanzitutto
vogliamo far sì che entrambi spariscano quando il gatto li
raggiunge, come se venissero mangiati. Come si ottiene tutto
questo? Basta lavorare sui Costumi.
Selezioniamo lo sprite Parrot e poi andiamo su Costumi. Creiamo un nuovo costume scegliendo un
altro pappagallino e poi lo andiamo a modificare una volta che esso comparirà nell'area grigia a
destra. Selezioniamo il pappagallo e poi digitiamo "canc" sulla tastiera in modo che questo nuovo
costume del pappagallo sia senza immagine. Rinominiamo questo costume "parrot mangiato". Allo
stesso modo creiamo un nuovo costume per la mela che sia privo di immagine e che chiameremo
"apple mangiata".
Andiamo adesso ad impostare le istruzioni per il pappagallo. Vogliamo che quando viene raggiunto
dal gattino il suo costume cambi da quello attuale a quello di "parrot mangiato" in modo da
scomparire. Tutto ciò avverrà quando daremo inizio al gioco cliccando sulla bandiera verde.
Pertanto trasciniamo nel canvas "quando si clicca su bandiera verde" e attacchiamo a questo
comando il ciclo "per sempre" che troviamo nel gruppo Controllo. Questo ciclo serve per far ripetere
le istruzioni contenute al suo interno ogni volta che clicchiamo sulla bandiera verde. Il comando che
andremo ad inserire è "se ... allora", che si trova sempre nel gruppo controllo e che prende il nome di
istruzione condizionale. Al posto dei puntini dobbiamo inserire una condizione; se la condizione
risulterà vera, allora verrà eseguita l'istruzione conseguente. Nel nostro caso la condizione è toccare
il gattino. Andando nel gruppo Sensori, troviamo il blocco "sta toccando", nel quale bisogna
scegliere dal menu a tendina l'oggetto che viene toccato che nel nostro caso è lo sprite 1. L'istruzione
conseguente si trova nel gruppo Aspetto ed è "passa al costume parrot mangiato".
Creiamo inoltre un altro comando per far sì che quando si preme il tasto "spazio" il pappagallo possa
comparire di nuovo nella posizione iniziale che decidiamo sia in alto a sinistra, in modo da poter
ripetere il gioco. Basterà imporre che quando si preme questo tasto il pappagallo torni al costume
parrot e vada in posizione x: -200 e y: 50.
Il pappagallo infine deve muoversi continuamente da sinistra a destra dello sfondo dal momento in
cui il gioco ha inizio. Stabiliamo quindi che "quando si clicca sulla bandiera verde" avvenga "per
sempre" questa sequenza di istruzioni:
– "fai 50 passi";
– "attendi 0,3 secondi"; è il tempo di attesa tra i 50 passi e i successivi, per far sì che il
pappagallo si muova a scatti. Togliendo questa istruzione esso si muoverebbe molto più
velocemente;
– "rimbalza quando tocchi il bordo"; questa istruzione presente in Movimento serve appunto
per far sì che ogni volta che il pappagallo tocchi il bordo, si giri e ricominci a muoversi verso
la parte opposta.
In definitiva i comandi relativi al pappagallo sono questi:
Le istruzioni che impostiamo per la mela sono del tutto identiche a quelle del pappagallo, con l'unica
differenza che la mela rimarrà ferma durante il gioco e quindi non avrà bisogno del blocco di
comandi per il movimento. Esse sono in
definitiva quelle riportate nella figura
qui a lato.
Passiamo ora a definire i comandi per il
gattino. Vogliamo che quando tocchi il
pappagallo o la mela emetta un
miagolio e dica "Preso!!", mentre in
tutti gli altri momenti pensi "Ho fame". Per avviare il gioco si dovrà cliccare sulla bandiera verde e
poi, con le frecce della tastiera o cliccando sullo sprite stesso, si dovrà muovere il gatto per fargli
raggiungere i due oggetti.
Selezioniamo quindi lo Sprite 1 e trasciniamo nel canvas la situazione "quando si clicca su bandiera
verde" ed il ciclo "per sempre", nel quale collocheremo le istruzioni. Questa volta scegliamo in
Controllo l'istruzione condizionale "se ... allora ... altrimenti ...". La condizione da inserire dopo il se
è toccare il pappagallo o la mela, quindi è formata da due eventi. In questo caso si parla di
condizione booleana, mentre i due eventi prendono il nome di variabili booleane, ossia variabili che
possono assumere solo due valori, vero o falso.
Per concatenare i due eventi dobbiamo usare l'operatore "o" che troviamo nel gruppo degli
Operatori. "O", "e", "non" sono chiamati operatori booleani e servono per combinare tra loro le
variabili booleane. Essi si comportano in questo modo:
– l'operatore "o" applicato a due variabili d'ingresso restituisce il risultato VERO se almeno
una delle due variabili è vera;
– l'operatore "e" applicato a due variabili d'ingresso restituisce il risultato VERO se e solo se
entrambe le variabili sono vere;
– l'operatore "non" applicato ad una variabile d'ingresso restituisce come risultato l'opposto del
valore della variabile stessa.
Nel nostro caso l'operatore da scegliere è "o" in quanto è sufficiente che il gatto tocchi uno dei due
oggetti per far sì che si verifichino le istruzioni conseguenti. Inseriamo quindi all'interno delle due
caselle dell'operatore "o" le nostre variabili booleane prese dal gruppo Sensori, che sono
rispettivamente "sta toccando Parrot" e "sta toccando Apple". Andiamo poi ad inserire la condizione
così ottenuta dopo il "se".
Se la condizione booleana risulta VERA, si verificheranno le due istruzioni conseguenti che
andremo a collocare dopo "allora" e che sono rispettivamente:
– "produci suono miao" che troviamo nel gruppo Suono;
– "dire Preso!! per n secondi" che troviamo nel gruppo Aspetto; vogliamo che il gatto dica
"Preso!!" soltanto nel momento in cui tocca uno dei due oggetti, per cui impostiamo una
durata dell'evento pari a 2 secondi.
Se la condizione booleana risulta FALSA, ossia se il gatto non sta toccando nessuno dei due oggetti,
allora si verificherà l'istruzione da collocare dopo "altrimenti" che sarà "pensa Ho fame".
Creiamo inoltre un altro comando per far sì che il gattino possa posizionarsi di nuovo in basso a
sinistra quando si preme il tasto "spazio", in
modo da poter ripetere il gioco. Basterà
imporre che quando si preme questo tasto il
gatto torni nella posizione definita dalle
coordinate x:-160 e y:-125; troviamo questa
istruzione nel gruppo Movimento.
In definitiva premendo il tasto spazio tutti e
tre gli sprite torneranno nelle condizioni
iniziali ed il gioco sarà pronto per ripartire.
Quindi il gatto, oltre ai cinque comandi per il
movimento visti in precedenza, avrà anche le
istruzioni che vedete qui a lato.
Il gioco è pronto per partire. Cliccate sulla bandiera verde e buon divertimento!
Come esercizio potete provare a creare un nuovo videogioco prendendo spunto da questo,
utilizzando in particolare le seguenti istruzioni: "ripeti n volte", "per sempre", le condizionali, gli
operatori booleani e le funzioni.
CONCLUSIONI
L'obiettivo di questa unità didattica è quello di imparare a programmare in modo divertente ed
efficace. Ho pensato di partire dalla lezione "Frozen" perchè utilizza la programmazione informatica
per disegnare figure geometriche. Secondo i programmi ministeriali è previsto infatti che in 1°
media gli allievi affrontino la geometria piana sia in matematica che in ed. tecnica, dove grazie al
disegno geometrico imparano a costruire le figure piane più importanti e a conoscerne le proprietà.
Scoprire che si può disegnare non solo su carta, ma anche al computer e che in poco tempo è
possibile realizzare disegni geometrici anche molto complessi, porta i ragazzini a mostrare curiosità
ed interesse per questo nuovo approccio metodologico ed in più li aiuta ad apprendere in modo
differente le regole della geometria. Non solo, c'è molto di più. Gli allievi mentre disegnano
imparano a programmare. La lezione “Frozen” mostra come da una semplice sequenza di istruzioni
che è sufficiente dare per realizzare singole righe, si passi ad utilizzare i blocchi di istruzioni che
consentono di velocizzare le operazioni in modo tale da poter disegnare figure più articolate.
Quando poi i ragazzini si rendono conto che si può andare ben oltre a dei semplici disegni, che si
può arrivare a "creare" qualcosa di personale come ad esempio un videogioco, si sentono ancora più
attratti dal programmare e in alcuni di loro può nascere una vera e propria passione per l'informatica.
Al di là di questo, imparare a programmare fin dalla scuola dell'obbligo è di fondamentale
importanza per tutti gli alunni in quanto l'informatica porta ad una seie di vantaggi: favorisce lo
sviluppo della creatività poichè mostra che per ogni problema possono esserci più soluzioni efficaci;
aiuta a risolvere problemi complessi non solo in ambito informatico, ma anche in altre aree; stimola
a ragionare in modo accurato e preciso dal momento che un programma per poter funzionare
correttamente deve essere perfetto nei minimi dettagli.
Pertanto l'informatica nella scuola dell'obbligo verrebbe a rispondere a due esigenze: quella di essere
utile a tutti da un punto di vista pratico, in quanto molte professioni nella società di oggi richiedono
abilità digitali; quella di essere d'altra parte uno strumento intellettuale molto valido per sviluppare
abilità concettuali essenziali utili ad ogni allievo a prescindere da quale sarà il futuro lavoro.
Nella società contemporanea, in cui la tecnologia dipende fortemente dall'informatica e la diffusione
dei computer aumenta sempre più, avere familiarità con i concetti di base della programmazione è
un elemento fondamentale per il percorso formativo di una persona. Ogni lavoro richiede infatti di
possedere le competenze di base nel campo dell'informatica ed è sempre più importante che la
formazione avvenga nella scuola primaria e secondaria, prima dell'università. Solo in questo modo
possiamo essere sicuri che tutti gli studenti abbiano acquisito tali abilità, che risultano indispensabili
sia per quelli che decidono di non frequentare l'università e di entrare nel mondo del lavoro, sia per
coloro che al contrario la frequentano, in quanto tutte le discipline universitarie richiedono
competenze informatiche di base o comunque abilità analitiche per le quali studiare l'informatica
nella scuola primaria e secondaria fornisce un'eccellente preparazione.
Se oltre ad essere utile essa viene vista dagli alunni più giovani anche come un'attività divertente ed
accattivante, ecco che a maggior ragione diventa una disciplina da inserire a tutti gli effetti nei
programmi ministeriali della scuola dell'obbligo.