Programmering kan hjälpa elever att förstå fysik

Programmering blir allt vanligare i skolan. I en studie undersökte forskare hur elever lär sig om fysikaliska modeller genom att programmera simuleringar. Resultaten visar att eleverna successivt skapade djupare förståelse för modellerna, och att möjligheten att införa variation genom att till exempel ändra i koden eller interagera med simuleringen var viktigt för lärandet.

Den här artikeln presenterar resultat av forskning. Texten är framtagen vid ett universitet eller högskola på uppdrag av Skolverket.
Läs om hur vi sammanställer och sprider kunskap om resultat av forskning

Programmeringens roll i skolan har på senare år fått stor uppmärksamhet. Ett möjligt sätt att använda programmering är som ett redskap i undervisningen av ett naturvetenskapligt innehåll. Det lämpar sig till exempel väl för fysikundervisning, där simuleringar kan ge elever en ökad förståelse av fysikaliska fenomen såsom krafter.

I en studie med elever på naturvetenskapligt gymnasium har forskare vid Lunds universitet undersökt hur detta lärande kan gå till. Enligt studien kan programmering av simuleringar ge elever möjlighet att successivt skapa en djupare förståelse för fysikaliska modeller. En viktig aspekt är möjligheten att själva införa variation genom att ändra i koden, interagera med simuleringen eller ändra visualiseringen.

Upprepande process när elever utforskar fysik

Sex elever deltog i en frivillig workshop vid fem tillfällen. Forskarna spelade in tillfällena på video för att kunna analysera hur programmering av simuleringar hjälpte eleverna att förstå fysik. Under två av lärtillfällena fick eleverna arbeta i grupper om tre med att skapa simuleringar av två olika fenomen, krafter i ett hängande textilstycke och värmetransport. Programmen skrevs i språket Python.

Eleverna fick jobba med en typ av simulering som är vanlig inom fysik för att förstå egenskaper hos olika typer av material. I sådana simuleringar beskrivs ett material som ett antal punkter. Punkterna kallas partiklar, och varje partikel kan interagera med de partiklar som finns närmast runt omkring. Om en partikel till exempel utsätts för en kraft kommer den att flytta lite på sig, och det gör att partiklarna runtomkring också utsätts för krafter.

Eleverna behövde bestämma vilka typer av krafter som ska vara med i modellen. För att ta reda på det använde de olika metoder. En grupp funderade till exempel på vad som händer när en textil skrynklas ihop. Detta undersökte de genom att helt enkelt testa på sina egna tröjor. De noterade då att textilen delvis rätade ut sig igen, och tolkade det som att modellen behöver inkludera krafter som drar isär delar av textilen som tryckts ihop.

När eleverna arbetade med uppgiften kom de in i en upprepande process. När de till exempel noterade att simuleringen betedde sig på ett oväntat sätt började de reflektera över hur detta hängde ihop med fysiken. Det ledde till ett mer abstrakt resonemang där de försökte förutse hur simuleringen skulle fungera om de ändrade koden eller interagerade med simuleringen på ett visst sätt. Slutligen testade de det de kommit fram till, vilket i sin tur ledde till en ny upplevelse som blev starten av ett nytt ”varv” i processen.

Viktigt att elever själva får variera simuleringarna

Möjligheten att själva införa variation gör det möjligt för elever att lägga märke till skillnader, och på så sätt förstå till exempel hur en variabel och dess värden inverkar. Att stegvis ändra koden som ligger bakom simuleringen är därför en viktig faktor för lärande med programmering som verktyg, menar Kim Svensson, en av författarna till studien. Han förklarar att man på så sätt låter elever undersöka flera olika, men nära besläktade, modeller och förstå skillnaden mellan dem, istället för att enbart undersöka en modell.

– Genom variation av variabler kan eleven urskilja hur variabeln påverkar systemet och få en bättre känsla för systemet och dess delar, säger han.

Eleverna kunde även införa variation genom att interagera med simuleringen, något som också visade sig vara viktigt för elevernas lärande i studien. Ett exempel var när eleverna arbetade med att simulera en bit hängande textil. Eleverna funderade på vad som händer när textilen sträcks ut.

För att ta reda på detta använde de simuleringen, och såg att det gick att sträcka tyget längre än vad de väntat sig. Först tolkade de det som att de gjort något fel när de programmerat simuleringen. Men till slut kom de istället fram till en ny förståelse av de fysikaliska principer som gjorde att modellen betedde sig som den gjorde.

– Interaktion med simuleringen ger eleverna möjlighet att direkt förändra den och studera hur den reagerar, säger Kim Svensson.

Forskarna tittade även på hur eleverna visualiserade sina simuleringar. Simuleringsmiljön lät eleverna införa variation genom att välja mellan flera olika sätt att visa resultatet av simuleringen. Möjligheten att själva ändra hur simuleringen visades gjorde att eleverna kunde välja vilka aspekter de ville lyfta fram.

Till exempel kunde partiklarna som bygger upp systemet visas som cirklar, ett rutnät med partiklarna i skärningspunkterna eller som rutor. Forskarna kunde använda detta för att följa elevernas lärande. Att elever byter visualisering tolkade forskarna som att eleverna uppmärksammat något nytt som de vill fokusera på, vilket i sin tur pekar på att de lärt sig något nytt. Genom att ändra från svart-vita cirklar till färgade rutor kunde eleverna till exempel tydligare få syn på hur värme sprider sig i ett material. Det ledde i sin tur till större möjligheter att förstå detta fenomen.

Programmering blir brygga mellan fysik och simulering

För att klara av uppgiften behövde eleverna röra sig mellan tre olika symbolsystem, nämligen de fysikaliska formlerna som ligger till grund för fysiken, koden i programmet, respektive visualiseringen av simuleringen. Eleverna förde alltså aktivt över innehåll mellan de olika symbolsystemen när de löste uppgiften. Det gav eleverna möjligheter att uppmärksamma egenskaper hos modellen som är svåra att upptäcka enbart genom formler.

När eleverna till exempel omvandlade innehållet i en formel för kraft till kod som simulerar kraften uppmärksammade de egenskaper hos begreppet kraft som inte syns tydligt i formeln. Ett exempel är att krafter alltid har både en storlek och en riktning. När de programmerade kraften så behövde de nämligen skriva ut både hur kraftens riktning och dess storlek ska beräknas. Den återkoppling som resultatet av simuleringen gav eleverna på koden de använt ledde dem till en större förståelse.

Mot slutet var det möjligt för eleverna att avgöra om en simulering var korrekt bara genom att titta på resultatet. Att eleverna inte längre undersökte koden pekar mot att de tillsammans skapat sig en bild av hur de förväntade sig att modellen fungerar. Med utgångspunkt i hur modellen fungerade ställde eleverna nya frågor.

I ett exempel hade eleverna skapat en simulering av hur värme sprider sig i ett material. När de såg att simuleringen betedde sig som de väntat sig, uppkom frågan om värmen skulle ”studsa mot väggen”. Denna fråga kunde de sedan gå vidare och undersöka med simuleringen.

Elever ser fördelar med programmering i fysik

Forskarna gjorde även intervjuer med eleverna om deras upplevelse av att utforska fysik via programmering. Det visade sig att eleverna såg flera fördelar med detta sätt att lära sig fysik, jämfört med traditionell undervisning. Bland annat lyfte en elev att uppgiften krävde att de verkligen tänkte igenom modellen för att kunna omsätta den till kod. Flera elever lyfte också att de fick direkt återkoppling av simuleringen, och kunde se om deras program stämde överens med hur modellen borde bete sig.

Kim Svensson menar att programmering kan vara ett bra extra verktyg för lärare. Resultaten från studien pekar enligt Kim Svensson mot att lärare bör låta elever själva vara aktiva. De bör alltså själva få testa och utforska sin egen kod, inte följa ett recept med bara ett svar, menar han.

Forskarna påpekar dock att studien är relativt liten, och att eleverna var intresserade. Dessutom kräver arbetet en viss kunskap om programmering hos eleverna. Hälften av eleverna hade erfarenhet av att programmera, men även de elever som inte hade erfarenhet sedan tidigare tyckte att det gick bra att arbeta med uppgifterna.

– Väldigt lite förkunskaper behövs, det räcker med en grundkurs för att kunna börja implementera olika modeller och simulera olika förlopp, säger Kim Svensson.

Text: Gunnar Höst

Källa:

Svensson, K., Eriksson, U., & Pendrill, A. M. (2020). Programming and its affordances for physics education: A social semiotic and variation theory approach to learning physics. Physical Review Physics Education Research, 16(1), 010127.

Publicerad 09 november 2020.  Senast uppdaterad 26 oktober 2021.

Relaterat