Varför ska man lära ut programmering med block?

Blockbaserade programmeringsmiljöer blir alltmer den första kodningsupplevelsen för många elever1, i takt med att fler och fler skolor börjar introducera och utöka datavetenskapliga kurser och läroplaner. Ett av de mest populära blockbaserade programmeringsspråken heter Scratch2(scratch.mit.edu). Varje dag laddas över 1 500 nya programmeringsprojekt upp till Scratch-sajten3. VEXcode drivs i sig av Scratch-block.

Diagram som illustrerar forskningsresultat relaterade till utbildningstrender, med datapunkter och en tydlig tolkningsförklaring, relevant för kategorin utbildning.

En av de främsta motiven bakom skapandet av Scratch är att många unga elever tycker att programmering med textbaserade programmeringsspråk är för svårt4, eftersom dessa elever tycker att både skrivandet och syntaxen är svåra att bemästra. Som ett resultat har blockbaserade programmeringsspråk utformats för elever så unga som förskolebarn, men de flesta är utformade för elever mellan 8 och 16 år. Blockbaserad programmering, inklusive VEXcode, erbjuder flera fördelar för nybörjarprogrammerare5.

  1. Läsbarhet:Blockbaserade programmeringsspråk har kommandon som är mycket lättare att läsa än textbaserade kommandon.
  2. Memorering:Blockbaserade programmeringsspråk har alla sina kommandon synliga för användaren. Med textbaserade programmeringsspråk behöver kommandon ofta memoreras. Dessutom måste användarna memorera syntaxen som är associerad med textkommandona. Det finns ingen syntax associerad med blockbaserade kommandon.
  3. Skrivning/Stavning:Yngre elever har svårt att använda ett tangentbord. Stavfel blir kompilatorfel med ett textbaserat programmeringsspråk. Blockbaserade programmeringsspråk använder dra och släpp. Därför behövs ingen maskinskrivning och stavningsförmåga.

Även om det är bevisat att det är lättare för nybörjare att börja programmera med ett blockbaserat programmeringsspråk, är det fortfarande viktigt att fråga sig om blockbaserade språk är effektiva för att lära ut datavetenskapliga koncept. Det korta svaret är: ja. Forskning har visat att blockbaserade programmeringsspråk har varit effektiva för att lära ut datavetenskapliga koncept som algoritmer, variabler, villkorlig logik och

Det finns naturligtvis vissa nackdelar med att använda blockbaserade programmeringsspråk. Till exempel kan elever ibland känna att det inte är en "autentisk" lärandeupplevelse att använda block7. Med andra ord använder riktiga programmerare inte block. Detta är en viktig aspekt att tänka på, men det är också viktigt att komma ihåg de väl dokumenterade utmaningar som textbaserade programmeringsspråk introducerar för nybörjarprogrammerare.

Som lärare vet vi att de verktyg vi använder för att undervisa i begrepp förändras i takt med att eleverna förändras. Matte lärs ut på grundskolan - högskolan. De verktyg som används för att undervisa en förstaklassare skiljer sig mycket från de verktyg som används för att undervisa en tredjeklassare på universitetet. Forskning har visat att blockbaserade programmeringsspråk är enklare för nybörjare att använda, och de är ett effektivt sätt att undervisa i viktiga datavetenskapliga ämnen. Detta betyder dock inte att studenter alltid ska eller behöver vistas i en blockbaserad programmeringsmiljö. Istället är en bättre slutsats att dra att en programmeringsmodalitet, block eller text, inte i sig är bättre än. Vilken som är rätt för ditt klassrum beror både på din komfortnivå som lärare och dina elevers beredskap. Precis som elever behärskar sina multiplikationsuppgifter i olika takt, kommer vissa elever att behärska programmering med block snabbare än andra. Möjligheten att börja med textbaserad programmering kommer att hålla dem engagerade och utmanade. Verktyg som VEXcode och Text låter dig möta varje elev på deras individuella undervisningsnivå.


1Weintrop, David. "Blockbaserad programmering inom datavetenskaplig utbildning." ACM. 1 augusti 2019. 10 september 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum och Jay Silver. "Repa." Meddelanden från ACM 52 (2009): 60.

3Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum och Jay Silver. "Repa." Meddelanden från ACM 52 (2009): 60.

4Kölling, Michael, Neil CC Brown och Amjad Altadmri. "Rambaserad redigering." Förhandlingar från workshopen i grund- och gymnasieutbildning inom datavetenskap - WiPSCE '15 (2015).

5Kölling, Michael, Neil CC Brown och Amjad Altadmri. "Rambaserad redigering." Förhandlingar från workshopen i grund- och gymnasieutbildning inom datavetenskap - WiPSCE '15 (2015).

6Weintrop, David och Uri Wilensky. "Jämförelse av blockbaserad och textbaserad programmering i datavetenskapliga klassrum på gymnasiet." ACM Transactions on Computing Education 18 (2017): 1-25.

7Weintrop, David. "Blockbaserad programmering inom datavetenskaplig utbildning." ACM. 1 augusti 2019. 10 september 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Weintrop, David och Uri Wilensky. "Hur blockbaserade, textbaserade och hybrida block/text-modaliteter formar nybörjarprogrammeringspraxis." Internationell tidskrift för barn-datorinteraktion 17 (2018): 83-92.

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

Last Updated: