Skip to content

Att skapa egna funktionerAktiviteter & undervisningsstrategier

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.

Årskurs 6Digitalt skapande och tekniska system4 aktiviteter25 min45 min

Lärandemål

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

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

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.

Förberedelse & detaljer

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

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

Setup: Presentationsyta längst fram i klassrummet eller flera olika stationer

Materials: Instruktionskort med ämnesfördelning, Mall för lektionsplanering, Formulär för kamratrespons, Material för visuella hjälpmedel

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
45 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.

Förberedelse & detaljer

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

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

Setup: Presentationsyta längst fram i klassrummet eller flera olika stationer

Materials: Instruktionskort med ämnesfördelning, Mall för lektionsplanering, Formulär för kamratrespons, Material för visuella hjälpmedel

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
25 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örberedelse & detaljer

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

Handledningstips: Under 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.

Setup: Presentationsyta längst fram i klassrummet eller flera olika stationer

Materials: Instruktionskort med ämnesfördelning, Mall för lektionsplanering, Formulär för kamratrespons, Material för visuella hjälpmedel

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
35 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.

Förberedelse & detaljer

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

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

Setup: Presentationsyta längst fram i klassrummet eller flera olika stationer

Materials: Instruktionskort med ämnesfördelning, Mall för lektionsplanering, Formulär för kamratrespons, Material för visuella hjälpmedel

FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga

Att undervisa detta ämne

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.

Vad du kan förvänta dig

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.

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

Vad man ska lära ut istället

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.

Vanlig missuppfattningUnder **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.

Vad man ska lära ut istället

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.

Vanlig missuppfattningUnder **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.

Vad man ska lära ut istället

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.

Bedömningsidéer

Utgångsbiljett

Efter **Parprogrammering: Rita med funktioner**, ge eleverna ett kort kodavsnitt med upprepad kod för att rita två likadana former. Be dem att skriva en funktion som ersätter repetitionen och kort förklara varför deras funktion gör koden bättre och tydligare.

Diskussionsfråga

Efter **Grupputmaning: Spel med återanvändbara funktioner**, ställ frågan: 'Ni har nu använt funktioner för att skapa ett spel. Tänk er att ni ska bygga ett nytt spel där ni vill lägga till fler nivåer. Hur skulle ni använda funktioner för att organisera arbetet? Ge minst två exempel på funktioner ni skulle skapa och förklara varför de underlättar processen.'

Snabbkontroll

Under **Individuell refactoring: Förbättra given kod**, visa två versioner av samma uppgift: en med och en utan funktioner. Fråga eleverna: 'Vilken version är lättast att förstå och varför? Vilken version skulle ni välja att ändra om ni ville ändra storlek på kvadraten och varför? Be dem att motivera sina svar skriftligt eller muntligt.'

Fördjupning & stöd

  • Utmana eleverna att skapa en funktion som ritar ett hus med olika delar (väggar, tak, fönster) genom att anropa andra funktioner inuti den egna funktionen.
  • För elever som kämpar, ge dem en färdig funktion med tom kropp att fylla i eller be dem att rita ett flödesdiagram över hur funktionen ska fungera innan de skriver koden.
  • Be eleverna att undersöka hur funktioner används i ett verkligt program, till exempel ett enkelt spel, och dokumentera hur funktionerna bidrar till dess struktur.

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.

Redo att undervisa Att skapa egna funktioner?

Skapa ett komplett uppdrag med allt du behöver

Skapa ett uppdrag