Öppna i Google Docs

Lektionsplanering

Årskurs: Gymnasiet
Ämne: Programmering 1
Tema: Designmönster

Koppling till styrdokument

Lektionsplaneringen avser att täcka centrala innehållsområden kring designmönster i mjukvaruutveckling, inklusive vad designmönster är, deras syften och exempel på vanliga mönster.

Kunskapskrav

Eleven kan beskriva och tillämpa grundläggande designmönster samt förklara deras fördelar och användningsområden.

Lärarledda instruktioner

Introduktion till designmönster (10 min)

  • Definiera vad designmönster är och diskutera deras roll i mjukvaruutveckling.
  • Ge en översikt över syftena med designmönster: att lösa vanliga problem och skapa mer läsbar och underhållbar kod.
  • Förklara vikten av att ha en väldefinierad design i programvaruprojekt.

Typer av designmönster (15 min)

  • Beskriv de tre huvudkategorierna av designmönster: skapelsemönster, strukturella mönster och beteendemönster.
  • Ge exempel på specifika mönster inom varje kategori (t.ex. Singleton, Observer, Factory Method).
  • Diskutera hur varje mönster kan lösa specifika problem.

Analysera och tillämpa designmönster (10 min)

  • Visa konkreta exempel på hur olika designmönster implementeras i kod.
  • Diskutera fördelar och nackdelar med att använda designmönster.
  • Arbeta med några grundläggande exempel där eleverna får identifiera vilket designmönster som skulle vara mest lämpligt.

Best Practices för designmönster (10 min)

  • Diskutera vikten av att använda designmönster på rätt sätt.
  • Gå igenom vanliga fallgropar och misstolkningar som kan leda till överanvändning.
  • Betona vikten av att alltid anpassa mönstren efter det specifika projektets behov.

Reflektion kring designmönster (5 min)

  • Avsluta med en diskussion om hur designmönster kan förbättra programvaruutvecklingen.
  • Ställ frågor som: Hur kan ni se mönster i er egen kod?

Aktivitet

Eleverna kommer att arbeta i par för att identifiera ett problem i en redan existerande kod och föreslå ett eller flera lämpliga designmönster för att lösa det. De ska presentera sin lösning för klassen med exempel.

Exit-ticket

  • Vad är syftet med att använda designmönster?
    • Att lösa återkommande problem och göra koden enklare att förstå och underhålla.
  • Nämn en fördel med att använda designmönster.
    • Förbättrad läsbarhet och återanvändbarhet av kod.
  • Vad är ett exempel på ett skapelsemönster?
    • Singleton eller Factory Method.
  • Vad beskriver ett strukturellt mönster?
    • Hur klasser och objekt komponerar för att bilda större strukturer.
  • Hur kan överanvändning av designmönster bli ett problem?
    • Det kan göra koden mer komplicerad än nödvändigt och minska dess läsbarhet.

Hemuppgift

Som hemuppgift ska eleverna välja ett designmönster och skriva en rapport där de beskriver mönstret, dess tillämpningar och ge exempel på hur det kan implementeras i kod. De ska också reflektera över fördelarna och nackdelarna med att använda designmönstret. Denna hemuppgift kan fungera som en läxa för alla och som en kompletteringsuppgift för frånvarande.

Citat

“Programs must be written for people to read, and only incidentally for machines to execute.” – Abraham Lincoln, 1989. Citatet belyser vikten av att skriva kod som är lätt att förstå och underhålla, vilket designmönster hjälper till med.

Nästa lektion

För nästa lektion föreslås temat “Projektarbete och presentationsteknik”. Detta är relevant eftersom det att arbeta med projekt och effektivt presentera resultat är centrala färdigheter för framtida programmerare.