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.