back to top

Linguaggi di programmazione per bambini: giochiamo a fare Coding!

Perchรฉ insegnare la programmazione ad un bambino? L’insegnamento del coding รจ l’alfabetizzazione del nuovo millennio.

Conoscere come “ragionano le macchine”, infatti, รจ essenziale, in un mondo sempre piรน digitale come quello in cui viviamo.

Iniziare ad apprenderne i concetti di base del pensiero computazionale in etร  scolare, pertanto, รจ il modo migliore per formare i bambini ed i ragazzi ad un uso attivo e conspaevole della tecnologia, ma non solo.

La formazione dei giovanissimi in etร  scolare รจ un argomento molto delicato e in questa sede non abbiamo alcuna intenzione ad erigerci a giudici del sistema scolastico.

L’obbiettivo di questo articolo, semplicemente, รจ quello di fornire al lettore delle indicazioni utili su quelli che potrebbero essere gli strumenti migliori per creare delle competenze digitali di base in tema di programmazione e funzionamento delle applicazioni.

Vi spiegherรฒ perchรฉ รจ importante spiegare il coding a bambini e ragazzi e quali sono i migliori linguaggi e strumenti per “giocare a programmare”.

Insegnare programmazione ai bambini: i vantaggi di un approccio precoce

Esistono diverse ragioni per imparare a programmare giร  da giovanissimi, parliamo in sostanza di vantaggi come:

  • lo sviluppo di capacitร  logiche;
  • l’acquisizione di skill in tema di problem solving;
  • le possibilitร  di comprendere meglio le dinamiche sottostanti un mondo sempre piรน influenzato dalla tecnologia, dai software e dai dispositivi elettronici;
  • l’opportunitร  di capire precocemente se determinate tematiche sono di proprio interesse;
  • lo sviluppo di una forma mentis utile in futuro per le scelte riguardanti lo studio e il lavoro.

Il fatto di acquisirne le basi sin da bambini non rende la programmazione una strada obbligata per i minori una volta divenuti sufficientemente maturi da scegliere i propri percorsi scolastici e professionali, al contrario rappresenta l’occasione di apprendere capacitร  utili anche in altri ambiti del quotidiano.

A tal proposito si tenga conto che lo studio della programmazione richiede di comprendere anche il significato di diversi termini e frasi in Inglese, divenendo cosรฌ anche uno strumento utile per l’apprendimento di questa lingua.

Insegnare ad un bambino i rudimenti di coding, quindi, รจ senza dubbio una buona idea che lo aiuterร , da grande, a rapportarsi meglio con la tecnologia e gli strumenti che, a prescindere dalla strada che deciderร  di percorrere, dovrร  inevitabilmente utilizzare nella vita personale o professionale.

Il pensiero computazionale

Volendo porre l’accento su logica e problem solving, รจ possibile sottolineare che in entrambi i casi si tratta di tecniche legate al cosiddetto pensiero computazionale (o computational thinking), un concetto con cui รจ possibile descrivere qualsiasi processo mentale iterativo, o insieme di processi, che consenta di identificare un problema e di risolverlo. Esso si articola in 3 fasi:

  1. astrazione: viene identificato il problema da risolvere e, se troppo complesso, viene diviso in problemi piรน piccoli da affrontare in sequenza;
  2. automazione: viene espressa la possibile soluzione al problema (o catena di soluzioni ai sotto-problemi che compongono quello principale);
  3. analisi: viene applicata la soluzione ipotizzata e se ne verificano gli effetti.

Quello del pensiero computazionale รจ un concetto formalizzato in ambito informatico e la sua applicazione diventa tanto piรน efficace quanto prima ci si approccia ad esso.

Il coding รจ una pratica quasi interamente improntata sulle fasi esposte in precedenza e, data la pervasivitร  della programmazione in ogni aspetto della nostra vita, esso puรฒ essere considerato ormai una capacitร  d’importanza paragonabile allo scrivere, leggere e sapere contare che sono tradizionalmente considerate le abilitร  di base per qualsiasi individuo scolarizzato.

Il pensiero computazionale รจ un’espressione di somma razionalitร  ed รจ un approccio utile non solo nell’ambito del coding.

Sapere identificare un problema, analizzarlo, eventualmente scomporlo in problemi piรน piccoli, e trovare la soluzione ottimale al suo soddisfacimento non sono tematiche puramente informatiche, ma attengono alla vita di tutti i giorni.

Come insegnare programmazione ai bambini

Chi si affaccia per la prima volta al coding potrebbe essere erroneamente indotto a pensare che si tratti di qualcosa di estremamente complesso. In realtร , riferendosi ai concetti di base, lo studio del coding puรฒ rivelarsi estremamente divertente ed essere proposto ai bambini sotto forma di gioco.

Esistono, infatti, linguaggi e framework appositamente creati per la didattica di bambini e ragazzi che trasformano l’apprendimento in un’attivitร  ludica.

Di pe se, inoltre, si consideri che l’utilizzo stesso del computer (e di altri dispositivi digitali) rappresenta per i bambini uno stimolo importante in grado di coinvolgerli maggiormente rispetto ai tradizionali supporti didattici.

In altre parole: non abbiate paura che i vostri bambini si annoino approcciando il coding perchรฉ, se fatto nel modo corretto (con la supervisione e l’aiuto di un adulto, ovviamente) il percorso didattico si rivelerร  piรน semplice e divertente di quanto possiate pensare.

Attraverso la gamification, infatti, gli studenti vengono coinvolti nelle attivitร  in classe e incoraggiati a imparare: l’uso dell’apprendimento simile a un gioco motiva la partecipazione, il coinvolgimento e aggiunge divertimento al processo di apprendimento.

Ambienti di sviluppo per bambini e ragazzi

Nel proseguo di questo articolo vi presenterรฒ diversi strumenti attraverso i quali insegnare il coding ai bambini.

Piรน che di linguaggi di programmazione per bambini si tratta di ambienti di sviluppo che fanno prevalentemente uso di paradigmi visuali.

Il loro scopo รจ consentire, anche ai piรน piccoli, di creare semplici programmi che metteranno alla prova le loro abilitร  logiche per la soluzione di semplici problemi o per il raggiungimento di obiettivi specifici, solitamente con il supporto di una grafica in stile cartoon e ambientazioni divertenti.

Utilizzando gli strumenti della logica computazionale i bambini impareranno a muovere personaggi sullo schermo, a compiere azioni via via piรน complesse sino a dar vita fino a veri e propri programmi.

Analizziamo quindi nel dettaglio alcuni strumenti di facile accesso che potrebbero semplificare l’insegnamento della programmazione e il suo apprendimento da parte dei bambini.

Swift Playgrounds

Swift Playground da Apple

Swift Playgrounds รจ un’applicazione della Apple per il tablet iPad che insegna a programmare con il linguaggio Swift, soluzione di riferimento per l’ecosistema iOS, in modalitร  interattiva.

Per poterla utilizzare non sono necessarie competenze informatiche di base ed รจ quindi adatta a tutti, compresi i piรน piccoli.

L'interfaccia di Swift Playground

Il programma di apprendimento รจ stato organizzato sulla base di โ€œsfideโ€ superando le quali รจ possibile salire di livello e passare ai playground piรน avanzati, come riferimento per affrontare i vari โ€œrompicapoโ€ proposti รจ disponibile una serie di lezioni a partire dalle โ€œNozioni fondamentali di Swiftโ€ che vengono presentate come un gioco attraverso il quale imparare le basi del codice con cui muovere un personaggio virtuale in un ambiente 3D.

Tra i vantaggi di Swift Playgrounds vi รจ anche l’opportunitร  di scoprire i segreti della programmazione che consente di guidare robot e droni, cosรฌ come di interagire con gli oggetti connessi tramite tecnologie per l’IoT (Internet of Things).

Per maggiori informazioni www.apple.com/it/swift/playgrounds/

Kodu Game Lab

Kodu Game Lab

Kodu Game Lab รจ un ambiente di sviluppo per lo sviluppo di videogame in 3D che รจ stato appositamente progettato per insegnare ai bambini le basi della programmazione.

In principio esso era stato realizzato avendo come piattaforma di riferimento la console videoludica Xbox 360 e C# come linguaggio, tale caratteristica consentiva di sviluppare soluzioni basate sull’uso dei controller, mentre con il porting su PC l’ambito รจ stato esteso anche al mouse e alla tastiera.

A livello pratico, la programmazione con Kodu Game Lab ha un approccio visuale ed รจ articolata sulla base di โ€œtileโ€, cioรจ tessere che fungono da piccoli blocchi di codice con cui creare delle ambientazioni in cui si muovono personaggi dotati di caratteristiche proprie con comportamenti programmabili a propri.

L'interfaccia Kodu Game Lab

E’ possibile definire regole differenti per ogni nuovo gioco mentre tramite i โ€œtileโ€ si possono impostare eventi ispirati a situazioni reali, azioni e oggetti destinati a manifestarsi in base a quanto stabilito dal programmatore. Quest’ultimo puรฒ fare riferimento a risorse online per l’apprendimento, video didattici e una ricca raccolta di Tips and Tricks.

Per maggiori informazioni www.kodugamelab.com

Blockly

Blockly

La piattaforma Blockly fa capo al programma di formazione online Code with Google ed รจ accessibile via browser Web. Il progetto si basa sull’omonima libreria che permette di integrare un’applicazione mobile o un sito Web con un visual code editor, quest’ultimo consente di programmare utilizzando degli elementi grafici detti โ€œblocchiโ€ che offrono una rappresentazione grafica dei principali concetti del coding come per esempio le variabili, i cicli e le espressioni logiche.

Un’impostazione di questo tipo dร  la possibilitร  di applicare da subito i principi della programmazione senza una preparazione teorica riguardante i costrutti sintattici.

L'interfaccia di Blockly

Uno dei principali vantaggi di Blockly risiede inoltre nel fatto che i blocchi creati possono essere esportati in diversi linguaggi per il Web e non solo come per esempio PHP, Python, JavaScript, Dart e Lua.

Per quanto riguarda invece la sua versione dedicata alla formazione dei piรน piccoli, Blockly viene proposta attraverso il programma โ€œBlockly Gamesโ€ che si articola in una serie di piccoli videogame didattici pensati per insegnare la programmazione. Tutti gli esempi disponibili sono stati pensati per bambini che non hanno alcuna esperienza pregressa nel coding ma li preparano ai linguaggi tradizionalmente basati su un approccio testuale.

Per maggiori informazioni blockly.games/?lang=it

Scratch

Scratch

Scratch รจ una piattaforma di programmazione online che consente di realizzare delle storie interattive, dei videogiochi o delle animazioni eventualmente condivisibili con gli altri appartenenti della community che ruota intorno ad essa. Si tratta di un progetto, accessibile in modalitร  del tutto gratuita, creato in collaborazione tra il Lifelong Kindergarten Group e i Media Lab del MIT (Massachusetts Institute of Technology).

Il suo obbiettivo รจ quello di insegnare ai piรน giovani a pensare in modo creativo e a collaborare all’interno di team utilizzando ragionamenti improntati allo stile cognitivo sistematico che premia la capacitร  di affrontare ogni procedura un passo alla volta sulla base delle informazioni disponibili.

L'interfaccia a blocchi di Scratch

Usato in piรน di 150 nazioni nonchรฉ disponibile in oltre 60 lingue differenti, Scratch รจ stato progettato specificatamente per gli appartenenti alla fascia di etร  compresa tra gli 8 e i 16 anni e offre un ambiente di sviluppo completamente orientato al visual programming corredato da risorse per studenti ed educatori.

Puรฒ essere comunque utilizzato da aspiranti programmatori di qualsiasi etร  e viene attualmente impiegato nei contesti piรน disparati, dalle famiglie alle scuole fino alle biblioteche, alle ludoteche e ai musei. Da segnalare infine il progetto ScratchJr appositamente dedicato ai bambini tra i 5 e i 7 anni.

Per maggiori informazioni scratch.mit.edu

N.B. Su MRW.it trovate anche una guida in italiano a Scratch

App Inventor

App Inventor

App Inventor รจ un servizio creato dal MIT che vanta milioni di utenti registrati in tutto il Mondo, permette di creare applicazioni per il sistema operativo mobile Android e utilizza il linguaggio Java come base per il codice realizzato dagli utilizzatori. Esso offre un ambiente di programmazione visuale molto completo ma comunque intuitivo grazie ad un sistema incentrato sulla composizione di scenari basati su blocchi e forme differenti da incastrare tra loro come in una sorta di puzzle.

L'interfaccia di App Inventor

App Inventor consente di definire qualsiasi aspetto di un’applicazione, dal Layout ai testi, dalle immagini ai media, dalle mappe alle funzionalitร  per la geolocalizzazione fino ai form per i feedback e l’autenticazione, al controllo vocale, all’integrazione delle funzionalitร  per il social networking e alla gestione dei sensori.

Particolarmente interessante l’integrazione con Lego Mindstorms che permette di creare dei software con cui controllare robot costruiti con i set del noto produttore di giocattoli.

Per maggiori informazioni appinventor.mit.edu

N.B. Su MRW.it trovate anche una guida in italiano a APP Inventor

Kit per la robotica

Un’altra interessante applicazione del coding nell’ambito della didattica riguarda la robotica. Cosa c’รจ di piรน divertente per un bambino che imparare a costruire robot e farli funzionare?

Anche in questo caso esistono diversi playground educativi che insegnano ai ragazzi a “programmare robot” utilizzando le tecniche del coding.

Lego Mindstorms

Lego Mindstorms

Mindstorms รจ la soluzione proprietaria di LEGO per chi vuole approcciare alle tematiche della programmazione attraverso un ambiente didattico ludico ma anche altamente performante. Per iniziare รจ sufficiente acquistare un set LEGO Mindstorms ed essere muniti di un Tablet, di un PC o di un Mac.

L'interfaccia di Lego Mindstorms

L’ambiente di programmazione รจ estremamente intuitivo e consente non solo di interagire con i motori del robot per farlo muovere, ma anche di insegnargli a riconoscere determinati stimoli con il sensore tattile EV3.

Per maggiori informazioni www.lego.com/it-it/themes/mindstorms/learntoprogram

CoderZ

CoderZ

CoderZ รจ una piattaforma online potente mediante la quale gli studenti apprendono e sperimentano le abilitร  STEM imparando a programmare il comportamento di robot attraverso una semplice ed intuitiva interfaccia visuale basata sui blocchi.

Grazie agli strumenti offerti da CoderZ, infatti, i bambini possono imparare a programmare interagendo con ingressi (sensori) e uscite (motori) di piccoli robot sperimentando “nel mondo reale” gli effetti delle operazioni compiute a video.

Per maggiori informazioni gocoderz.com

Choregraphe

Choregraphe

Choregraphe รจ la piattaforma propietaria di SoftBank Robotics, societร  specializzata in soluzioni di robotica molto utilizzate ed apprezzate anche nell’ambito della didattica, produttrice dei famosi NAO e Pepper, due avanzatissimi robot impiegati in diversi ambiti, tra cui quello scolastico.

Piรน precisamente si tratta di un IDE (Integrated Development Environment) che consente di programmare i simpatici robot con una semplice interfaccia basata su drag-and-drop.

Attraverso questo soffisticato IDE รจ possibile creare animazioni, comportamenti, dialoghi e testarli sia sul robot virtuale che fisico. Gli utenti piรน avanzati, inoltre, avranno la possibilitร  di arricchire i comportamenti dei robot mediante codice Python.

Unico difetto? Il costo dei robot (qualche migliaio di euro).

Per maggiori informazioni developer.softbankrobotics.com/nao6/naoqi-developer-guide/getting-started

VEX IQ

VEX IQ

Anche VEX Robotics propone la propria piattaforma di robotica educativa al fine di promuovere lโ€™interesse dei ragazzi nei confronti delle materie tecniche e scientifiche. Vedere un Robot che si muove in funzione della programmazione รจ estremamente motivante per gli studenti e con Vex IQ (l’ambiente proprietario di VEX) รจ possibile fare programmazione visuale (a blocchi) in modo estremamente semplice ed intuitivo.

La piattaforma per la robotica educativa VEX IQ รจ pensata per gli studenti a partire dagli 8 anni. Si adatta sia a studenti alle prime armi che sperimentano un linguaggio di programmazione a blocchi tipo Scratch e Blockly sia a studenti esperti abituati a programmare in C.

Per maggiori informazioni vexrobot.it/vex-iq/

Conclusioni

L’insegnamento del coding ai bambini รจ una pratica fortemente consigliata nell’ottica di una “nuova alfabetizzazione” al digitale all’interno di progetti didattici moderni e orientati al futuro. L’apprendimento dei concetti base del pensiero computazionale appare, altresรฌ, requisito fondamentale non solo per l’approccio alle materie STEM (sempre piรน importanti) ma, piรน in generale, quale insegnamento utile in ogni ambito della vita, tanto quella digitale quanto quella “reale”.

Altri contenuti interessanti

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.

Leggi anche...

Radice quadrata in C: vediamo come calcolarla in diversi modi

La radice quadrata è un'operazione matematica piuttosto comune (in...

Sperimentare la sequenza di Collatz in C++

Vediamo come verificare la congettura di Collatz con C++....

Calcolare la radice quadrata con Python

In Python è possibile calcolare la radice quadrata usando...

12 film che ogni programmatore dovrebbe guardare (per trovare ispirazione e creatività)

Molti ragazzi hanno deciso di intraprendere una carriera da...

Cartonizzare una foto con Python e la libreria OpenCV

La cartoonization è una procedura grafica che consente di...

Creare flowchart (diagrammi di flusso) online: 5 strumenti gratuiti

Hai bisogno di realizzare una flow chart ma non...
Pubblicitร