Hur man lär barn att koda med MIT Scratch Language
Barn lära sig annorlunda än vuxna, därför måste vi använda ett tillvägagångssätt om vi vill lära dem att koda lämplig för deras behov. Vuxenkodningskurser börjar vanligtvis med att förklara byggstenar, till exempel datatyper, variabler och funktioner, dock denna undervisningsmetod passar inte bra med de flesta barn.
Visuella block språk erbjuda en lösning på problemet genom att introducera eleverna till kodning med hjälp av visuella byggstenar. Blockera språk (kallas ibland även bubbelspråk) fokusera på logik snarare än på syntax, och undervisa kodning via kreativa projekt.
En handfull bra applikationer som undervisar block språk, till exempel Scratch, Code.org och Tynker, är tillgängliga på nätet (Scratch and Code.org är gratis och Tynker kommer till ett vänligt pris).
En av de bästa med dem är att du inte nödvändigtvis måste vara en programmerare för att hjälpa dina barn att komma igång med dem. I den här artikeln tar vi en titt på Scratch, ett visuellt block språk utvecklat av Google och den MIT Media Lab.
Komma igång
Repa är ett programmeringsspråk som skapats för utbildningsändamål, där du behöver snap blockera tillsammans för att skapa olika projekt, som animeringar, spel och interaktiva historier.
Skrapa är främst skapad för barn och tonåringar mellan 8 och 16 år, men i vissa fall kan det också fungera för yngre barn och vuxna.
Skrapa finns på mer än 40 språk, den senaste versionen är Scratch 2 som körs i nyare webbläsare på Windows, Mac och Linux-maskiner. Om du har problem med systemkraven kan du också använda sin tidigare version, Scratch 1.4.
Du kan använda Scratch på 3 olika sätt:
- Skapa ett online-konto, och använd online-redigeraren. Om du väljer det här kan du spara dina projekt online och dela dem med Scratch-gruppen.
- Använd online-redigeraren anonymt. Om du väljer det här kan du bara spara dina projekt till din dator.
- Ladda ner Scratch Offline Editor, och arbeta lokalt.
För att starta, klicka på Skapa-menyn i den övre menyraden och Skrapledningsredigeraren kommer att visas på din skärm.
Skapa designen
Låt oss först lägg till designelementen till vårt program. Arbetsflödet för verklig programmering är i grunden densamma, först måste vi skapa designelementen, till exempel bakgrunder, knappar och navigering (den här delen görs vanligtvis av en formgivare), då behöver vi lägg till funktionalitet för dem med kod (den här delen görs av en programmerare).
Sprites och bakgrunder
Scratch erbjuder två olika slags designelement: bakgrunder och sprites.
Termen “bakgrund” står för bakgrunden och termen “Sprite” står för tecknen (standard tecken är katten som du kan se på skärmdumpen ovan). Deras relaterade inställningar finns i nedre vänstra hörnet, under scenen.
Det finns fyra sätt att Lägg till en ny bakgrund eller Sprite Till scenen kan du välja en från ett fördefinierat bibliotek, måla en, ladda upp en från din dator eller ta ett foto med din webbkamera.
Låt oss nu använda den snabbaste lösningen, och välj en bakgrund från Bakgrundsbibliotek.
Låt oss också välja en eller flera Sprites från Sprite Library genom att klicka på den lilla spritikonen bredvid “Ny sprite” etiketten längst ned till vänster på skärmen.
Om du vill kan du redigera både bakgrund och Sprites med hjälp av en praktisk bildredigerare som visas automatiskt efter att du har lagt till ett nytt designelement i scenen.
Nedan ser du min skärm strax efter att jag lagt till “Nattstad” Bakgrund till mitt scen - om jag ville att jag kunde ändra utseendet på bakgrunden med bildredigeringsverktygets ritverktyg.
I den här artikeln kommer jag att skapa en enkel animering om en tjej som är rädd av ett spöke i en nattstad (jag vet ...). Jag har redan nattstadens bakgrund, och nu behöver jag två Sprites: en tjej och ett spöke.
Jag behöver inte standardkatten, därför högerklickar jag på den och tar bort den. Jag lägger till tjejen och spöket från Sprite-biblioteket. Eftersom spöken är större än tjejen och de ser obehagliga bredvid varandra, ändrar jag spöket med hjälp av bildredigeraren.
Nu har jag alla designelementen jag behöver. Nedan ser du hur scenen ser ut just nu. I nästa avsnitt ska vi lägg till funktionalitet till de två Spritesna (flickan och spöken) av använder skrapblock.
Lägg till funktionalitet
De Skrapblock som finns under “skript” flik. Bakom varje kvarter finns en underliggande kodbiten.
Block är grupperade i 10 kategorier (Motion, Looks, Sound, Pen, Data, Events, Control, Sensing, Operatörer, Fler block), var och en använder en annan färg, så här är blockgrupperna lätt att skilja.
Vi lägger till funktionalitet för varje Sprite (speciellt vi kommer att animera dem), vilket innebär att varje Sprite kommer att ha sitt eget manus (sekvens av Scratch-block).
Observera att vi också kan lägga till ett separat skript i bakgrunden, till exempel byta färger från dag till natt, men för enkelhets skull kommer vi inte att ändra bakgrunden i det här exemplet.
Skapa en humanläsbar algoritm
Det kan vara till hjälp att planera ut på papper vad dina Sprites kommer att göra. Här är algoritmen för vårt tjej-spökeexempelprogram.
Flickans algoritm:
- Användaren börjar manuset.
- Flickan tänker om hur mycket hon är rädd.
- Tjejen är väntar tills Spöket attackerar henne.
- Flickan skrik.
- Flickan springer iväg.
Spökets algoritm:
- Användaren börjar manuset.
- Spöket är väntar samtidigt tjejen tänker.
- Spöket tillvägagångssätt tjejen.
Du kan se att flickans algoritm är skriven från tjejperspektivet, och spökens algoritm är skriven från spökeperspektivet. Medan ett tecken verkar, den andra måste vänta, som vi behöver synkronisera åtgärderna för de två tecknen.
Spökets skript
Låt oss börja med spökets skript, eftersom det bara är 3 steg. Klicka på Ghost i det nedre vänstra hörnet, och du kan börja dra blocken till Script-området. Först måste vi göra användaren till att starta programmet. Vi kan enkelt göra detta genom att lägga till “när den gröna flaggan klickade” blockera från “evenemang” kategori.
Därefter väntar spöket 2 sekunder medan tjejen tänker. Vi programmerar denna åtgärd med “vänta 2 sekunder” block som finns i “Kontrollera” kategori.
Slutligen måste spöken närma sig flickan, som vi kan uppnå med “gå till abby” blockera från “Rörelse” kategori. “Abby” är flickans namn, Scratch lägger automatiskt till namnen på de andra Spritesna i rullgardinsmenyn i det här blocket.
Så här ser spökets skript ut. Nu har du säkert insett att Scratch fungerar på samma sätt som LEGO, du behöver gå med i blocken tillsammans.
Flickans manus
Flickans manus är lite mer komplicerat. Klicka på flickans Sprite i nedre vänstra hörnet, och du kan börja lägga till blocken relaterad till flickans beteende.
Flickans manus börjar också med “när den gröna flaggan klickade” blockera. Jag visar dig nu hur flickans manus så småningom kommer att se ut, så att du kan följa förklaringen lättare.
Efter att den gröna flaggan har klickat tänker tjejen på 2 sekunder (programmet kommer att visa en tänkbar bubbla för den här perioden), det här är samma 2 sekunder medan spöket väntar i hörnet - programmerat med väntningsblocket i spökets manus.
Då måste flickan vänta tills spöket berör henne. Detta görs av en sammansatt väntningsblock. Du kan se på ovanstående skärmdump att detta block innehåller en inre diamantformade block du måste gå med separat. Du kan bara lägga till diamantformade block till det här väntningsblocket.
Kom ihåg att Scratch liknar LEGO, du behöver var uppmärksam på formerna av blocken också. Den här funktionen hindrar dig från att lägga till block som inte borde finnas där för att undvika fel kodningslogik.
Härifrån berörde spöken flickan, och spökets skript slutade. Nu måste vi få henne att skrika med en “Spelljud” Ljudblock (Jag lade till det kvinnliga skrikljudet från det inbyggda ljudbiblioteket) och slutligen få henne att flytta bort från spöket genom att använda “flytta 200 steg” Rörelseblock.
Du kan ta en titt på det slutliga projektet på sidan Scratch. Om du vill ta en titt på byggstenarna klickar du på knappen Se inuti högst upp till höger.
Nästa steg
Vår “Ghost i staden” Exempel är ett mycket enkelt projekt. När dina barn säkert kan skapa linjära historier och animeringar, kan du gå vidare mer komplicerade kodningsstrukturer, som om då block (villkorliga uttalanden) och upprepa block (loopar), båda kan hittas i “Kontrollera” kategori.
Om du vill ha en mer komplicerat exempel för en linjär animering (fortfarande utan villkorliga uttalanden och loopar) kan du kolla in min andra demo som har en enkel dialog och använder 3 Sprites (två vänner och en födelsedagstårta), som alla har sitt eget manus.
Du kan också inspirera dina barn genom att skriva ut Skrap lotter till dem, som de kan håll i händerna medan programmering. Skraplotter har också bra projektidéer på dem. Det är också värt att lära av andra av utforska befintliga projekt, eller delta i diskussionsforum.
Om du vill förstå Scratch bättre finns det en gratis Coursera kurs av University of Edinburgh, som introducerar nybörjare till Scratch programmering på ett mycket tillgängligt, till och med trevligt sätt.
Du kan också dra nytta av Scratch Wiki, och Harvard Universitys Creative Computing-avdelning har också några bra resurser för Scratch-lärare.