Introduktion till objektorientering (visuellt)Aktiviteter & undervisningsstrategier
Aktivt arbete passar utmärkt för att lära sig objektorientering eftersom eleverna genom konkreta handlingar och interaktioner kan se skillnaden mellan objekt och variabler. Att arbeta praktiskt med blockprogrammering gör abstrakta begrepp som egenskaper och metoder gripbara och begripliga direkt.
Lärandemål
- 1Identifiera och beskriva egenskaperna (attribut) och handlingarna (metoder) för ett objekt i ett visuellt programmeringsspråk.
- 2Jämföra hur olika objekt kan interagera med varandra genom att analysera flödet i ett enkelt program.
- 3Designa ett scenario där minst tre objekt med definierade egenskaper och metoder samarbetar för att uppnå ett gemensamt mål.
- 4Förklara skillnaden mellan ett objekt och en variabel med hjälp av konkreta exempel från programmering.
- 5Skapa ett enkelt visuellt program där objekt skickar meddelanden till varandra för att utlösa handlingar.
Vill du en komplett lektionsplan med dessa mål? Skapa ett uppdrag →
Parprogrammering: Objektfamilj i Scratch
Låt elever i par skapa en familj av objekt, som tre olika djur med unika egenskaper (storlek, färg) och metoder (hoppa, äta). De programmerar interaktioner, till exempel att ett djur jagar ett annat. Testa och dela skripten med klassen.
Förberedelse & detaljer
Förklara vad ett 'objekt' är i programmeringssammanhang och hur det skiljer sig från en variabel.
Handledningstips: Under parprogrammeringen se till att båda eleverna turas om att vara 'förare' och 'navigatör' för att säkerställa aktivt deltagande i skapandet av objektfamiljen.
Setup: Öppen yta eller ommöblerade bänkar anpassade för scenariot
Materials: Rollkort med bakgrund och mål, Instruktioner för scenariot
Stationer: Egenskaper och handlingar
Upplägg fyra stationer med Scratch-mallar: ändra egenskaper (färg, position), lägg till metoder (rörelse, ljud), testa interaktioner (krockar), och designa eget scenario. Grupper roterar och dokumenterar förändringar.
Förberedelse & detaljer
Jämför hur olika objekt kan interagera med varandra i ett program.
Handledningstips: Vid stationerna placera tydliga exempel på egenskaper och handlingar synliga för alla elever, till exempel genom uppsatta kort med bilder och text.
Setup: Öppen yta eller ommöblerade bänkar anpassade för scenariot
Materials: Rollkort med bakgrund och mål, Instruktioner för scenariot
Helklassdesign: Samarbets-scenario
Brainstorma ett scenario som stadstrafik med bilar och fotgängare. Elever bidrar med ett objekt var i ett gemensamt Scratch-projekt, definierar egenskaper och metoder, sedan körs och utvärderas simulationen tillsammans.
Förberedelse & detaljer
Designa ett enkelt scenario där flera objekt med unika egenskaper samarbetar.
Handledningstips: Under helklassdesignen uppmuntra eleverna att ställa frågor till varandra om hur deras objekt ska kommunicera, istället för att du som lärare fyller i alla detaljer.
Setup: Öppen yta eller ommöblerade bänkar anpassade för scenariot
Materials: Rollkort med bakgrund och mål, Instruktioner för scenariot
Individuell utmaning: Modifiera objekt
Ge elever en färdig mall med ett objekt. De lägger till nya egenskaper och metoder, testar hur det påverkar ett annat objekt, och reflekterar i en logg över skillnader mot variabler.
Förberedelse & detaljer
Förklara vad ett 'objekt' är i programmeringssammanhang och hur det skiljer sig från en variabel.
Handledningstips: För den individuella utmaningen ge exakt en modifieringsuppgift i taget för att undvika överväldigande eleverna och underlätta felsökning.
Setup: Öppen yta eller ommöblerade bänkar anpassade för scenariot
Materials: Rollkort med bakgrund och mål, Instruktioner för scenariot
Att undervisa detta ämne
Börja med att visa konkreta exempel på objekt och klasser som eleverna känner igen från vardagen. Använd analogier som 'en bil är ett objekt, och alla bilar har egenskaper som färg och hastighet, men de beter sig olika beroende på hur de programmeras'. Undvik att förklara för mycket teori i förväg, låt eleverna upptäcka begreppen genom att arbeta praktiskt. Forskningsmässigt är det viktigt att eleverna får tid att reflektera över sina skapelser, till exempel genom att diskutera varför vissa objekt beter sig som de gör i sina program.
Vad du kan förvänta dig
Eleverna ska kunna skilja på egenskaper och metoder i sina egna skapade objekt. De ska även kunna förklara hur objekt interagerar och varför samma klass kan ge upphov till olika beteenden. Synligt lärande visas genom att eleverna kan beskriva och visa hur deras objekt fungerar i praktiken.
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
Se upp för dessa missuppfattningar
Vanlig missuppfattningUnder parprogrammeringen kan eleverna tro att ett objekt bara är en variabel som lagrar data.
Vad man ska lära ut istället
Be eleverna att skapa ett objekt i Scratch med både egenskaper (t.ex. färg och storlek) och metoder (t.ex. 'hoppa' eller 'ändra färg'). Jämför sedan objektet med en variabel som bara lagrar en siffra. Diskutera hur objektet beter sig medan variabeln bara är ett värde.
Vanlig missuppfattningUnder stationerna antar eleverna att alla objekt av samma klass beter sig exakt likadant.
Vad man ska lära ut istället
Be eleverna att skapa två objekt av samma klass (t.ex. två bilar) och ändra en egenskap hos det ena (t.ex. hastighet). Låt dem sedan testa hur objekten beter sig när de interagerar. Diskutera varför de beter sig olika trots samma klass.
Vanlig missuppfattningUnder helklassdesignen tror eleverna att objekt inte kommunicerar med varandra.
Vad man ska lära ut istället
Under designprocessen ställ frågor som: 'Hur ska objektet reagera när det nuddar väggen?' eller 'Hur vet objekt B att objekt A har flyttat sig?'. Använd elevernas svar för att visa på meddelanden och händelser mellan objekt i Scratch.
Bedömningsidéer
Efter stationerna, ge eleverna en enkel scen i text eller bild (t.ex. en hund som jagar en boll). Be dem identifiera två objekt, beskriva en egenskap och en metod för varje objekt, och förklara hur de kan interagera.
Under helklassdesignen, visa ett färdigt Scratch-projekt där objekt interagerar. Ställ frågorna: 'Vad representerar detta objekt?', 'Vilka egenskaper har det?', 'Vilka handlingar kan det utföra?', 'Hur kommunicerar objekten för att få detta att hända?' och diskutera svaren i helklass.
Under den individuella utmaningen, låt eleverna rita två olika objekt (t.ex. en båt och en flygplan) på varsin lapp. Be dem skriva ner en egenskap och en metod för varje objekt på lappen. Samla in och läs upp några exempel för att bedöma förståelsen.
Fördjupning & stöd
- Utmana eleverna att skapa ett eget interaktivt spel med minst tre olika objekt som kommunicerar med varandra.
- För elever som kämpar, ge dem färdiga objekt med endast en egenskap och en metod att modifiera, till exempel en boll med en metod för att ändra färg.
- För djupare utforskning, introducera villkor och loopar för att skapa mer komplexa interaktioner mellan objekt, till exempel en labyrintsökning där en figur navigerar genom hinder.
Nyckelbegrepp
| Objekt | En självständig enhet i ett program som har både egenskaper (vad det är) och metoder (vad det kan göra). |
| Klass | En mall eller ritning för att skapa objekt. Alla objekt av samma klass delar samma egenskaper och metoder. |
| Egenskap (Attribut) | Data som beskriver ett objekts tillstånd eller karaktär, till exempel färg, storlek eller hastighet. |
| Metod (Beteende) | En handling eller funktion som ett objekt kan utföra, till exempel 'flytta', 'hoppa' eller 'ändra färg'. |
| Instansiera | Processen att skapa ett faktiskt objekt från en klassmall. |
Föreslagen metodik
Planeringsmallar för Digitalt skapande och tekniska system
Mer i Algoritmer och logiskt tänkande
Vardagens dolda algoritmer
Eleverna identifierar algoritmer i vardagliga situationer, från recept till trafikljus, och diskuterar deras struktur.
2 methodologies
Steg för steg: Sekvenser
Eleverna utforskar grundläggande programmeringskoncept genom att skapa sekvenser av instruktioner för att lösa enkla uppgifter.
2 methodologies
Upprepningar och loopar
Eleverna lär sig om loopar och hur de kan användas för att effektivisera kod och automatisera upprepade handlingar.
2 methodologies
Felsökningens konst (Debugging)
Eleverna utvecklar strategier för att hitta och rätta till fel i instruktioner och programkod, så kallad debugging.
2 methodologies
Variabler och data
Eleverna introduceras till konceptet variabler för att lagra och manipulera data i program, samt olika datatyper.
2 methodologies
Redo att undervisa Introduktion till objektorientering (visuellt)?
Skapa ett komplett uppdrag med allt du behöver
Skapa ett uppdrag