Perché insegnare la programmazione con i blocchi?

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.

Grafico che illustra i risultati della ricerca relativi alle tendenze educative, con punti dati e una legenda chiara per l'interpretazione, pertinente alla categoria Istruzione.

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.

  1. Leggibilità:I linguaggi di programmazione basati su blocchi hanno comandi che sono molto più facili da leggere rispetto ai comandi basati su testo.
  2. 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.
  3. 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.


1Weintrop, David. "Programmazione basata su blocchi nell'educazione informatica." ACM. 01 agosto 2019. 10 settembre 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Resnick, Mitchell, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum e Jay Silver. "Graffio." Comunicazioni dell'ACM 52 (2009): 60.

3Resnick, Mitchell, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum e Jay Silver. "Graffio." Comunicazioni dell'ACM 52 (2009): 60.

4Kölling, Michael, Neil CC Brown e Amjad Altadmri. "Modifica basata su frame." Atti del workshop sull'educazione informatica primaria e secondaria - WiPSCE '15 (2015).

5Kölling, Michael, Neil CC Brown e Amjad Altadmri. "Modifica basata su frame." Atti del workshop sull'educazione informatica primaria e secondaria - WiPSCE '15 (2015).

6Weintrop, David e Uri Wilensky. "Confronto tra programmazione basata su blocchi e basata su testo nelle aule di informatica delle scuole superiori." Transazioni ACM sull'educazione informatica 18 (2017): 1-25.

7Weintrop, David. "Programmazione basata su blocchi nell'educazione informatica." ACM. 01 agosto 2019. 10 settembre 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Weintrop, David e Uri Wilensky. "In che modo le modalità basate su blocchi, basate su testo e ibride blocco/testo modellano le pratiche di programmazione dei principianti." Giornale internazionale di interazione bambino-computer 17 (2018): 83-92.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: