Skip to content
Teknik · Årskurs 6

Idéer för aktivt lärande

Funktioner och modularitet

Att arbeta aktivt med funktioner och modularitet genom konkreta uppgifter gör abstrakt programmeringstänkande synligt och tillgängligt för eleverna. Genom att fysiskt skapa, bryta ner och omorganisera kod förstår de direkt hur funktioner förenklar uppgifter och minskar komplexitet. Aktiviteterna är utformade för att eleverna ska erfara nyttan av modularitet snarare än att bara lära sig definitioner.

Skolverket KursplanerLgr22: Teknik 4-6, Centralt innehåll, Styrning och reglering, Grundläggande begrepp inom programmeringLgr22: Teknik 4-6, Centralt innehåll, Styrning och reglering, Strategier för att lösa problem vid programmering
35–50 minPar → Hela klassen4 aktiviteter

Aktivitet 01

Expertpussel45 min · Par

Parprogrammering: Bygg ett räkneprogram

Dela elever i par. Låt dem först skriva ett linjärt program för att räkna poäng i ett spel. Sedan bryter de ner det i funktioner för poängberäkning och uppdatering. Testa och jämför tid för felsökning före och efter.

Analysera hur funktioner kan förbättra läsbarheten och underhållbarheten i ett program.

HandledningstipsUnder parprogrammeringen, uppmuntra eleverna att turas om att vara 'förare' och 'navigatör' för att säkerställa att båda reflekterar över funktionernas roll.

Vad att leta efterGe eleverna ett litet kodexempel i Scratch där en uppgift (t.ex. att rita en cirkel) utförs utan funktion. Be dem skriva ner hur de skulle kunna skapa en funktion för att rita cirkeln och vad de skulle kalla den. Fråga också varför detta gör koden bättre.

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
Skapa en komplett lektion

Aktivitet 02

Expertpussel50 min · Smågrupper

Stationer: Funktionsexempel

Sätt upp tre stationer med Scratch-projekt: en för ritfunktion, en för loopfunktion och en för input-hantering. Grupper roterar, skapar egna funktioner och integrerar i ett gemensamt projekt. Diskutera modularitet efteråt.

Designa en funktion som utför en specifik uppgift i ett större program.

HandledningstipsVid stationerna, placera tydliga exempel på både bra och dålig modularitet bredvid varandra så eleverna direkt kan se skillnaden.

Vad att leta efterStäll frågan: 'Tänk er att ni bygger ett hus. Hur kan ni använda idén med funktioner och moduler för att göra bygget enklare och mer organiserat? Ge minst två exempel på 'funktioner' i husbyggandet.'

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
Skapa en komplett lektion

Aktivitet 03

Expertpussel35 min · Par

Refaktoriseringstävling

Ge hela klassen samma röriga kod. Individivt eller i par omvandlar de den till moduler med funktioner. Jämför i helklass och mät tid för att lägga till ny funktion.

Förklara hur uppdelning i funktioner gör det enklare att felsöka och återanvända kod.

HandledningstipsUnder refaktoriseringstävlingen, ge eleverna ett tidsintervall per omgång och be dem motivera sina designval inför klassen efteråt.

Vad att leta efterVisa två liknande kodblock i Scratch, där det ena är en lång, upprepad sekvens och det andra har brutits ner i funktioner. Be eleverna peka på det program som är lättast att förstå och förklara varför, med fokus på begreppet funktion.

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
Skapa en komplett lektion

Aktivitet 04

Expertpussel40 min · Individuellt

Funktionsdesignutmaning

Presentera ett stort problem, som ett väderprogram. Elever skissar funktioner på papper först, kodar sedan individuellt och delar i små grupper för feedback.

Analysera hur funktioner kan förbättra läsbarheten och underhållbarheten i ett program.

HandledningstipsFör funktionsdesignutmaningen, be eleverna skissa sina funktioner på papper innan de skriver koden för att träna planeringsfasen.

Vad att leta efterGe eleverna ett litet kodexempel i Scratch där en uppgift (t.ex. att rita en cirkel) utförs utan funktion. Be dem skriva ner hur de skulle kunna skapa en funktion för att rita cirkeln och vad de skulle kalla den. Fråga också varför detta gör koden bättre.

FörståAnalyseraUtvärderaRelationsförmågaSjälvreglering
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

Lär eleverna att funktioner inte bara är en fråga om att spara tid eller plats i koden, utan om att skapa logiska enheter som kan testas och återanvändas. Undvik att introducera funktioner för tidigt; låt eleverna först uppleva frustration med upprepad och svåröverskådlig kod. Använd analogier från vardagen, som att jämföra funktioner med recept i en kokbok där varje recept är en tydlig och återanvändbar enhet.

Eleverna ska kunna förklara varför funktioner används, identifiera lämpliga ställen att bryta ner kod i funktioner och tillämpa detta i praktiken. De ska också kunna jämföra modular och linjär kod samt argumentera för designval utifrån läsbarhet och återanvändbarhet.


Se upp för dessa missuppfattningar

  • Under parprogrammeringen, se upp för elever som enbart fokuserar på att korta ner koden utan att reflektera över modularitet eller läsbarhet.

    Ställ frågor som: 'Hur skulle någon annan kunna förstå den här delen av koden utan att ha skrivit den själv?' och 'Vilken del av koden gör egentligen vad?'

  • Under stationerna, observera om eleverna tror att fler funktioner automatiskt gör koden bättre.

    Be dem att jämföra ett exempel med fyra funktioner som gör ungefär samma sak med ett annat som har två funktioner som täcker alla steg. Fråga: 'Vilket är lättast att förstå och varför?'

  • Under funktionsdesignutmaningen, lyssna efter elever som tror att funktioner alltid måste anropas i en bestämd ordning.

    Be dem att testa sina funktioner genom att anropa dem i olika ordning och se om resultatet blir detsamma. Fråga: 'Vad händer om du byter plats på anropen?'


Metoder som används i denna översikt