Sammanfattning
Kod innebär konstruktion av en teknisk lösning och kan därmed ses som ämnesinnehåll i teknik. En studie fann att elever i årskurs 1 och 4 värderar kodens ändamålsenlighet efter hur den är att läsa eller skriva, och inte vad programmet ska utföra. Forskarna ser även en möjlig progression i programmeringskunnande, från naturligt språk till abstrakt och symbolbaserat.
Att lära sig skriva kod är en del av digitalt kunnande, och används ofta för att stödja lärande inom olika områden som till exempel matematik. Men kod kan också ses som en teknisk lösning, och därmed som en del av innehållet i ämnet teknik. En viktig aspekt av lärande om tekniska lösningar är att utveckla förmågan att bedöma hur väl lösningen fyller funktionen som den är avsedd för.
Per Anderhag med medförfattare har undersökt vilka typer av kod som elever i årskurs 1 och 4 skapar, och hur de resonerar om kodens ändamålsenlighet när de programmerar robotar [1]. Resultaten visar att elever använder olika sätt att skriva kod, och att de främst ser kodens ändamålsenlighet utifrån hur det är att skriva och läsa koden. Det visar att det går att använda de för teknikämnet centrala begreppen funktion och ändamålsenlighet i relation till programmering.
– Vi kan alltså prata om kod som en form av teknisk lösning, som undervisningen kan uppmärksamma eleverna på när de programmerar, enligt Per Anderhag.
Elever kodar med bilder, ord och symboler
Studien är gjord i samband med teknikundervisning där 85 elever i årskurs 1 och 27 elever i årskurs 4 deltog. Tre lärare, som också är medförfattare till studien, höll i undervisningen där de använde en programmerbar robot (Bluebot, Figur 1). Roboten har fyra pilar, som får roboten att röra sig en viss sträcka framåt eller bakåt samt svänga 90 grader åt höger respektive vänster. Genom att trycka på pilarna i en sekvens programmeras roboten att utföra den sekvensen av rörelser.
Eleverna fick arbeta i grupper om tre till fyra elever. Uppgiften var att skriva instruktioner som skulle styra en robot så att den rörde sig på ett visst sätt. Sedan fick en annan grupp testa koden med sin egen robot.
Eleverna fick inga detaljerade instruktioner om hur de skulle skriva sin kod, det fick de välja själva. Resultaten visade att eleverna skrev kod på olika sätt med hjälp av bilder, ord, siffror och symboler. En del grupper skrev sin kod i form av en bild som visade hur roboten skulle röra sig, medan andra ritade en sekvens med pilar. Ytterligare andra skrev med ord och siffror hur många steg roboten skulle röra sig och om den skulle svänga.
I de grupper som skrev kod med ord och siffror skrev en del koden från vänster till höger, medan andra använde den inom programmering vanligare riktningen uppifrån och ner. Det var sällan som någon grupp diskuterade på vilket sätt de skulle skriva koden. Däremot pratade de om andra aspekter av programmerandet, såsom hur ord stavas eller vem som skulle göra vad.
Skriva och läsa är viktiga kriterier för elevers värdering av ändamålsenlighet
Forskarna undersökte hur eleverna uttryckte sig om funktion och ändamålsenlighet när de arbetade med uppgiften, ur fyra olika aspekter som forskare tidigare har hittat. De fyra aspekterna är ändamålsenlighet för mig, ändamålsenlighet för andra, konstruktionsberoende och teknisk effektivitet.
När det gäller hur väl koden uppfyllde sitt syfte för eleverna själva såg forskarna att eleverna värderade olika beroende på om de skulle skriva eller läsa kod. Om de skulle läsa kod uttryckte de att en bild var bättre, antagligen för att robotens rörelse kunde ses direkt i bilden. Om de däremot skulle skriva själva, framför allt när det handlade om en längre instruktion, så kunde de föredra en mer traditionell framställning av kod utan bilder.
Ändamålsenlighet för andra kom upp främst i diskussioner mellan eleverna och läraren. Det var läsbarhet som hamnade i fokus. Det kunde handla om att en kod skriven med text kan vara svår att läsa för en person som inte kan svenska. Det kunde också handla om att det är lättare rent visuellt att läsa av en sekvens med pilar jämfört med enbart streck. Ännu mer läsbart kan det bli om ett antal pilar sammanfattas med en pilsymbol och en siffra som anger antalet.
– Det var roligt att se hur undervisningen, med tämligen små medel, kunde få eleverna att reflektera kring vad som kännetecknar bra eller bättre kod, menar Per Anderhag.
Kod som teknisk lösning
Det var ganska ovanligt att eleverna pratade om koden i termer av om den fungerar på det sätt som det är tänkt. Men ibland skedde det, till exempel när de funderade på om det fattades instruktioner om till exempel en sväng. Detta tolkade forskarna som att eleverna och läraren diskuterade hur robotens funktion är beroende av kodens konstruktion.
Det var även väldigt ovanligt att eleverna pratade om andra möjliga sätt att skriva koden som skulle kunna vara tekniskt mer effektiva. En diskussion som ändå anknöt till detta handlade om en grupp elever som lagt in “kryssknappen” mellan varje steg i koden. Kryssknappen är den knapp på roboten som nollställer dess programmering.
Genom att återkommande lägga in den menade eleverna att de kunde undvika att roboten skulle bete sig konstigt. Det innebar visserligen att de var tvungna att mata in koden allt eftersom roboten rörde sig, i och med att den inte lagrade någon kodsekvens som var längre än en instruktion.
Progression från naturligt språk till symbolbaserad programmering
Forskarna menar att deras resultat om elevers sätt att skriva kod kan användas för att skapa en progression. Denna skulle kunna utgå från ett naturligt språk, som i ord beskriver vad programmet ska göra, till ett mer abstrakt och symbolbaserat. För att eleverna ska följa en sådan progression behöver de kunna uppleva att det naturliga språket begränsar deras programmering, till exempel när de ska få en robot att utföra en mer komplex rörelse.
Enligt forskarna öppnas möjligheter när programmering introduceras med hjälp av robotar. Men de ser också begränsningar. Till exempel kan elever uppfatta själva skrivandet av koden som ett onödigt steg, i och med att de ändå måste trycka in instruktionerna manuellt på roboten. Detta skulle kunna avhjälpas genom att fokusera på felsökning, föreslår forskarna. Robotarna sätter även begränsningar för hur avancerad kod elever kan jobba med, i och med att ett mer komplext rörelsemönster främst innebär en längre kod.
Överlag ser Per Anderhag kopplingen mellan kodens funktion och de centrala begreppen i teknikämnet som en av många möjliga vägar för lärare att få in programmering i undervisningen.
– Kod kan ses som en teknisk lösning som ska designas, utvärderas och justeras beroende på hur väl den gör det den ska.
Notering
"Notiser från forskningsfronten" presenterar kort något huvudresultat från en eller ett fåtal publicerade studier. Texterna skrivs av medarbetare på NATDID. Vill du referera till resultaten från studien så använd originalstudien som finns i referens-listan nedan.
Författaren har skrivit denna artikel som en del av ett uppdrag från Skolverket. Artikeln publicerades först på Skolverkets hemsida för forskningsspridning: https://www.skolverket.se/skolutveckling/forskning-och-utvarderingar/artiklar-om-forskning/programmering-kan-ses-som-amnesinnehall-i-teknik
Referenser
- Anderhag P, Björn M, Fahrman B, Lundholm-Bergström A, Weiland M, Wållberg T. Kod som teknisk lösning: En studie om grundskoleelevers uppfattningar av ändamålsenlighet i deras spontana programspråk. Nordic Studies in Science Education. 2021;17(1). https://doi.org/10.5617/nordina.7020