Lektionsplanering
Årskurs: Gymnasiet
Ämne eller kurs: Datorteknik 1b
Tema: Algoritmer och datastrukturer
Koppling till styrdokument
Centralt innehåll
Lektionens centrala innehåll omfattar förståelsen av grundläggande algoritmer och datastrukturer, hur man designar och implementerar dem effektivt samt deras tillämpningar i programmeringslösningar.
Kunskapskrav
Eleven ska kunna beskriva och ge exempel på olika algoritmer och datastrukturer, samt kunna implementera och använda dessa i programmeringsuppgifter.
Lärarledda instruktioner
Introduktion till algoritmer (10 min)
- Definiera vad en algoritm är och dess betydelse i programmering.
- Diskutera hur algoritmer används för att lösa problem i olika applikationer.
- Ge exempel på enkla algoritmer, såsom sorteringsalgoritmer (t.ex. bubbel-sortering).
Vanliga datastrukturer (15 min)
- Introducera grundläggande datastrukturer såsom arrayer, listor, stackar och köer.
- Diskutera deras egenskaper och skillnader, samt i vilka situationer de är mest användbara.
- Illustrera exempel på hur dessa datastrukturer implementeras i koden.
Design och analys av algoritmer (15 min)
- Gå igenom hur man designar en algoritm med fokus på tydlighet och effektivitet.
- Diskutera begreppet tidskomplexitet och hur man analyserar en algoritms effektivitet.
- Introducera Big O-notation som ett sätt att beskriva algoritmers prestanda.
Sammanfattning och diskussion (10 min)
- Återkoppla till lektionens huvudpunkter.
- Diskutera frågor, exempelvis: Hur kan vi välja rätt datastruktur för en given uppgift?
- Öppna för frågor och förbered för praktisk aktivitet.
Aktivitet
Eleverna delas in i grupper och får i uppdrag att implementera en enkel sorteringsalgoritm (t.ex. bubbel-sortering eller urvalssortering) i det programmeringsspråk de använder. De ska även skapa en presentation där de beskriver algoritmens fungerande och tidskomplexitet. Varje grupp presenterar sina resultat för klassen, vilket syftar till att ge en praktisk tillämpning av algoritmdesign och datastrukturer.
Exit-ticket
- Vad är en algoritm? Svar: En algoritm är en sekvens av steg som utförs för att lösa ett problem eller uppnå ett mål.
- Nämn tre exempel på datastrukturer. Svar: Arrayer, listor, stackar.
- Vad innebär tidskomplexitet? Svar: Tidskomplexitet beskriver hur tiden som behövs för att köra en algoritm växer i förhållande till storleken på inputdata.
- Vad är Big O-notation?