5. + coding

Solo una parte del seguente testo è stato estratto dal testo della Zanichelli, si consiglia vivamente l'adozione del libro. 

Il problem solving 

Per affrontare con sistematicità un problema di qualsiasi tipo, può essere molto utile applicare un metodo conosciuto come problem solving, il cui impiego prevede la ripetizione di specifici passi fino ad arrivare alla soluzione del problema:

Come vedi dalla figura, il problem solving è un’attività ciclica, che dopo il quinto passo prevede il ritorno al primo passo per definire nuovamente il problema alla luce dei risultati ottenuti. 

Si applica di nuovo il metodo in due casi: 

■ per ottenere una soluzione valida, quando la precedente non lo sia; 

■ per valutare l’esistenza di una soluzione migliore della precedente. 

Quando cerchi di risolvere un problema puoi arrivare a una soluzione errata, che nel problem solving non è inutile, anzi: l’errore ha un valore positivo, perché le soluzioni non corrette possono aiutare a trovare quelle giuste e a restringere il campo delle possibilità. La fase successiva del processo risolutivo di un problema può partire dall’analisi del procedimento che ti ha portato a una conclusione errata. L’attività tipica del problem solving è applicata, a volte inconsapevolmente,

quando si cerca una soluzione a un problema complesso, quando si risolve un indovinello e, spesso, quando si lavora in gruppo. Davanti a un problema non arrenderti mai: studialo, cerca una soluzione, applicala e poi controlla il risultato; se non è corretta, il procedimento impiegato può esserti comunque utile per trovare la soluzione giusta. Così fanno anche i grandi scienziati!

Il pensiero computazionale 

Cos'è il pensiero computazionale? 

Il pensiero computazionale (computational thinking) è un insieme di processi e tecniche per analizzare un problema e formulare una soluzione che qualsiasi persona o anche una macchina possa eseguire.

Come funziona il pensiero computazionale.

Un problema complesso viene analizzato razionalmente, suddiviso in sottoproblemi (decomposition), rappresentato e generalizzato in un sistema di variabili.

Il risultato finale è una sequenza di modelli logico-matematici molto più semplici del problema originale. Per ciascun modello viene cercata una soluzione secondo le regole del computer ( computazionali ). 

Le fasi del pensiero computazionale 

Le fasi del pensiero computazionale sono essenzialmente tre:

Astrazione 

La formulazione del problema in una forma generale e astratta. 

Automazione 

La soluzione deve essere espressa sotto forma di algoritmo, in modo che sia interpretabile sia da un essere umano che da una macchina. 

Esecuzione 

L'esecuzione della soluzione avviene in modo automatico, seguendo rigorosamente i passi dell'algoritmo.

Un esempio di pensiero computazionale 

Il pensiero computazionale è già molto comune nella vita quotidiana. 

Ad esempio, lo utilizziamo quando dobbiamo dare indicazioni stradali.

Lo stesso metodo possiamo usarlo per programmare un app., per programmare un robot, per spiegare una ricetta di cucina o per insegnare ad uno studente come si risolve un'equazione matematica.

La programmazione è la creazione di un algoritmo.

Dal pensiero computazionale al programma.

Creare programmi per computer è un ottimo metodo per applicare i principi del pensiero computazionale. 

Il codice in cui si scrive un programma di solito è in linguaggio testuale, ma esistono anche linguaggi di programmazione visuali che consentono di creare programmi accostando tra loro blocchi grafici corrispondenti a istruzioni. 

La scrittura di un programma per computer è detta coding (dall’inglese to code, scrivere in codice).

Anche le migliori università (p.es., Berkeley, Harvard) insegnano la programmazione visuale con i blocchi. Ma i blocchi che metti insieme possono in code.org essere rappresentati anche in JavaScript, uno dei linguaggi di programmazione più usati al mondo.

alcuni link interessanti

Linguaggi di programmazione: scopri quali sono i più utilizzati nel 2019

Video guida per imparare a programmare da zero

Code.org è un sito dov'è possibile programmare delle app. con il linguaggio Javascript