<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Algorithms in your Classroom, now! by Luciana Teresa Mercuri</title>
      <link>https://padlet.com/lucianateresa_mercuri/7gqu9g7f164b</link>
      <description>Corso EMMA MOOC</description>
      <language>en-us</language>
      <pubDate>2017-11-04 13:57:16 UTC</pubDate>
      <lastBuildDate>2017-11-04 14:23:49 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet-assets.s3.amazonaws.com/icons/Balance.png</url>
      </image>
      <item>
         <title>1. GLI ALGORITMI NELLA NOSTRA VITA</title>
         <author>lucianateresa_mercuri</author>
         <link>https://padlet.com/lucianateresa_mercuri/7gqu9g7f164b/wish/203535309</link>
         <description><![CDATA[<div>Dobbiamo imparare a riconoscere gli algoritmi quotidiani. Acquisirne consapevolezza ci aiuterà a farne un uso migliore.<br>   1) Sai mettere le carte in ordine crescente? </div><div>Dopo averlo fatto, si passa alla seconda domanda:</div><div>    2) Sai dirmi come hai fatto? Per ora non abbiamo la risposta a questa domanda, ma siamo in grado di rispondere a quest’altra domanda più semplice:</div><div>    3) Quale carta hai mosso per prima? Muovendo la carta più bassa abbiamo già risolto buona parte del problema. </div><div>      4) Quante mosse hai fatto? In quanti passi siete arrivati alla soluzione? : i computer non hanno una visione d’insieme, al massimo può vedere due cose per volta. DOMANDA: come scegli la carta iniziale? Prima di posizionare la più bassa io devo guardare tutte le carte e ragionare e identificare nella mia testa l’ordine dalla più bassa alla più alta. Questo ragionamento abbastanza banale, non lo è più se ragioniamo come un computer che vede SOLO due cose alla volta. Perchè dovrei ragionare come un computer che è più stupido dell’uomo, quando io ho il mio colpo d’occhio di cui mi fido e col quale posso agire. </div><div>Lo stesso procedimento può essere applicato in qualsiasi altra situazione? Se io avessi 100 o un milione di carte da rimettere a posto, il colpo d’occhio non mi aiuterebbe, perchè mi trovo davanti a una quantità di cose da guardare che il colpo d’occhio non è in grado di gestire. RAGIONARE IN PICCOLA SCALA, COME FAREBBE UN COMPUTER, CI AIUTA AD ESTENDERE QUEL RAGIONAMENTO A UNA SCALA DOVE NEPPURE IL COLPO D’OCCHIO CI AIUTEREBBE = CAMMINARE PASSO/PASSO. Nei computer non esistono la sx e la dx, quindi la direzione non aiuta a risolvere un algoritmo.</div><div>Non posso distruggere il punto di partenza del problema, altrimenti non riuscirei a trovarne la soluzione. Posso spostare il contenuto dei singoli elementi che compongono il problema, per dipanare la matassa e trovare la soluzione. Risolvere un problema passo a passo richiede molti più passi rispetto a ciò che può vedere il mio colpo d’occhio, indipendentemente dal fatto che il colpo d’occhio mi aiuti o meno a trovare la soluzione al problema. </div><div>L’algoritmo che funziona in un caso, non necessariamente funziona in un altro caso. E allora? La correttezza dell’algoritmo va dimostrata dopo averlo formulato. Quindi: è sempre necessario dimostrare la correttezza dell’algoritmo, soprattutto dimostrarne la validità a livello generale e quindi renderlo sempre usufruibile. L’algoritmo suddivide la parte già ordinata, da quella ancora da ordinare: ogni passo dell’algoritmo ha un sottoinsieme già ordinato, e un sottoinsieme ancora da ordinare, e i due sottoinsiemi contengono tutti gli elementi dell’insieme originale. </div><div>La situazione iniziale mi dice che l’insieme già ordinato è vuoto, e l’insieme ancora da ordinare contiene tutti gli elementi. L’algoritmo deve incrementare l’insieme già ordinato con l’insieme ancora da ordinare. Aver dimostrato che la situazione iniziale è corretta e che l’algoritmo ci porta ad una situazione ancora corretta ma con un elemento in più ordinato, ci consente di dire che andando avanti,passo a passo, su ogni situazione corretta incrementalmente costruiremo un’altra situazione corretta. A questo punto, l’algoritmo diventa universale, cioè applicabile a qualsiasi situazione. </div><div>Qual è la complessità dell’algoritmo? E’ data dal conteggio di passi elementari che servono per arrivare alla soluzione. Tanto più lungo è l’insieme di partenza, tanto maggiore sarà il numero di passi necessari a metterlo in ordine. Come crescerà il numero di passi? Crescerà <strong>in proporzione al quadrato del numeri di elementi</strong>, quindi cresce molto più velocemente del numero di elementi del problema.  </div><div>E’ l’unico l’algoritmo per risolvere il problema? No, non lo è. Non c’è mai un solo modo per risolvere un problema. Potranno esistere soluzioni più veloci o più furbe allo stesso problema. I problemi NON hanno una loro complessità intrinseca. I problemi hanno la complessità dell’algoritmo col quale noi scegliamo di risolverli. Chi scopre un algoritmo e lo rende disponibile agli altri, sta cambiando la complessità di un problema. </div><div><strong><em>L’algoritmo è la componente umana dell’informatica.</em></strong> </div>]]></description>
         <enclosure url="" />
         <pubDate>2017-11-04 14:09:57 UTC</pubDate>
         <guid>https://padlet.com/lucianateresa_mercuri/7gqu9g7f164b/wish/203535309</guid>
      </item>
      <item>
         <title>2. IL CODING</title>
         <author>lucianateresa_mercuri</author>
         <link>https://padlet.com/lucianateresa_mercuri/7gqu9g7f164b/wish/203535803</link>
         <description><![CDATA[<div>Coding = scrittura di codice, codifica, programmazione (di un computer)</div><div><br></div><div>L’uso ricorrente del termine <em>code</em> ne ha modificato il significato, ed è scaturito un utilizzo in un ambito specifico. Il termine <em>coding</em> richiama l’uso ludico o didattico per sviluppare il pensiero computazionale.&nbsp;</div><div><br></div><div>Strumenti e metodi:</div><div>s’intende gli strumenti di programmazione a blocchi: <strong>code.org</strong> (v. la campagna “ora del codice”) - viene proposto uno schema di gioco, dove un personaggio deve eseguire il programma che gli viene imposto. La programmazione visuale a blocchi fa vedere cosa si sta programmando, vengono elencate e basta trascinare i blocchi per poterli utilizzare. Li possiamo utilizzare e comporre senza conoscere le regole sintattiche. La forma dei blocchi aiuta in questo e fa evitare gli errori sintattici. Possiamo comporre errori semantici, cioè sbagliare a posizionare i blocchi. Basterà cambiare l’ordine per correggere e modificare gli errori, senza aver bisogno di studiare la sintassi o la semantica. <strong>Scratch</strong> rende la programmazione un mezzo di espressione; offre una grafica scarna e giocosa. Su Scratch si fanno esercizi di programmazione.</div><div><br></div><div><strong>Coding unplugged</strong>, senza l’ausilio di metodi elettronici. Si possono ritagliare, e con le carte che rappresentano i movimenti, e si può muovere anche le istruzioni che si ricevono. Qui non si programma un computer, ma si applicano i meccanismi del coding. La programmazione, in questo caso, è affidata alle persone (non al computer).</div><div><br></div><div><strong>Robotica educativa</strong> e il coding: il coding è un componente della robotica educativa, e quest’ultima è uno degli ambiti in cui si può applicare il coding. Nessuna delle due contiene l’altra. La robotica educativa è pluridisciplinare, cosa che il coding non è. Ma non è ampia quanto le sue applicazioni, mentre il coding si può fare anche senza elementi elettronici, perché è un’attività concettuale. (<strong>codirobi</strong>)</div><div><br></div><div><strong>Pensiero computazionale = </strong>capacità di elaborare procedimenti costruttivi che portano alla soluzione di un problema attraverso una serie di passi elementari. Il programmatore deve necessariamente esercitare il proprio pensiero computazionale per dire al computer cosa deve fare. La creatività spetta alla persona che programma. La separazione di ruoli tra programmatore ed esecutore serve per capire che l’esecuzione del programma sia reale.</div><div><br></div><div>L’algoritmo è un procedimento finito che porta alla soluzione di un problema, attraverso una serie di passi elementari.</div><div><br></div><div>Perchè il coding a scuola? Perchè è un <em>soft skill</em> che può tornare utile a chiunque, indipendentemente da cosa vorrà fare da grande. Si tratta di avvicinarsi a questa abilità e svilupparla. Come deve entrare a scuola? Chiunque può praticarlo, qualsiasi insegnante può apprenderlo, metterlo nel cassetto e utilizzarlo quando è utile alla disciplina. Per praticare il coding bisogna solo che se ne faccia dimestichezza.&nbsp;</div><div><br></div><div>CODING SU RAISCUOLA andato in onda a marzo 2017: strumento leggero con cui fare a scuola in modalità unplugged</div><div><br></div><div>La filastrocca è un ottimo algoritmo per fare coding.</div><div><br></div><div>Bisogna calare gli algoritmi nella nostra realtà didattica.</div><div>Questo non è un corso di coding, ma un corso di algoritmi.</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-11-04 14:15:23 UTC</pubDate>
         <guid>https://padlet.com/lucianateresa_mercuri/7gqu9g7f164b/wish/203535803</guid>
      </item>
   </channel>
</rss>
