# data[].attributes.headline
Puoi scaricare questa lezione in formato immagine!

# data[].attributes.subject
Puoi scaricare questa lezione in formato immagine!

# data[].attributes.headline
Prima di terminare la lezione, prova ad immaginare un algoritmo codificato di fantasia (ad esempio far muovere un robot su una tavolozza di quadratini verso un punto preciso), trascrivilo su un foglio e ricorda di fare il debugging per controllare che non ci siano errori :)

# data[].attributes.subject
Prima di terminare la lezione, prova ad immaginare un algoritmo codificato di fantasia (ad esempio far muovere un robot su una tavolozza di quadratini verso un punto preciso), trascrivilo su un foglio e ricorda di fare il debugging per controllare che non ci siano errori :)

# data[].attributes.headline
Prova adesso a scrivere gli algoritmi per colorare le 4 tavolozze in basso servendoti del codice linee-frecce e una volta finito fai il debugging per controllare che il programma funzioni ;)

# data[].attributes.subject
Prova adesso a scrivere gli algoritmi per colorare le 4 tavolozze in basso servendoti del codice linee-frecce e una volta finito fai il debugging per controllare che il programma funzioni ;)

# data[].attributes.headline
Adesso proviamo a fare del debugging su qualcuno dei nostri algoritmi. Riesci a trovare il bug in questo codice linee-frecce per colorare la tavolozza nell'immagine in basso?

# data[].attributes.subject
Adesso proviamo a fare del debugging su qualcuno dei nostri algoritmi. Riesci a trovare il bug in questo codice linee-frecce per colorare la tavolozza nell'immagine in basso?

# data[].attributes.headline
Facile? Proviamo allora a trovare la patata nascosta fra i criceti ;)

# data[].attributes.subject
Facile? Proviamo allora a trovare la patata nascosta fra i criceti ;)

# data[].attributes.headline
E allora iniziamo ad allenarci al debugging. Prova a trovare il cane che si è nascosto fra le mucche...

# data[].attributes.subject
E allora iniziamo ad allenarci al debugging. Prova a trovare il cane che si è nascosto fra le mucche...

# data[].attributes.headline
Il debugging è una delle attività più importanti in informatica ed anche se a volte può apparire lunga ed estenuante è una pratica necessaria per correggere tutti gli errori (alcuni veramente microscopici) che possono bloccare tutta l'esecuzione del nostro programma. Richiede pazienza, perseveranza, attenzione ai dettagli. Ne basta uno fuori posto e l'intera creazione può crollare come un castello di carte quando ne manca una...ooops!

# data[].attributes.subject
Il debugging è una delle attività più importanti in informatica ed anche se a volte può apparire lunga ed estenuante è una pratica necessaria per correggere tutti gli errori (alcuni veramente microscopici) che possono bloccare tutta l'esecuzione del nostro programma. Richiede pazienza, perseveranza, attenzione ai dettagli. Ne basta uno fuori posto e l'intera creazione può crollare come un castello di carte quando ne manca una...ooops!

# data[].attributes.headline
Cosa è accaduto? Un piccolo errore di programmazione che però ha bloccato tutta l'esecuzione del programma. Potremmo forse rimuovere l'errore scrivendo: "per favore, portami l'acqua che è sul tavolo in cucina", oppure scrivere in modo più accurato "per favore, portami l'acqua che è sul tavolo in cucina in un bicchiere o in una bottiglia". La correzione di un errore per far eseguire alla perfezione un programma può essere sintetizzata in informatica con l'espressione: "rimuovere un bug", in inglese "debugging".                        Ripeti: D-E-B-U-G-G-I-N-G.        E' un termine riferito alla parola BUG che in inglese significa "insetto" e d'ora in avanti lo useremo spesso ;) 

# data[].attributes.subject
Cosa è accaduto? Un piccolo errore di programmazione che però ha bloccato tutta l'esecuzione del programma. Potremmo forse rimuovere l'errore scrivendo: "per favore, portami l'acqua che è sul tavolo in cucina", oppure scrivere in modo più accurato "per favore, portami l'acqua che è sul tavolo in cucina in un bicchiere o in una bottiglia". La correzione di un errore per far eseguire alla perfezione un programma può essere sintetizzata in informatica con l'espressione: "rimuovere un bug", in inglese "debugging".                        Ripeti: D-E-B-U-G-G-I-N-G.        E' un termine riferito alla parola BUG che in inglese significa "insetto" e d'ora in avanti lo useremo spesso ;) 

# data[].attributes.body
Sai da dove viene il termine "bug" in informatica? Nel 1947 un tecnico che cercava di scoprire le cause del malfunzionamento di un computer trovò la causa in una falena incastrata nei circuiti, riportando l'accaduto in un rapporto scritto su un foglietto...

# data[].attributes.headline
Facciamo un esempio. Immaginiamo di chiedere ad una persona (la chiameremo Marco): "per favore, portami il bicchiere d'acqua che è sul tavolo in cucina". E ipotizziamo che Marco invece di trovare un bicchiere con l'acqua trovi una bottiglia di acqua minerale (magari noi non ricordavamo non ci fossero bicchieri in cucina o avevamo dimenticato di comprarli o abbiamo semplicemente usato un'espressione colloquiale). Marco, guidato dal buon senso, dopo aver constatato che l'unica acqua presente in cucina si trova in quella bottiglia e che non ci sono bicchieri, molto probabilmente ci porterebbe la bottiglia e noi saremmo contenti perché avremmo la nostra acqua. Ma facciamo finta di inoltrare la stessa richiesta ad un robot (invece che a Marco) programmandolo con un codice che traduca nella lingua del computer la stessa richiesta: "per favore, portami il bicchiere d'acqua che è sul tavolo in cucina". Il robot si metterà a cercare senza sosta il bicchiere sul tavolo e, non trovandolo, ci lascerà aspettare in preda alla sete :(

# data[].attributes.subject
Facciamo un esempio. Immaginiamo di chiedere ad una persona (la chiameremo Marco): "per favore, portami il bicchiere d'acqua che è sul tavolo in cucina". E ipotizziamo che Marco invece di trovare un bicchiere con l'acqua trovi una bottiglia di acqua minerale (magari noi non ricordavamo non ci fossero bicchieri in cucina o avevamo dimenticato di comprarli o abbiamo semplicemente usato un'espressione colloquiale). Marco, guidato dal buon senso, dopo aver constatato che l'unica acqua presente in cucina si trova in quella bottiglia e che non ci sono bicchieri, molto probabilmente ci porterebbe la bottiglia e noi saremmo contenti perché avremmo la nostra acqua. Ma facciamo finta di inoltrare la stessa richiesta ad un robot (invece che a Marco) programmandolo con un codice che traduca nella lingua del computer la stessa richiesta: "per favore, portami il bicchiere d'acqua che è sul tavolo in cucina". Il robot si metterà a cercare senza sosta il bicchiere sul tavolo e, non trovandolo, ci lascerà aspettare in preda alla sete :(

# data[].attributes.headline
Addentrandoci nel "linguaggio delle cose" abbiamo visto alcuni semplici esempi di algoritmi codificati in modo da poter essere eseguiti da una macchina.  Le istruzioni devono essere univoche, ordinate e "tradotte" in modo che un qualunque dispositivo digitale possa comprenderle. Proprio per questo alle volte non tutto funziona come dovrebbe :0

# data[].attributes.subject
Addentrandoci nel "linguaggio delle cose" abbiamo visto alcuni semplici esempi di algoritmi codificati in modo da poter essere eseguiti da una macchina.  Le istruzioni devono essere univoche, ordinate e "tradotte" in modo che un qualunque dispositivo digitale possa comprenderle. Proprio per questo alle volte non tutto funziona come dovrebbe :0