In questo post proviamo a rispondere a qualche domanda in merito al coding così che possa diventare un argomento di facile comprensione. Soprattutto cercheremo di capire perché è importante utilizzare il coding a scuola.
Cosa significa coding in italiano?
Traducendo letteralmente dall’inglese “coding” significa “scrivere codice” che, di fatto, è l’attività principale di un programmatore. Un programma è un elenco di istruzioni scritte rispettando determinate regole e una certa sintassi in modo da poterle poi passare ad un computer perché le “legga” e le interpreti.
Esistono tanti linguaggi di programmazione diversi, esattamente come nel mondo si parlando lingue diverse e solitamente la prima cosa che viene scelta quando si inizia a scrivere un programma è quella di scegliere il linguaggio da utilizzare. In gergo, ovviamente, la parola “coding” indica l’attività di scrivere un programma (scrivere codice) a qualsiasi livello di competenza ma, generalmente, viene utilizzata per indicare il lavoro svolto dai bambini che si cimentano le prime volte con questo approccio utilizzando, in particolare, la programmazione visuale a blocchi.
Quale linguaggio di programmazione scegliere?
Esistono linguaggi con diversi gradi di difficoltà per poter accompagnare gli studenti nel corso del loro apprendimento. Tra quelli più utilizzati a livello scolastico citiamo, per esempio, Python che viene definito un linguaggio di programmazione di alto livello, ciò significa che si adatta facilmente a qualsiasi hardware, è di tipo testuale ed è facile sia da leggere che da scrivere. Se, per esempio scriviamo:
print(“Ciao!”)
sullo schermo verrà mostrata la parola Ciao!
Negli anni sono stati creati e messi a punto tanti diversi linguaggi di programmazione con scopi diversi che però possono anche essere combinati tra loro. Python, per esempio, può essere usato sia per la programmazione orientata agli oggetti sia per la procedurale. La scelta dell’approccio o del linguaggio spesso dipende dalle preferenze del programmatore. Pur essendo una “scienza esatta” la programmazione risente molto delle preferenze del programmatore.
A cosa serve il coding?
I programmi informatici sono ovunque. La programmazione non riguarda più soltanto i sistemi informatici convenzionali. Il mondo sta diventando sempre più digitale e quasi tutto funziona grazie a software, incorporati in dispositivi come smartphone e tablet, elettrodomestici e perfino sistemi di trasporto. I programmi informatici vengono utilizzati per:
- Centro dati: somiglia a un sistema informatico su larga scala.
- Lavatrice: molti elettrodomestici dispongono di programmi integrati per svolgere una determinata funzione.
- Mezzi di trasporto: i software possono essere usati per monitorare i sistemi e le prestazioni di un’automobile, inclusi velocità, temperatura e carburante. Anche il sistema di posizionamento globale (GPS) per la navigazione richiede l’impiego di programmi.
- Computer desktop: i computer sono ormai ampiamente usati in uffici e case private per la gestione di attività amministrative e creative come musica, design, scrittura, operazioni bancarie e molto altro.
- Videogiochi: le console sono computer studiati per offrire un’eccellente esperienza di gioco.
- Fotocamera: le macchine fotografiche moderne usano software per modificare le impostazioni, catturare le immagini in digitale e consentire all’utente di sfogliare e rimuovere fotografie.
- Attrezzature industriali: le industrie possono prevedere un alto livello di automazione. Per operare, i robot della catena di montaggio, i sistemi di controllo e pianificazione e le videocamere per il controllo della qualità richiedono software specifici.
Perché il coding è importante ed è importante per tutti fare coding?
Il coding fa ormai parte di quasi ogni aspetto della vita e del lavoro moderni, e possedere conoscenze basiche di programmazione consente di usare i software con maggiore efficienza, creare programmi semplici e comunicare con altri sviluppatori. Gli ambiti coinvolti sono davvero tanti:
- Manager e impiegati: molte imprese creano e usano programmi specializzati. I sistemi software complessi sono sviluppati da ingegneri informatici, mentre i manager e gli impiegati spesso creano software semplici per risolvere problemi specifici o automatizzare mansioni che, se svolte manualmente, richiederebbero ore o perfino giorni.
- Artisti e appassionati: il coding può favorire molte forme di creatività. Gli artisti possono creare software per fare musica o realizzare opere d’arte con una componente interattiva; gli appassionati possono realizzare videogiochi o storie interattive, gestire semplici robot, controllare l’illuminazione o svolgere mansioni domestiche.
- Ingegneri informatici e sviluppatori Web: gli sviluppatori di software lavorano per imprese e organizzazioni di diverso tipo, che richiedono il loro intervento per gestire l’inventario ed effettuare ordini ai fornitori, organizzare i turni dei dipendenti e tenere nota delle ore lavorative, o inviare messaggi ai clienti. I siti Web spesso affiancano ai programmi esistenti una codifica personalizzata per determinate mansioni, e gli ingegneri informatici svolgono un ruolo cruciale nello sviluppo di sistemi che soddisfino le esigenze della clientela.
- Scienziati e ricercatori: il coding è anche usato per condurre esperimenti, analizzare dati e creare referti medici.
A cosa serve un programma in Scratch e cos’è?
Scratch è un linguaggio di programmazione visuale a blocchi che non richiede scrivere del codice, ma crea programmi usando blocchi grafici che contengono le istruzioni. Consente ai ragazzi di concentrarsi sull’aspetto creativo della programmazione, un programma scritto in questo linguaggio può, infatti, non avere un fine pratico ma può essere estremamente utile per imparare a programmare e per avviare un approccio problem solving. È particolarmente adatto a chi è alle prime armi per le sue caratteristiche:
- Drag and drop: per creare programmi, basta trascinare e rilasciare (drag and drop) i blocchi nell’area Codice. La digitazione è limitata al minimo, riducendo il rischio di errori.
- Struttura a puzzle: i blocchi di istruzioni si agganciano l’un l’altro come i pezzi di un puzzle, evitando assemblaggi errati: non sono consentite combinazioni insensate e gli errori di logica sono pertanto ridotti al minimo.
- Linguaggio efficace: Scratch è facile da usare ma, utilizzando i concetti chiave dei linguaggi di codifica professionali, rappresenta un’ottima introduzione generale alla programmazione.
- Codifica a colori: a ogni categoria di blocchi, per esempio Movimento, Suono, Controllo o Sensori, è attribuito un colore specifico, facilitandone l’identificazione e la lettura durante lo sviluppo di un programma.
Cos'è il pensiero computazionale?
Per scrivere un programma bisogna capire il modo in cui il computer elabora le istruzioni. Per essere capiti ed eseguiti, i compiti devono essere suddivisi in piccole porzioni. Per esempio, a un robot non si può chiedere di fare dei toast: è necessario programmare istruzioni precise e dettagliate per ogni fase.
- Apri il cassetto
- Estrai il pane
- Apri la busta
- Estrai la fetta
- Inserisci il pane nel tostapane
- Estrai la fetta
- Inserisci il panel nel tostapane
- Schiaccia il pulsante di accensione
- Attendi che il tostapane si fermi
Notiamo che potremmo scrivere le istruzioni in modo più efficiente risparmiando righe di codice:
- Apri il cassetto
- Estrai il pane
- Apri la busta
- Ripeti due volte
- Estrai la fetta
- Inserisci il pane nel tostapane
- Schiaccia il pulsante di accensione
- Attendi che il tostapane si fermi
Il pensiero computazionale si riferisce anche alla capacità di adattare la nostra logica al modo di lavorare del computer, così da ottenere i migliori risultati. Ma, in realtà, saper esprimere un’attività da compiere in modo più efficiente e compatto ci aiuta in ogni aspetto della vita.
Il pensiero computazionale si applica in mille campi diversi dalla programmazione ed è il motivo per cui oggi è importante saperlo praticare e insegnare ai più piccoli a praticarlo.