Gli ambienti di programmazione basati su blocchi stanno diventando sempre più la prima esperienza di programmazione per molti studenti1, poiché sempre più scuole iniziano a introdurre ed espandere corsi e programmi di informatica. Uno dei linguaggi di programmazione basati su blocchi più popolari si chiama Scratch2(scratch.mit.edu). Ogni giorno, oltre 1.500 nuovi progetti di programmazione vengono caricati sul sito Scratch3. VEXcode è esso stesso alimentato da blocchi Scratch.
Una delle motivazioni principali dietro la creazione di Scratch è che molti giovani studenti trovano troppo difficile programmare con linguaggi di programmazione basati su testo4, poiché questi studenti trovano difficile padroneggiare sia la digitazione che la sintassi. Di conseguenza, i linguaggi di programmazione basati su blocchi sono stati progettati per studenti di età prescolare, ma la maggior parte è progettata per studenti di età compresa tra 8 e 16 anni. La programmazione basata su blocchi, incluso VEXcode, presenta numerosi vantaggi per i programmatori principianti5.
- Leggibilità:I linguaggi di programmazione basati su blocchi hanno comandi che sono molto più facili da leggere rispetto ai comandi basati su testo.
- Memorizzazione:I linguaggi di programmazione basati su blocchi hanno tutti i comandi visibili all'utente. Con i linguaggi di programmazione basati su testo, spesso è necessario memorizzare i comandi. Inoltre, gli utenti devono memorizzare la sintassi associata ai comandi di testo. Non esiste una sintassi associata ai comandi basati su blocchi.
- Digitazione/ortografia:Gli studenti più giovani hanno difficoltà nell'uso della tastiera. Gli errori di ortografia diventano errori del compilatore con un linguaggio di programmazione basato su testo. I linguaggi di programmazione basati su blocchi utilizzano il trascinamento della selezione. Pertanto, non è necessaria alcuna digitazione e padronanza dell'ortografia.
Anche se è dimostrato che è più facile per gli utenti alle prime armi iniziare a programmare con un linguaggio di programmazione basato su blocchi, è comunque importante chiedersi se i linguaggi basati su blocchi siano efficaci nell'insegnamento dei concetti di informatica. La risposta breve è: sì. La ricerca ha dimostrato che i linguaggi di programmazione basati su blocchi sono stati efficaci nell'insegnare concetti di informatica come algoritmi, variabili, logica condizionale e comprensione del codice6.
Naturalmente ci sono alcuni svantaggi nell’usare linguaggi di programmazione basati su blocchi. Ad esempio, gli studenti a volte possono ritenere che l'uso dei blocchi non sia un'esperienza di apprendimento “autentica”7. In altre parole, i veri programmatori non usano i blocchi. Questo è un aspetto importante da tenere a mente, ma è anche importante tenere presenti le sfide ben documentate che i linguaggi di programmazione basati su testo introducono ai programmatori alle prime armi.
Come educatori, sappiamo che gli strumenti che utilizziamo per insegnare i concetti cambiano man mano che cambiano gli studenti. La matematica viene insegnata al K - College. Gli strumenti utilizzati per insegnare a un alunno di prima elementare sono molto diversi da quelli utilizzati per insegnare a un bambino al college. La ricerca ha dimostrato che i linguaggi di programmazione basati su blocchi sono più facili da usare per i principianti e sono un mezzo efficace per insegnare importanti argomenti di informatica. Ciò non significa, tuttavia, che gli studenti debbano o debbano rimanere sempre in un ambiente di programmazione basato su blocchi. Invece, una conclusione migliore da trarre è che una modalità di programmazione, blocchi o testo, non è intrinsecamente migliore dell'altra8. Qualunque sia quello giusto per la tua classe dipenderà sia dal tuo livello di comfort come educatore sia dalla preparazione dei tuoi studenti. Proprio come gli studenti padroneggiano le moltiplicazioni a velocità diverse, alcuni studenti padroneggeranno la programmazione con blocchi più velocemente di altri. L'opportunità di iniziare con la programmazione basata su testo li manterrà impegnati e stimolati. Strumenti come VEXcode e Text ti consentono di incontrare ogni studente al suo livello didattico individuale.