Lektionsplanering
Årskurs: Gymnasiet
Ämne: Programmering 1
Tema: Objektorienterad programmering
Koppling till styrdokument
Lektionsplaneringen avser att täcka centrala innehållsområden kring objektorienterad programmering, inklusive begrepp som klasser, objekt, arv och inkapsling.
Kunskapskrav
Eleven kan definiera och tillämpa begreppen objekt, klass och arv samt använda dessa för att skapa enklare objektorienterade program.
Lärarledda instruktioner
Introduktion till objektorientering (10 min)
- Definiera vad objektorienterad programmering (OOP) är.
- Diskutera skillnader mellan OOP och procedurell programmering.
- Presentera grunderna och fördelarna med objektorienterad programmering.
Klasser och objekt (15 min)
- Förklara skillnaden mellan klasser och objekt.
- Visa hur man definierar en klass och skapar objekt från klassen.
- Ge exempel på hur objekt kan interagera.
Arv och polymorfism (10 min)
- Introducera konceptet arv och hur det används för att skapa hierarkier av klasser.
- Diskutera polymorfism och hur det möjliggör flexibla kodlösningar.
- Ge konkreta exempel på arv och polymorfism i ett programmeringsspråk.
Inkapsling och dataskydd (10 min)
- Förklara vad inkapsling är och dess roll i att skydda data.
- Diskutera hur man använder getters och setters för att kontrollera åtkomst till objektets egenskaper.
- Visa exempel på inkapsling i kod.
Reflektion kring objektorientering (5 min)
- Avsluta med en diskussion om hur OOP kan förenkla programutveckling och underlätta kodunderhåll.
- Ställ öppna frågor för att få eleverna att reflektera över sina egna erfarenheter med OOP.
Aktivitet
Eleverna ska jobba i par för att skapa ett enkelt program med OOP-koncept som klasser, objekt, arv, och inkapsling. De kommer att bygga en klass som representerar en bil med olika egenskaper och metoder.
Exit-ticket
- Vad är en klass i objektorienterad programmering?
- En mall för att skapa objekt som innehåller egenskaper och metoder.
- Vad är skillnaden mellan en klass och ett objekt?
- Klassen är en definition medan ett objekt är en instans av klassen.
- Hur fungerar arv i OOP?
- En klass kan ärva egenskaper och metoder från en annan klass.
- Vad innebär inkapsling?
- Att skydda data genom att begränsa åtkomst till objektets egenskaper.
- Ge ett exempel på polymorfism.
- Metoder som har samma namn men fungerar olika baserat på vilken klass de anropas från.
Hemuppgift
Som hemuppgift ska eleverna skapa en klass som representerar ett djur med olika attribut och metoder. De ska beskriva klassen i en kort rapport, inklusive hur arv kan användas för att skapa specifika djurtyper (t.ex. Hund och Katt). Denna hemuppgift fungerar både som en läxa för alla och som en kompletteringsuppgift för frånvarande.
Citat
“Det bästa sättet att förutsäga framtiden är att uppfinna den.” – Alan Kay, 1971. Citatet relaterar till hur objektorienterad programmering möjliggör kreativitet och förbättring inom programdesign och utveckling.
Nästa lektion
För nästa lektion föreslås temat “Databaser och SQL”. Detta är relevant eftersom databaser är centrala för många program och system, och förståelse för databashantering är en viktig färdighet för programmerare.