Cos’è computabile? “si dicono computabili quelle funzioni che, in linea di principio, possono essere calcolate con un elaboratore adeguatamente programmato”
Lo strumento didattico più utilizzato per educare i bambini al pensiero computazionale è il coding, che consente di apprendere le basi della programmazione informatica in modo pratico e divertente.
ALFABETIZZAZIONE INFORMATICA CAPACITA’ DI UTILIZZARE PROGRAMMI APPLICATIVI DI BASE PADRONANZA INFORMATICA LA CONOSCENZA DEL FUNZIONAMENTO DI UN SISTEMA INFORMATICO PENSIERO COMPUTAZIONALE LA CAPACITA’ DI AFFRONTARE QUALSIASI TIPO DI PROBLEMA UTILIZZANDO METODOLOGIE E STRUMENTI INFORMATICI (un processo mentale che consente di di risolvere problemi di varia natura seguendo metodi e strumenti specifici.)
DA QUI NASCE L’ESIGENZA DI AVVICINARE SIN DA PICCOLI GLI STUDENTI AL PENSIERO COMPUTAZIONALE CIOE’ AL MODO IN CUI IL COMPUTER ELABORA INFORMAZIONI PER RISOLVERE QUALSIASI TIPO DI PROBLEMA ED AL LINGUAGGIO DI PROGRAMMAZIONE IN GENERALE OSSIA IL CODING
Programmare aiuta a sviluppare competenze logiche e capacità di risolvere i problemi in modo creativo ed efficiente
INPUT OUTPUT ELABORATORE Programmazione • E` l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere un certo problema. INPUT OUTPUT Dati istruzioni ELABORATORE risultati
Struttura elementare MICROPROCESSORE Unita’ di INPUT Tastiera Mouse Scanner Penna ottica Touchpad ………. ……….. Unità Logico Aritmetica Unità di Controllo Unita’ di OUTPUT Stampante Video ……. Memoria Centrale Unità di ingresso/uscita Memoria di Massa
Una qualsiasi attività quotidiana può essere schematizzata alla luce del pensiero computazionale come un processo che da uno stato do partenza raggiunge uno stato finali con azioni elementari === A L G O R I T MO
ALGORITMI
ALGORITMO e` l'insieme ordinato delle azioni che risolve un dato problema P. l’algoritmo descrive un metodo risolutivo attraverso un insieme ordinato di azioni. l'esecuzione dell'algoritmo e` affidata ad un generico "esecutore", cioe` una macchina astratta in grado di interpretare ed eseguire ogni azione specificata nell'ordine indicato.
Proprieta` fondamentali dell’Algoritmo Eseguibilita`: ogni “istruzione” deve essere eseguibile da parte dell’esecutore dell’algoritmo; Non Ambiguita`: ogni istruzione deve essere univocamente interpretabile dall'esecutore Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, e' finito. Altre proprieta`desiderabili: • generalita`: corretto funzionamento dell'algoritmo anche variando alcuni aspetti del problema (ad esempio, la dimensione dell'insieme dei dati, il tipo dei dati, ecc.) • efficienza: tanto minore e` il numero di azioni eseguite per la risoluzione del problema, tanto maggiore e` l'efficienza. • determinismo: possibilita` di prevedere esattamente prima dell'esecuzione la sequenza di azioni che verranno eseguite, per ogni insieme di dati.
Il battello è di ridotte dimensioni. BISOGNA TRAGHETTARE TRE PASSEGGERI DA UNA SPONDA ALL’ALTRA DI UN FIUME. Gli aspiranti passeggeri sono tre: un lupo, una pecora, un cavolfiore . Il battello è di ridotte dimensioni. Talmente ridotte da non permettere lo spostamento in un’unica soluzione dei viaggiatori. Il barcaiolo può quindi trasferire solo uno dei tre alla volta. E sin qui non ci sarebbe nulla di male, a parte la seccatura di dover far avanti e indietro. Però: occorre anche prestare attenzione a cosa combinano i due passeggeri rimasti soli mentre il barcarolo è in acqua con il terzo.
Se lasciato solo il lupo mangia la capra e questa, se lasciata sola, mangia il cavolo.
il nostro eroe porta la pecora sull’altra riva, la soluzione: il nostro eroe porta la pecora sull’altra riva, poi attraversa ancora il fiume per raccattare il cavolfiore e trasferire pure lui. E a questo punto viene il bello, il colpo di genio del villico: una volta condotto alla meta la verdura, con gran destrezza e rapidità egli imbarca ancora la pecora, e la riporta alla partenza! Qui il nostro genio lascia salire il lupo, ma non prima di aver fatto scendere la pecora. Nuovo viaggio verso il litoraneo traguardo ove scaricare il lupo che raggiunge l’amico cavolfiore (i due possono convivere ignorandosi, il lupo non si alimenterà del cavolo e questi, il cavolo, con generosità risparmierà la vita al lupo). Adesso il barcarolo effettua l’ultimo guado, va a prendere la pecora e la porta di là. Risultato, raggiunto, i tre son vivi e felici dall’altra parte del fiume: finalmente possono pagare il biglietto e poi sbranarsi fra loro
F L O W C H A R T Rappresentazione di Algoritmi: Diagrammi di flusso E' un formalismo che consente di rappresentare graficamente gli algoritmi. • un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione. • ad ogni tipo di azione corrisponde ad un simbolo grafico (blocco) diverso. • ogni blocco ha un ramo in ingresso ed uno o piu` rami in uscita; collegando tra loro i vari blocchi attraverso i rami, si ottiene un diagramma di flusso • un diagramma di flusso appare, quindi, come un insieme di blocchi, collegati fra loro da linee orientate che specificano la sequenza in cui i blocchi devono essere eseguiti (flusso del controllo di esecuzione).
Il pensiero computazionale va ben oltre l’uso della tecnologia, ed è indipendente da essa (sebbene la sfrutti intensivamente): non si tratta di ridurre il pensiero umano, creativo e fantasioso, al mondo “meccanico e ripetitivo”di un calcolatore, ma si tratta di “risolvere problemi, progettare sistemi, comprendere il comportamento umano basandosi sui concetti fondamentali dell’informatica”
Grazie per la partecipazione e……buon algoritmo a tutti