Hoppa till innehållet
Teknik · Årskurs 9

Idéer för aktivt lärande

Felsökning och Kodoptimering

Aktivt arbete med felsökning och optimering gör abstrakta begrepp konkreta för eleverna. Genom att testa och förbättra verklig kod utvecklar de förmågan att se samband mellan logik, läsbarhet och prestanda, vilket stärker deras problemlösningsförmåga och säkerhet i programmering.

Skolverket KursplanerLgr22: Teknik - Åk 7-9 - Dokumentation i form av manuella och digitala skisser och ritningarLgr22: Teknik - Åk 7-9 - Egna konstruktioner där man tillämpar styrning och reglering
35–50 minPar → Hela klassen4 aktiviteter

Aktivitet 01

Pair Programming: Bug Hunt

Dela ut kod med inbyggda logiska fel. Elever i par turas om att köra koden, anteckna felbeteenden och föreslå fixar. Avsluta med gemensam presentation av lösningar.

Vilka metoder är mest effektiva för att hitta dolda buggar i komplex kod?

HandledningstipsUnder Pair Programming: Bug Hunt, cirkulera mellan paren och uppmana eleverna att muntligt förklara varje steg i sin felsökningsprocess.

Vad att leta efterGe eleverna ett kort kodavsnitt med ett dolt logiskt fel. Be dem skriva ner: 1. Vilket fel de identifierade. 2. Vilken metod de använde för att hitta det. 3. Hur de skulle åtgärda felet.

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
Skapa en komplett lektion

Aktivitet 02

Lärande genom undervisning50 min · Smågrupper

Testning Stationer: Unit Tests

Upprätta stationer med olika kodsnuttar. Grupper skriver och kör tester för varje, dokumenterar resultat i digitala skisser. Rotera stationer och jämför teststrategier.

Hur kan vi göra kod mer läsbar för andra utvecklare utan att förlora prestanda?

HandledningstipsPå Testning Stationer: Unit Tests, förbered några färdiga testfall i förväg som eleverna kan jämföra sina resultat med.

Vad att leta efterLåt eleverna arbeta i par med en gemensam koduppgift. Efter en viss tid får de byta kod med ett annat par. Varje par ska granska den mottagna koden och ge feedback på: 1. Potentiella buggar de ser. 2. Förslag på hur koden kan göras mer läsbar eller effektiv.

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
Skapa en komplett lektion

Aktivitet 03

Lärande genom undervisning40 min · Smågrupper

Refaktoriseringstävling: Code Cleanup

Ge grupper befintlig, ostrukturerad kod. Uppgiften är att omstrukturera för läsbarhet utan prestandaförlust, testa före och efter. Vinnare baseras på gruppfeedback.

Varför är testning en kritisk del av utvecklingsprocessen?

HandledningstipsUnder Refaktoriseringstävling: Code Cleanup, uppmuntra eleverna att diskutera varför de gör specifika förändringar, inte bara implementera dem.

Vad att leta efterVisa en enkel algoritm på tavlan. Ställ sedan frågor som: 'Om vi ändrar det här värdet, vad händer då med resultatet?' eller 'Vilket steg i algoritmen kan vara mest problematiskt om indata är oväntad?' Samla in svar muntligt eller via snabbhanduppräckning.

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
Skapa en komplett lektion

Aktivitet 04

Debuggverktygsutmaning: Stegvis Spårning

Individuellt eller i par, använd debugger i IDE för att spåra fel i en längre algoritm. Rita flödesdiagram baserat på observationer och dela insikter i helklass.

Vilka metoder är mest effektiva för att hitta dolda buggar i komplex kod?

HandledningstipsVid Debuggverktygsutmaning: Stegvis Spårning, visa eleverna hur de kan använda brytpunkter för att följa variabelvärden över tid.

Vad att leta efterGe eleverna ett kort kodavsnitt med ett dolt logiskt fel. Be dem skriva ner: 1. Vilket fel de identifierade. 2. Vilken metod de använde för att hitta det. 3. Hur de skulle åtgärda felet.

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
Skapa en komplett lektion

Mallar

Mallar som passar dessa aktiviteter i Teknik

Använd, redigera, skriv ut eller dela.

Några anteckningar om att undervisa detta avsnitt

Börja med att visa ett tydligt exempel på hur en logisk bugg kan se ut och låt eleverna gissa vad som är fel innan de själva testar. Använd gemensamma genomgångar för att modellera hur man stegvis testar och dokumenterar sina fynd. Undvik att lösa problem åt eleverna direkt, utan ställ istället frågor som leder dem framåt. Forskningsresultat visar att elever lär sig felsökning bäst när de får misslyckas och sedan reflektera över varför det blev fel och hur de löste det.

Eleverna visar att de kan identifiera och förklara logiska fel i kod, använda systematiska metoder för att lösa problem och refaktorisera kod för att göra den mer effektiv och begriplig. De ska även kunna dokumentera sina processer och ge konstruktiv feedback till andra.


Se upp för dessa missuppfattningar

  • Under Pair Programming: Bug Hunt, antar elever att alla logiska fel är uppenbara om man läser koden noga.

    Under aktiviteten, be eleverna att simulera att köra koden steg för steg och anteckna alla antaganden de gör om variablers värden, så de upptäcker var antagandena brister.

  • Under Refaktoriseringstävling: Code Cleanup, tror eleverna att mer kod alltid innebär bättre läsbarhet och prestanda.

    I refaktoriseringstävlingen, ge eleverna en kodbit med upprepade block och be dem förklara hur de kan bryta ut och återanvända kod, samt hur de kan namnge funktioner och variabler för att göra koden självförklarande.

  • Under Testning Stationer: Unit Tests, tycker eleverna att testning är ett hinder för att komma igång med programmeringen.

    På testningsstationerna, visa hur snabbt eleverna kan identifiera och åtgärda fel när de har testfall på plats, genom att jämföra tiden det tar att hitta buggar med och utan automatiska tester.


Metoder som används i denna översikt