Skip to content

FelsökningsteknikerAktiviteter & undervisningsstrategier

Att aktivt felsöka kod stärker elevernas problemlösningsförmåga och förståelse för logik. Genom att själva identifiera och åtgärda fel utvecklar de metoder som är direkt överförbara till nya programmeringsutmaningar. Detta arbetssätt bygger självförtroende och minskar frustrationen kring 'buggar'.

Årskurs 7Digitalt skapande och tekniska system4 aktiviteter25 min45 min

Lärandemål

  1. 1Identifiera och klassificera olika typer av fel (syntaxfel, logiska fel, runtime-fel) i en given kodsnutt.
  2. 2Analysera en programkod för att systematiskt lokalisera en specifik bugg med hjälp av felsökningsstrategier.
  3. 3Utvärdera effektiviteten hos olika felsökningsmetoder, såsom print-satser och stegvis exekvering, för att lösa ett programmeringsproblem.
  4. 4Förklara vikten av att testa kod i olika utvecklingsfaser för att säkerställa korrekt funktionalitet.

Vill du en komplett lektionsplan med dessa mål? Skapa ett uppdrag

30 min·Par

Parfelsökning: Rubber Duck-metoden

Dela ut kod med ett dolt logiskt fel till par. En elev förklarar koden rad för rad för en gummianka eller partner, medan den andra antecknar möjliga felkällor. Byt roller efter 10 minuter och testa korrigeringar tillsammans i miljön.

Förberedelse & detaljer

Hur kan vi systematiskt hitta felet i en kod som inte körs?

Handledningstips: Vid Parfelsökning med Gummiankemetoden, uppmuntra eleverna att vara extremt detaljerade i sin förklaring, även om det känns överflödigt, för att verkligen isolera logiken.

Setup: Flexibel möblering för gruppbyten

Materials: Texter eller material till expertgrupperna, Mall för anteckningar, Grafisk arrangör för sammanfattning

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
45 min·Smågrupper

Stationer: Typiska feltyper

Sätt upp stationer för syntax-, logik- och runtime-fel med Scratch-kod. Grupper roterar, identifierar felet med print-satser, åtgärdar och testar. Diskutera strategier i helklass efteråt.

Förberedelse & detaljer

Utvärdera olika strategier för att lösa logiska buggar.

Handledningstips: Under Stationer med typiska feltyper, se till att grupperna har tydliga instruktioner för hur de ska dokumentera sina observationer vid varje station.

Setup: Flexibel möblering för gruppbyten

Materials: Texter eller material till expertgrupperna, Mall för anteckningar, Grafisk arrangör för sammanfattning

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
25 min·Individuellt

Binärsökning: Stegvis testning

Ge elever individuell kod med flera möjliga fel. Låt dem markera testpunkter i mitten, köra och halvera intervallet tills felet hittas. Dela resultat i par för jämförelse.

Förberedelse & detaljer

Förklara varför det är viktigt att testa koden i olika steg av utvecklingen.

Handledningstips: I Binärsökning, påminn eleverna om att 'halvera' problemet korrekt baserat på testresultatet, oavsett om felet hittas eller inte.

Setup: Flexibel möblering för gruppbyten

Materials: Texter eller material till expertgrupperna, Mall för anteckningar, Grafisk arrangör för sammanfattning

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
35 min·Hela klassen

Helklassutmaning: Bug Hunt

Visa en stor skärm med komplex kod. Elever föreslår teststrategier i tur och röstning, kör koden stegvis och justerar baserat på resultat. Avsluta med reflektion över bästa metoder.

Förberedelse & detaljer

Hur kan vi systematiskt hitta felet i en kod som inte körs?

Handledningstips: Under Helklassutmaningen 'Bug Hunt', använd röstningsmekanismen för att ge alla elever en röst och visa hur konsensus kan byggas kring felsökningsstrategier.

Setup: Flexibel möblering för gruppbyten

Materials: Texter eller material till expertgrupperna, Mall för anteckningar, Grafisk arrangör för sammanfattning

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering

Att undervisa detta ämne

Fokusera på att etablera en mentalitet där fel ses som möjligheter till lärande, inte misslyckanden. Använd konkreta exempel och modellera tydligt hur man systematiskt går tillväga. Uppmuntra eleverna att kommunicera sina tankeprocesser högt, gärna med hjälp av metoder som Gummiankan eller parprogrammering.

Vad du kan förvänta dig

Eleverna visar en systematisk ansats till felsökning, där de kan bryta ner problem och testa lösningar stegvis. De kan identifiera olika typer av fel och argumentera för sina val av strategier. Målet är att de känner sig trygga i att möta och lösa kodproblem.

De här aktiviteterna är en startpunkt. Det fullständiga uppdraget är upplevelsen.

  • Komplett handledningsmanuskript med lärardialoger
  • Utskriftsklart elevmaterial, redo för klassrummet
  • Differentieringsstrategier för varje typ av elev
Skapa ett uppdrag

Se upp för dessa missuppfattningar

Vanlig missuppfattningUnder Parfelsökning, watch for students who think all errors stop the code immediately.

Vad man ska lära ut istället

Om eleverna påstår att ett fel 'inte stoppar koden', använd Gummiankan för att förklara hur logiska fel kan ge felaktiga resultat utan att programmet kraschar. Be dem testa koden med specifika indata och jämföra utdata med förväntat resultat.

Vanlig missuppfattningUnder Stationer, watch for students who only read the code at each station without actively testing.

Vad man ska lära ut istället

Om eleverna fastnar vid att bara läsa koden på en station, påminn dem om att testa kodsnutten med olika indata och observera dess beteende. Be dem aktivt identifiera varför resultatet blir felaktigt i förhållande till den förväntade logiken.

Vanlig missuppfattningDuring Binärsökning, watch for students who assume the error must be near the end of the code.

Vad man ska lära ut istället

Om eleverna i Binärsökning bara testar kodavsnitt nära slutet, påminn dem om att 'dela problemet' i mitten. Be dem välja en testpunkt precis vid halva kodavsnittet och sedan systematiskt arbeta sig mot felet baserat på resultatet.

Bedömningsidéer

Utgångsbiljett

Efter Parfelsökning, ge eleverna en kort kodsnutt med ett dolt fel. Be dem identifiera feltypen (syntax, logiskt, runtime) och skriva en kort förklaring till varför de tror att det är just den typen av fel. De ska också föreslå en första åtgärd för att börja felsöka.

Diskussionsfråga

Under Helklassutmaningen 'Bug Hunt', presentera ett scenario där ett program ger felaktigt resultat men inte kraschar. Ställ frågan: 'Vilka strategier skulle ni använda för att systematiskt hitta det logiska felet? Beskriv steg för steg hur ni skulle gå tillväga och vilka verktyg ni skulle använda.' Diskutera sedan elevernas olika strategier.

Kamratbedömning

Efter Binärsökning, låt eleverna arbeta i par med en enkel programmeringsuppgift. När de tror att de är klara, ska de byta kod med varandra. Varje elev ska sedan försöka hitta ett fel i partnerns kod och skriva ner en kort instruktion till partnern om var felet kan finnas och hur det skulle kunna åtgärdas.

Fördjupning & stöd

  • Utmana eleverna att skriva egna kodsnuttar med avsiktliga fel för sina klasskamrater att felsöka.
  • Ge elever som kämpar en checklista för vanliga feltyper eller en enklare kod att börja med.
  • Låt eleverna utforska olika felsökningsverktyg i mer avancerade miljöer som Python IDLE eller webbläsarutvecklarverktyg.

Nyckelbegrepp

SyntaxfelEtt fel i kodens struktur eller grammatik som hindrar programmet från att köras överhuvudtaget. Exempelvis ett saknat semikolon eller felaktig stavning av ett kommando.
Logiskt felEtt fel där koden körs men producerar ett oväntat eller felaktigt resultat. Programmet kraschar inte, men gör inte det som var tänkt.
Runtime-felEtt fel som uppstår under programmets körning, ofta när programmet försöker utföra en omöjlig operation, som att dela med noll. Programmet avbryts då.
DebuggaProcessen att systematiskt hitta och åtgärda fel (buggar) i en programkod.
Print-satsEn instruktion i koden som skriver ut värdet av en variabel eller ett meddelande till skärmen. Används för att följa programmets flöde och kontrollera variablers värden.

Redo att undervisa Felsökningstekniker?

Skapa ett komplett uppdrag med allt du behöver

Skapa ett uppdrag