Skip to content

Samarbete och Delning av KodAktiviteter & undervisningsstrategier

Aktivt arbete med samarbete och koddelning skapar förståelse för praktiska utmaningar eleverna möter i verkliga projekt. Genom konkreta övningar konkretiserar de varför strukturerad namngivning och versionshantering är avgörande för gruppens effektivitet och resultatkvalitet.

Årskurs 9Digital Innovation och Systemförståelse4 aktiviteter20 min45 min

Lärandemål

  1. 1Jämföra effekten av tydliga respektive otydliga fil- och variabelnamn på en grupps förmåga att förstå och modifiera kod.
  2. 2Förklara hur versionshanteringssystem som Git bidrar till att säkerställa att alla i en grupp arbetar med den senaste kodversionen.
  3. 3Designa en enkel kodstruktur för ett gemensamt projekt som underlättar samarbete och delning.
  4. 4Utvärdera olika metoder för koddelning, såsom delade editorer och versionshanteringssystem, baserat på projektets behov och gruppens storlek.

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

Pair Programming: Tydliga Namn

Dela in elever i par där en skriver kod och den andra granskar namngivning av variabler och filer. Byt roller efter 10 minuter och diskutera förbättringar tillsammans. Avsluta med gemensam koddelning via en delad plattform.

Förberedelse & detaljer

Varför är det viktigt att namnge filer och variabler tydligt när man samarbetar?

Handledningstips: Under Pair Programming: Tydliga Namn, stanna upp vid tre tillfällen och be eleverna förklara varför de valt ett specifikt namn för en variabel eller funktion.

Setup: Flexibel arbetsmiljö med enkel tillgång till material och teknik

Materials: Projektbeskrivning med en drivande frågeställning, Planeringsmall och tidslinje, Bedömningsmatris med delmål, Presentationsmaterial

TillämpaAnalyseraUtvärderaSkapaSjälvregleringRelationsförmågaBeslutsfattande
45 min·Smågrupper

Grupprotation: Versionshantering

Skapa små grupper som turas om att lägga till funktioner i ett gemensamt program med enkel Git-liknande metod, som Google Drive med versionshistorik. Varje grupp roterar och löser konflikter från föregångaren. Reflektera i helklass.

Förberedelse & detaljer

Hur kan vi se till att alla i en grupp arbetar med den senaste versionen av ett program?

Handledningstips: Vid Grupprotation: Versionshantering, visa ett konkret exempel på en merge-konflikt och låt eleverna lösa den gemensamt med stöd av guiden.

Setup: Flexibel arbetsmiljö med enkel tillgång till material och teknik

Materials: Projektbeskrivning med en drivande frågeställning, Planeringsmall och tidslinje, Bedömningsmatris med delmål, Presentationsmaterial

TillämpaAnalyseraUtvärderaSkapaSjälvregleringRelationsförmågaBeslutsfattande
40 min·Hela klassen

Helklassutmaning: Koddelningsverktyg

Introducera verktyg som Replit eller GitHub Classroom. Elever arbetar individuellt först, delar sedan koden i helklass-repo och kommenterar varandras bidrag. Diskutera vad som funkade bra.

Förberedelse & detaljer

Vilka verktyg eller metoder kan vi använda för att dela kod med andra?

Handledningstips: Under Helklassutmaning: Koddelningsverktyg, ge eleverna fem minuter att testa två olika verktyg och jämföra upplevelsen innan de presenterar sina reflektioner.

Setup: Flexibel arbetsmiljö med enkel tillgång till material och teknik

Materials: Projektbeskrivning med en drivande frågeställning, Planeringsmall och tidslinje, Bedömningsmatris med delmål, Presentationsmaterial

TillämpaAnalyseraUtvärderaSkapaSjälvregleringRelationsförmågaBeslutsfattande
20 min·Individuellt

Individuell Reflektion: Samarbetsplan

Elever skapar en personlig checklista för kodnamngivning och delning baserat på dagens erfarenheter. Dela och peer-review i par.

Förberedelse & detaljer

Varför är det viktigt att namnge filer och variabler tydligt när man samarbetar?

Handledningstips: Vid Individuell Reflektion: Samarbetsplan, ge eleverna en checklista med fem punkter att utgå ifrån när de planerar sitt eget arbete i nästa projekt.

Setup: Flexibel arbetsmiljö med enkel tillgång till material och teknik

Materials: Projektbeskrivning med en drivande frågeställning, Planeringsmall och tidslinje, Bedömningsmatris med delmål, Presentationsmaterial

TillämpaAnalyseraUtvärderaSkapaSjälvregleringRelationsförmågaBeslutsfattande

Att undervisa detta ämne

Börja med att visa eleverna en situation där otydliga namn skapade förvirring i en grupp, till exempel genom att projicera två versioner av samma funktion. Låt dem sedan tillsammans reflektera över vilken version de skulle föredra att arbeta med. Undvik att föreläsa om teorin – eleverna lär sig bäst genom att uppleva problemen själva och diskutera lösningar i realtid.

Vad du kan förvänta dig

Eleverna visar att de kan tillämpa tydliga namn på filer och variabler, använder versionshantering för att undvika konflikter och väljer lämpliga verktyg för att dela kod. De reflekterar också över hur samarbetet påverkade slutresultatet och vad de lärt sig om gruppdynamik.

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 Pair Programming: Tydliga Namn, några elever kommer att säga att det spelar ingen roll hur man namnger filer och variabler så länge koden fungerar.

Vad man ska lära ut istället

Be dem att byta roller och granska varandras kod utan att veta vad den gör. Diskutera sedan hur lång tid det tog att förstå koden och varför tydliga namn är avgörande för effektivt samarbete.

Vanlig missuppfattningUnder Grupprotation: Versionshantering, några elever kommer att tro att man delar kod bäst genom att mejla filer fram och tillbaka.

Vad man ska lära ut istället

Be eleverna att skapa en konflikt genom att skicka samma fil via mejl till sig själva i två olika versioner. Låt dem sedan uppleva svårigheterna med att slå ihop ändringarna och diskutera varför versionshanteringsverktyg är bättre.

Vanlig missuppfattningUnder Helklassutmaning: Koddelningsverktyg, flera elever kommer att säga att alla i gruppen måste arbeta samtidigt för att samarbeta effektivt.

Vad man ska lära ut istället

Under aktiviteten, be eleverna att dela upp arbetet så att de arbetar asynkront. Visa sedan hur de kan se varandras ändringar och diskutera fördelarna med flexibelt arbete.

Bedömningsidéer

Diskussionsfråga

Efter Pair Programming: Tydliga Namn, be eleverna att diskutera i helklass: Vilka namn var lättast att förstå och varför? Hur påverkade namngivningen ert samarbete?

Snabbkontroll

Under Grupprotation: Versionshantering, be eleverna att snabbt anteckna två specifika problem som kan uppstå när man arbetar med samma fil utan versionshantering, och hur de löser dessa problem med GitHub.

Kamratbedömning

Efter Helklassutmaning: Koddelningsverktyg, låt eleverna granska varandras reflektioner och ge feedback på hur tydligt de förklarat fördelarna med de verktyg de valt att använda.

Fördjupning & stöd

  • Utmaning: Be eleverna att skapa en gemensam guide för sitt klassrum där de samlar riktlinjer för namngivning och versionshantering baserat på sina erfarenheter under aktiviteterna.
  • Scaffolding: Ge elever som kämpar en mall med förifyllda namnexempel och en steg-för-steg guide för att komma igång med GitHub.
  • Deeper exploration: Låt eleverna undersöka hur olika versionshanteringssystem (till exempel GitLab eller Bitbucket) skiljer sig åt och vilka som passar bäst för olika typer av projekt.

Nyckelbegrepp

VersionshanteringEtt system som registrerar ändringar i en fil eller en uppsättning filer över tid så att man kan återgå till specifika versioner senare. Git är ett exempel på ett sådant system.
Repository (Repo)En central plats där kod och dess historik lagras. Det kan vara lokalt på en dator eller på en server, som till exempel på GitHub.
CommitEn sparad ögonblicksbild av kodens tillstånd vid en viss tidpunkt i versionshanteringen. Varje commit har en beskrivning som förklarar ändringarna.
BranchEn oberoende utvecklingslinje inom ett versionshanteringssystem. Det gör det möjligt att arbeta med nya funktioner eller buggfixar utan att påverka huvudkoden.
MergeProcessen att kombinera ändringar från en branch till en annan. Detta används för att integrera ny kod i huvudprojektet.

Redo att undervisa Samarbete och Delning av Kod?

Skapa ett komplett uppdrag med allt du behöver

Skapa ett uppdrag