Skip to content
Teknik · Årskurs 6

Idéer för aktivt lärande

Att skapa egna funktioner

Att skapa egna funktioner handlar om att eleverna ska förstå hur de kan styra och organisera sin kod istället för att upprepa den. Genom att arbeta praktiskt med aktiviteter som kräver samarbete och problemlösning, bygger de direkt förståelse för funktioners roll i programmering. Aktiv lärandeformerna gör att eleverna upplever värdet av funktioner istället för att bara höra om det teoretiskt.

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
25–45 minPar → Hela klassen4 aktiviteter

Aktivitet 01

Parprogrammering: Rita med funktioner

Eleverna arbetar i par och skapar en funktion som ritar en stjärna med parametrar för storlek och färg. De anropar funktionen flera gånger för att bygga ett mönster. Avsluta med diskussion om hur koden blev kortare.

Analysera hur egna funktioner kan förbättra läsbarheten och underhållbarheten av kod.

HandledningstipsUnder parprogrammeringen, be eleverna att pausa och diskutera varje rad kod de skriver för att klargöra skillnaden mellan funktionens definition och anrop.

Vad att leta efterGe eleverna ett kort kodavsnitt med en upprepande uppgift. Be dem skriva en egen funktion som ersätter repetitionen och förklara kort varför deras funktion gör koden bättre.

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

Aktivitet 02

Lärande genom undervisning45 min · Smågrupper

Grupputmaning: Spel med återanvändbara funktioner

I små grupper designar elever en funktion för att hantera poängräkning i ett enkelt spel. Testa funktionen i olika scenarier och integrera i huvudprogrammet. Grupperna jämför sina lösningar.

Designa en funktion som utför en specifik, återanvändbar uppgift.

HandledningstipsVid grupputmaningen, inför en regel om att varje funktion måste ha minst en parameter för att träna flexibilitet och motverka övergeneralisering.

Vad att leta efterStäll frågan: 'Tänk er att ni ska bygga ett hus. Hur skulle ni använda konceptet med funktioner för att organisera byggprocessen? Ge minst två exempel på 'funktioner' ni skulle använda och förklara varför.'

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

Aktivitet 03

Lärande genom undervisning25 min · Individuellt

Individuell refactoring: Förbättra given kod

Ge elever upprepad kod utan funktioner. De identifierar upprepningar, skapar funktioner och testar den nya versionen. Jämför före och efter i en reflektionslogg.

Förklara fördelarna med att bryta ner ett stort problem i mindre funktioner.

HandledningstipsUnder refactoringuppgiften, ge eleverna en färdig kod där de får välja att antingen fortsätta utan funktioner eller omstrukturera till funktioner, för att synliggöra skillnaden.

Vad att leta efterVisa två liknande kodsnuttar, en med och en utan funktioner för en specifik uppgift (t.ex. rita en kvadrat). Fråga eleverna: 'Vilken kodsnutt är lättast att förstå och varför? Vilken skulle ni välja om ni behövde ändra storleken på kvadraten och varför?'

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

Aktivitet 04

Lärande genom undervisning35 min · Hela klassen

Helklass: Funktiongalleri

Elever demonstrerar sina bästa funktioner för klassen via projektor. Andra elever testar och föreslår förbättringar. Sammanställ ett klassbibliotek av funktioner.

Analysera hur egna funktioner kan förbättra läsbarheten och underhållbarheten av kod.

HandledningstipsI funktiongalleriet, be eleverna att presentera sina funktioner med konkreta exempel på hur de förbättrat koden.

Vad att leta efterGe eleverna ett kort kodavsnitt med en upprepande uppgift. Be dem skriva en egen funktion som ersätter repetitionen och förklara kort varför deras funktion gör koden bättre.

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

Fokusera på att koppla funktioner till elevernas egna erfarenheter av att lösa problem i vardagen, till exempel att dela upp uppgifter i steg. Undvik att enbart förklara funktioner teoretiskt, eftersom det kan leda till missförstånd om deras syfte. Använd visuella hjälpmedel som flödesdiagram för att visa hur funktioner strukturerar kodens exekvering. Låt eleverna upptäcka fördelarna genom praktiska jämförelser istället för att du berättar om dem.

Eleverna ska kunna definiera egna funktioner, förklara varför de använder dem och tillämpa dem i praktiska uppgifter. De ska dessutom kunna diskutera och motivera sina val av funktioner med hänsyn till läsbarhet och underhållbarhet. En lyckad lektion syns när eleverna aktivt använder funktioner för att lösa problem utan att läraren behöver påminna om det.


Se upp för dessa missuppfattningar

  • Under **Parprogrammering: Rita med funktioner**, se upp för att elever tror att funktioner körs automatiskt när de definieras. Be dem att lägga till ett anrop av funktionen och lägga till en print-sats för att se att den inte körs förrän anropet sker. Diskutera sedan varför koden inte fungerade som de trodde.

    Under **Parprogrammering: Rita med funktioner**, ge eleverna en färdig funktion som de ska anropa i sin huvudkod. Be dem att först köra koden utan anrop för att se att ingenting händer, sedan lägga till anropet och diskutera varför funktionen nu exekveras. Jämför funktionens definition med anropet för att tydliggöra skillnaden.

  • Under **Grupputmaning: Spel med återanvändbara funktioner**, kan elever missa att funktioner förbättrar kodens struktur. Be grupperna att jämföra sin ursprungliga kod med den omstrukturerade versionen och diskutera hur mycket lättare det är att göra ändringar i den senare.

    Under **Grupputmaningen**, ge grupperna två versioner av samma kod: en utan funktioner och en med funktioner. Be dem att ändra en parameter i spelet och notera hur mycket enklare det är att göra det i den version som använder funktioner. Diskutera sedan hur detta relaterar till underhållbarhet.

  • Under **Individuell refactoring: Förbättra given kod**, kan elever tro att funktioner alltid behöver parametrar. Ge dem en funktion utan parametrar att omstrukturera och jämföra med en version där de lägger till en parameter på eget initiativ för att diskutera när parametrar är nödvändiga.

    Under **Individuell refactoring**, be eleverna att skapa två funktioner för samma uppgift: en utan parametrar och en med. Be dem att utföra samma uppgift i båda och diskutera vilken de föredrar och varför. Använd deras reflektioner för att korrigera övergeneraliseringar.


Metoder som används i denna översikt