Hoppa till innehållet
Teknik · Årskurs 6 · Algoritmer och logiskt tänkande · Hösttermin

Att skapa egna funktioner

Eleverna lär sig att definiera och använda egna funktioner för att organisera kod och undvika upprepningar.

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

Om detta ämne

Att skapa egna funktioner introducerar eleverna för att definiera och använda anpassade funktioner i programmering. De lär sig organisera kod, undvika upprepningar och bryta ner stora problem i mindre, återanvändbara delar. Detta kopplar direkt till Lgr22:s centrala innehåll i Teknik 4-6, särskilt styrning och reglering, grundläggande programmeringsbegrepp samt strategier för problemlösning. Eleverna analyserar hur funktioner förbättrar kodens läsbarhet och underhållbarhet, designar funktioner för specifika uppgifter och förklarar fördelarna med modularitet.

I enheten Algoritmer och logiskt tänkande (höstterminen) stärks elevernas förmåga att tänka systematiskt. Genom att skapa funktioner som t.ex. ritar former eller hanterar input, ser de hur kod blir enklare att förstå och ändra. Detta bygger på tidigare kunskap om sekvenser och loopar, och förbereder för mer avancerad programmering i senare årskurser.

Aktivt lärande passar utmärkt för detta ämne. När elever parprogrammerar eller i små grupper testar och refaktorerar kod, upplever de direkt hur funktioner förenklar arbete. Praktiska experiment med fel och iterationer gör abstrakta begrepp konkreta, ökar engagemanget och utvecklar självständigt tänkande.

Nyckelfrågor

  1. Analysera hur egna funktioner kan förbättra läsbarheten och underhållbarheten av kod.
  2. Designa en funktion som utför en specifik, återanvändbar uppgift.
  3. Förklara fördelarna med att bryta ner ett stort problem i mindre funktioner.

Lärandemål

  • Designa en funktion som utför en specifik, återanvändbar uppgift i ett programmeringsprojekt.
  • Analysera hur införandet av egna funktioner påverkar läsbarheten och underhållbarheten av befintlig kod.
  • Förklara fördelarna med att dela upp ett komplext programmeringsproblem i mindre, hanterbara funktioner.
  • Jämföra effektiviteten hos kod som använder funktioner med kod som saknar dem för att lösa ett givet problem.
  • Utvärdera huruvida en definierad funktion korrekt uppfyller sitt avsedda syfte genom testning.

Innan du börjar

Grundläggande programmeringskoncept (variabler, datatyper)

Varför: Eleverna behöver förstå hur man lagrar och hanterar data för att kunna skapa funktioner som tar emot och returnerar värden.

Kontrollstrukturer (if-satser, loopar)

Varför: Funktioner används ofta tillsammans med kontrollstrukturer för att styra programflödet, så en grundläggande förståelse är nödvändig.

Sekvenser i programmering

Varför: Förståelsen för att kod körs steg för steg är en grund för att kunna greppa hur en funktion utför en serie instruktioner.

Nyckelbegrepp

FunktionEtt namngivet block av kod som utför en specifik uppgift och kan anropas flera gånger. Det hjälper till att organisera kod och undvika repetition.
AnropAtt exekvera eller köra koden som finns inuti en funktion. Man 'anropar' funktionen för att den ska utföra sitt jobb.
ParametrarVariabler som skickas in i en funktion när den anropas. De tillåter funktionen att arbeta med olika värden varje gång den körs.
ReturvärdeDet värde som en funktion skickar tillbaka till den del av programmet som anropade den efter att den har utfört sin uppgift.
ModularitetPrincipen att dela upp ett program i mindre, oberoende delar (funktioner) som var och en hanterar en specifik uppgift. Detta gör koden lättare att förstå och underhålla.

Se upp för dessa missuppfattningar

Vanlig missuppfattningFunktioner körs automatiskt när de definieras.

Vad man ska lära ut istället

Funktioner måste anropas explicit för att exekveras. Aktiva övningar med stegvis debugging i par visar elever skillnaden mellan definition och anrop, vilket klargör flödet. Diskussioner kring varför koden inte fungerar stärker förståelsen.

Vanlig missuppfattningFunktioner är onödiga om koden fungerar ändå.

Vad man ska lära ut istället

Funktioner förbättrar läsbarhet och underhållbarhet vid ändringar. Genom grupprefaktoring ser elever hur upprepad kod blir svårhanterlig. Praktiska jämförelser före och efter bygger insikt i långsiktiga fördelar.

Vanlig missuppfattningAlla funktioner behöver parametrar.

Vad man ska lära ut istället

Funktioner kan vara enkla utan parametrar för fasta uppgifter. Experiment i små grupper med både typer visar flexibiliteten. Elever testar och diskuterar användningsområden, vilket korrigerar övergeneraliseringar.

Idéer för aktivt lärande

Se alla aktiviteter

Kopplingar till Verkligheten

  • Programmerare på spelutvecklingsföretag som Blizzard Entertainment använder funktioner för att bygga komplexa spelvärldar. Till exempel kan en funktion för att 'rita karaktärsmodell' anropas om och om igen för varje karaktär i spelet, vilket sparar enormt mycket tid och gör koden mer hanterbar.
  • Webbutvecklare som skapar interaktiva webbplatser använder funktioner för att hantera användarinteraktioner. En funktion för att 'validera formulärinput' kan anropas varje gång en användare fyller i ett formulär, vilket säkerställer att informationen är korrekt innan den skickas vidare.

Bedömningsidéer

Utgångsbiljett

Ge 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.

Diskussionsfråga

Stä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.'

Snabbkontroll

Visa 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?'

Vanliga frågor

Hur förklarar man fördelarna med egna funktioner för årskurs 6?
Visa konkreta exempel där upprepad kod blir rörig vid ändringar, sedan refaktorer med funktioner. Låt elever mäta kodlängd och tid för felsökning före och efter. Koppla till vardagliga analoga, som att sortera leksaker i lådor för enklare hantering. Detta gör abstrakta fördelar som läsbarhet och återanvändning greppbara.
Hur kan aktivt lärande hjälpa elever att förstå funktioner?
Aktivt lärande genom parprogrammering och gruppexperiment låter elever direkt testa funktioner, se effekter av anrop och uppleva refactoringens värde. De itererar på egna misstag, som felaktiga parametrar, och diskuterar lösningar. Detta bygger djupare förståelse än passiv instruktion, ökar motivation och utvecklar problemlösningsfärdigheter i autentiska sammanhang.
Vilka verktyg passar för att skapa funktioner i årskurs 6?
Använd blockbaserade miljöer som Scratch eller Blockly för visuell feedback, eller textbaserade som Python i Trinket eller Replit för övergång. Börja med Scratch för intuitiv drag-and-drop, fortsätt till textkod. Integrera med Lgr22 genom att fokusera på logik snarare än syntax, så elever fokuserar på begrepp.
Hur bedömer man elevers förståelse av egna funktioner?
Bedöm genom kodexempel där elever skapar och motiverar funktioner, samt reflekterar skriftligt över förbättringar. Använd rubriker för modularitet, korrekta anrop och förklaring av fördelar. Peerbedömning av varandras kod förstärker lärandet och ger insikter i gruppdynamik.

Planeringsmallar för Teknik