qr code

Scratch

Om Scratch

Scratch

Om Scratch

Scratch är ett visuellt programmeringsspråk som är utvecklat vid universitetet MIT av gruppen Lifelong Kindergarten. Med visuell programmering skapar man program genom att pussla ihop kod på ett sätt som påminner om att bygga LEGO. På detta vis kan barn lära sig de logiska principerna för programmering utan att behöva lära sig skriva knepig syntax. Eftersom koden byggs ihop av visuella block, kallas sådan programmering ibland för blockprogrammering.

Lifelong Kindergarten är en grupp bestående av forskare och utbildare som är verksamma inom forskningslaboratoriet MIT Media Lab. En av de som skapade MIT Media Lab var Seymour Papert som själv gjorde de första försöken med att lära barn programmering redan på 1960-talet. Papert är upphovsman till så kallad sköldpaddsprogrammering, dvs programmering som bygger på att man styr en sköldpadda. De grundläggande instruktionerna vid sköldpaddsprogrammering är att instruera sköldpaddan att gå ett antal steg eller vända sig ett antal grader.

Ett Scratch-program använder sig av så kallade spajtar. En sprajt föreställer någon figur eller sak och man kan programmera vad sprajten ska göra. Sköldpaddsprogrammering är inbyggd i Scratch på så vis att alla sprajtar kan styras av kommandon och vänd. Scratch innehåller dock så pass mycket annat att sköldpaddsprogrammering inte kan räknas som en central programmeringsmetod i Scratch.

Du kan programmera i Scratch antingen genom att göra det i en webbläsare eller genom att först ladda ner Scratch till din dator.

För att programmera på webben börjar du med att skapa ett konto på https://scratch.mit.edu/.

Om du vill ladda ner Scratch gör du det från https://scratch.mit.edu/download. Efter nedladdning kan du programmera i Scratch även då du inte har tillgång till nätverk.

Olika versioner av Scratch

Scratch finns för närvarande i två versioner: Scratch 2.0 och Scratch 3.0.

Scratch 2.0 är gjort i programmeringsspråket Flash. När du använder Scratch behövs därför insticksmodulen Flash Player. Flash Player är oftast förinstallerat men kan ibland behöva uppdateras, i sådana fall får du upp ett meddelande om detta. Eftersom Flash-program inte tillåts på iPad eller iPhone, går det inte att köra Scratch 2.0 på dessa mobila enheter. När du loggar in på https://scratch.mit.edu/, används Scratch 2.0.

Scratch 3.0 finns för närvarande bara i en så kallad beta-version, dvs en version som inte har full funktionalitet och som kan innehålla buggar. Du kan testa Scratch 3.0 på sidan https://beta.scratch.mit.edu/, det går däremot inte att göra ett användarkonto och spara sina program.

Scratch 3.0 är gjort i programmeringsspråket Javascript, vilket alla moderna webbläsare kan hantera. Det går därför att använda Scratch 3.0 även på en iPad eller en iPhone.

Gissningsvis kommer Scratch 3.0 helt att ersätta Scratch 2.0 i framtiden. I nuläget måste dock Scratch 2.0 användas om man vill ha full funktionalitet.

Dataskyddsförordningen

Den 25 maj 2018 trädde den så kallade dataskyddsförordningen (GDPR) i kraft inom EU. Sedan dess har det förekommit diskussioner om huruvida Scratch följer dataskyddsförordningen eller inte. Även om det från Scratch-teamets sida sagts att de juridiska detaljerna ska uppdateras, har det inte blivit någon uppdatering som i klartext garanterar att dataskyddsförordningen följs. Istället skriver de (https://scratch.mit.edu/privacy_policy/) att den nedladdningsbara varianten av Scratch kan användas om man som användare inte vill delge någon personlig information. Det går också att använda Scratch på webben utan att ha ett användarkonto men de program man skapar kan i sådana fall inte sparas.

Scratch 3.0 är gjord som öppen källkod (https://github.com/LLK/) och det är därmed fritt fram för vem som helst att sätta upp en egen Scratch-plattform, exempelvis på en svensk server. I framtiden, när Scratch 3.0 har full funktionalitet, kommer man därför att kunna göra egna europeiska Scratch-plattformar som garanterat följer dataskyddsförordningen.

Andra programmeringsspråk för barn

Många programmeringsspråk har någon sorts funktionalitet för sköldpaddsprogrammering. Exempelvis finns det en Turtle i Python.

Exempel ‐ Sköldpaddsprogrammering i Python

Gå till sidan https://repl.it/ och välj Python (with Turtle) som programmeringsspråk.

Kopiera och klistra in följande kod:

import turtle

t = turtle.Turtle()
t.color('blue')

for i in range(100):
  t.forward(5)
  t.left(3.6)

Klicka på Run, då ska en blå cirkel ritas upp.

När det gäller blockprogrammering har Google ett programmeringsbibliotek kallat Blockly (https://developers.google.com/blockly/). Blockly kan inte direkt användas för programmering, istället är det ett bibliotek som programmerare kan använda för att göra blockprogrammeringsspråk på webben. Blockly är gjort i Jacascript.

Blockly används bl.a. av code.org (https://code.org/), vilket är ett projekt finansierat av företag och privatpersoner i Silicon Valley vars mål är att lära barn och unga programmera. Det kostar ingenting att använda code.org.

Den nya Scrach-versionen, version 3.0, utgår ifrån Blockly.

På universitetet Berkeley har de ett blockprogrammeringsspråk kallat Snap (https://snap.berkeley.edu/). Snap utgår ifrån Scratch men har byggts ut med mer avancerad funktionalitet så att det kan användas i inledande kurser på universitetsnivå. Snap är gjort i Javascript och kan därför köras i alla moderna webbläsare.

När det gäller blockprogrammering på iPad finns Scratch i en gratisversion kallad ScratchJR (https://www.scratchjr.org/). Denna version har inte all den funktionalitet riktiga Scratch har och är framför allt tänkt för yngre barn.

Med en iPad kan man också använda blockprogrammeringsspråket Pyonkee (https://www.softumeya.com/pyonkee/en/). Pyonkee bygger på en äldre version av Scratch och är gratis.

Några andra programmeringsspråk som bygger på öppen källkod är Alice (https://www.alice.org/) eller Kojo (http://www.kogics.net/kojo). Det finns också programmeringsspråk för barn utvecklade av Apple eller Microsoft som bara kan köras i Apple- eller Microsoft-miljöer.