CODE
TECNOLOGIA
Il MIUR, in collaborazione con il CINI – Consorzio Interuniversitario Nazionale per l’Informatica, ha avviato questa iniziativa (che fa parte del programma #labuonascuola) con l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Partendo da un’esperienza di successo avviata negli USA che ha visto nel 2013 la partecipazione di circa 40 milioni di studenti e insegnanti di tutto il mondo, l’Italia sarà uno dei primi Paesi al mondo a sperimentare l’introduzione strutturale nelle scuole dei concetti di base dell’informatica attraverso la programmazione (coding ), usando strumenti di facile utilizzo e che non richiedono un’abilità avanzata nell’uso del computer.
Le lezioni interattive sono fruibili tramite web e sono suddivise in una serie di esercizi progressivi. La modalità avanzata (denominata "Corso Introduttivo ") consistente nel far seguire a quest'ora di avviamento un percorso più approfondito, che sviluppa i temi del "pensiero computazionale " con ulteriori 9 lezioni. Esse possono essere svolte quando si vuole: dopo Il labirinto prosegui in sequenza con le lezioni sotto indicate o direttamente dal sito di fruizione
Il "Corso Introduttivo " in modalità interattiva consiste nello svolgere, dopo Il labirinto, le seguenti 9 lezioni in sequenza:
L’obiettivo specifico della lezione interattiva L’artista è quello di comporre blocchi che descrivano passo passo i movimenti che l’artista deve compiere sullo schermo per ricalcare la figura proposta. La lezione consente di prendere confidenza con il concetto di pixel e con le coordinate utilizzate per specificare le posizioni dei punti sullo schermo, nonché di rafforzare la capacità di usare il blocco "ripeti ... volte".
Il risultato è un’insolita descrizione costruttiva di un’immagine che siamo altrimenti abituati a considerare nella sua interezza.
I movimenti che l’artista fa sul foglio assomigliano a quelli che il personaggio della lezione precedente faceva nel labirinto, ma questa volta i passi sono molto più piccoli e precisi.
Di livello in livello aumenta la complessità dei disegni che l’artista dovrà tracciare seguendo le nostre istruzioni.
I concetti introdotti in questa lezione sono:
- il pixel (ovvero il punto più piccolo dello schermo a cui possiamo attribuire un colore);
- il colore (attributo del pixel);
- l’angolo (formato dalla linea già tracciata e da quella che stiamo per tracciare);
- la scelta casuale (che in questo caso usiamo per creare effetti di colore);
- lo spessore della linea tracciata (espresso in numero di pixel).
L’obiettivo specifico della lezione interattiva L’artista 2 è quello di approfondire la confidenza con il blocco "ripeti ... volte" imparando ad usarlo in modo annidato (cioè all'interno di altri blocchi "ripeti ... volte").
Rispetto alla lezione precedente non vengono introdotti nuovi elementi di base, ma vengono proposti esercizi creativi che portano alla realizzazione di figure complesse ripetendo semplici figure geometriche con piccole rotazioni e spostamenti progressivi.
L'obiettivo specifico della lezione interattiva La contadina è quello di prendere confidenza con la ripetizione sia delle azioni che devono essere compiute un numero prestabilito di volte sia di quelle che devono essere ripetute per tutto il tempo in cui è vera una condizione.
La contadina deve preparare un campo per la coltivazione, rimuovendo i mucchi di terra e riempiendo le buche con la sua pala.
I mucchi di terra e le buche hanno dimensioni diverse che richiedono uno o più colpi di pala per essere livellati. Piccoli numeri scritti accanto ai mucchi e alle buche indicano i colpi di pala necessari a livellarli.
Bisogna usare i blocchi "ripeti ... volte" per indicare azioni da eseguire un numero prestabilito di volte e i blocchi "mentre" per indicare azioni da ripetere per tutto il tempo in cui è vera una condizione.
L’obiettivo specifico della lezione interattiva L’artista 3 è quello di suddividere i blocchi in categorie coerenti e introdurre variabili e funzioni.
Questa volta l’artista a cui dare istruzioni è uno Zombie a cui piace disegnare. Per farlo non ci limiteremo ad usare le istruzioni già incontrate, ma useremo anche nuove funzioni che ci consentono di riutilizzare sequenze di istruzioni più semplici.
Ad esempio, nelle lezioni precedenti abbiamo già visto come disegnare un quadrato spostandoci avanti e ruotando di 90 gradi per 4 volte. Questa sequenza di istruzioni viene ora rappresentata da una funzione che ci consente di dire allo zombie di disegnare un quadrato, specificando solo la lunghezza del lato.
Quando dovremo dire allo zombie di disegnare ripetutamente la stessa cosa, useremo un contatore per non perdere il conto delle ripetizioni e useremo le variabili per rappresentare tutte quelle grandezze che non hanno un valore costante.
I concetti principali introdotti in questa lezione sono:
- le categorie di istruzioni (che ci permettono di organizzare meglio il lavoro e la ricerca dell’istruzione di cui abbiamo bisogno);
- le funzioni (che rappresentano come una sola istruzione una procedura complessa composta da tante istruzioni elementari);
- le variabili (che rappresentano parametri ai quali possiamo assegnare un valore nel corso del programma);
- le ripetizioni con contatore (che ci permettono di tenere il conto del numero di ripetizioni che stiamo eseguendo), realizzato dal blocco "ripeti con contatore".
L’obiettivo specifico della lezione interattiva La contadina 2 è quello di abituarci a creare funzioni che rappresentano azioni complesse per le quali non esistono istruzioni elementari. Una funzione racchiude una sequenza di blocchi alla quale associa un nome che può essere utilizzato a sua volta come istruzione per scatenare tutte le azioni previste nella sequenza.
Nel nostro caso la contadina dovrà evitare mucche, riempire buche e rimuovere mucchi di terra. Potremmo dirle come fare usando lunghe sequenze di blocchi elementari, ma risulterà molto più semplice e chiaro se lo faremo creando funzioni specifiche per aggirare un ostacolo, o per riempire una buca.
Il concetto principale introdotto in questa lezione è la programmazione procedurale, che consiste nella creazione e nell’uso di funzioni e procedure. La maggiore novità rispetto alle lezioni precedenti è la creazione delle funzioni di cui abbiamo bisogno.
L’obiettivo specifico della lezione interattiva L’artista 4 è quello di spiegare l’utilità delle funzioni con parametri.
L’artista dovrà fare disegni che contengono figure geometriche ripetute più volte, ma con colori o dimensioni diverse.
Sappiamo già dalle lezioni precedenti che è utile creare funzioni che racchiudono la sequenza di istruzioni elementari necessaria a disegnare ogni figura geometrica, ma se eseguiamo due o più volte la stessa funzione otteniamo esattamente lo stesso risultato.
Per riutilizzare la stessa funzione ottenendo figure di dimensione o colore diverso dobbiamo quindi introdurre dei parametri di ingresso. Ad esempio, nel momento in cui creiamo la funzione “disegna un quadrato”, non specifichiamo la lunghezza del lato, ma definiamo un parametro d’ingresso, chiamato “lunghezza”, che usiamo come variabile. Quando decideremo di usare la funzione non ci basterà più indicarne il nome, ma dovremo anche specificare il valore del parametro di ingresso che determinerà la dimensione del quadrato.
I concetti principali introdotti in questa lezione sono proprio le funzioni con parametri.
L’obiettivo specifico della lezione interattiva La contadina 3 è quello di introdurre una delle attività fondamentali nella programmazione: l’individuazione e la correzione degli errori!
I programmi di reale interesse descrivono procedure molto complesse che vengono affidate ad un calcolatore, cioè un esecutore automatico privo di qualunque intelligenza. Questo esecutore farà esattamente ciò che noi gli diremo di fare, errori compresi!
Anche il più bravo programmatore commette errori e ha bisogno di provare il proprio codice per verificare che funzioni e che faccia esattamente ciò per cui è stato scritto. Se qualcosa non va bisogna saperne individuare la causa e correggerla. Questa fase di verifica e correzione degli errori si chiama in inglese “debugging ”. L’origine del nome, che deriva dall’inglese “bug ”, risale agli anni ’40 del secolo scorso, quando fu proprio un insetto (“bug ”, per l’appunto) a produrre, causando un corto circuito, il malfunzionamento di uno dei primi calcolatori.
Per familiarizzare con la correzione degli errori, in questa lezione vengono proposti esercizi già risolti, ma con errori che dovremo individuare e correggere.
L’obiettivo specifico della lezione interattiva L’artista 5 è quello di stimolare la creatività del programmatore prendendo spunto dal codice asorgente aperto scritto da altri.
Anche qui, come nella lezione precedente, ci vengono proposti dei programmi già scritti, ma questa volta non dobbiamo cercare degli errori, ma capire cosa fanno e modificarli a nostro piacimento per fare qualcosa di diverso. Riutilizzando il codice già scritto saremo in grado di fare cose molto diverse e molto divertenti in pochissimo tempo. E’ il vantaggio dei "programmi a sorgente aperto" (open source code ), che rendono disponibile il codice affinché altri possano usarlo come base per fare qualcosa di nuovo accelerando il processo di innovazione.
Nell’ultimo degli esercizi proposti troviamo anche un altro elemento nuovo che merita di essere discusso: la ricorsione. Il codice ci propone una funzione parametrica (“disegna un albero”) al cui interno troviamo un’invocazione alla funzione stessa, ma con un parametro diverso. Se osserviamo il comportamento del disegnatore durante l’esecuzione del programma ci accorgiamo infatti che per disegnare l’albero parte dal tronco e inizia a disegnare un ramo a sinistra. Ma il disegno del ramo assomiglia a quello dell’intero albero, se non per il fatto che è più piccolo e ha un numero inferiore di livelli di diramazione. Quindi la stessa funzione usata per disegnare l’albero può essere usata per disegnare ogni ramo e così via, fino ad arrivare alle foglie.
Quindi i concetti fondamentali introdotti in questa lezione sono due:
- il riuso del codice a sorgente aperto (che è uno dei principali motori dell’innovazione);
- la ricorsione (l’utilizzo di una funzione all’interno della funzione stessa).
La lezione Conclusione viene svolta come conclusione sia del ciclo di lezioni interattive che del ciclo di lezioni Senza Rete. Essa invita a rivisitare tutte le lezioni e i concetti già approfonditi. Un suo primo obiettivo è quindi quello di consolidare le competenze apprese. Ad un secondo livello, tuttavia, la lezione suggerisce agli studenti il metodo per continuare il loro cammino nell’informatica.
Gli studenti saranno divisi in gruppi: ad ogni gruppo è assegnato un insieme di lezioni già svolte. A ciascun gruppo viene richiesto di inventare un’attività (un gioco, la costruzione di un oggetto, ecc.) che sfrutti (o possa essere usata per introdurre) le abilità trattate nelle lezioni assegnate a quel gruppo.
TEMPI: Tutto l’anno

Nessun commento:
Posta un commento