En AI-baserad digital lärarassistent

Lektion. Gy. Tillämpad programmering – Avancerad programmering

Lektionsplanering för Avancerad Programmering

Årskurs: Gymnasiet

Ämne: Tillämpad programmering

Tema: Avancerad programmering

Koppling till styrdokument

Centralt innehåll

Denna lektion fokuserar på avancerade programmeringskoncept, inklusive rekursion och
iterativa metoder samt grundläggande programmeringsmönster. Eleverna får lära sig att använda
dessa tekniker för att lösa mer komplexa problem och förstå hur de kan effektivisera
programkod.

Kunskapskrav

Eleven ska kunna använda avancerade programmeringsmetoder och förstå hur dessa kan tillämpas
för att lösa problem och optimera kod.

Lärarledda instruktioner

Introduktion till rekursion (10 min)

  • Förklara vad rekursion är och hur det fungerar inom programmering.
  • Diskutera fördelarna och nackdelarna med att använda rekursion jämfört med iterativa
    metoder.
  • Ge exempel på rekursiva funktioner, såsom Fibonacci-sekvensen och faktorialfunktioner.

Iterativa metoder (15 min)

  • Beskriva vad en iterativ metod är och hur den skiljer sig från rekursion.
  • Demonstrera hur man löser problem med loopar istället för rekursion.
  • Ge exempel på när det är mer effektivt att använda iteration snarare än rekursion.

Programmeringsmönster (15 min)

  • Introducera begreppet designmönster och deras syfte i programmering.
  • Gå igenom några vanliga designmönster, exempelvis Singleton och Observer.
  • Diskutera hur mönster kan hjälpa till att lösa vanliga problem och skapa mer återanvändbar
    kod.

Praktisk tillämpning och exempel (10 min)

  • Visa exempel på ett problem som kan lösas både rekursivt och iterativt, och diskutera
    skillnaderna i implementeringen.
  • Besvara eventuella frågor och förbereda eleverna för praktiska övningar.

Aktivitet

Eleverna ska arbeta i par för att skriva och jämföra rekursiva och iterativa lösningar på ett
vanligt programmeringsproblem, som att beräkna ett tal i Fibonacci-sekvensen. De ska
analysera fördelarna och nackdelarna med varje metod. Genom denna aktivitet får de en
praktisk förståelse för både rekursion och iteration, samt hur olika typer av lösningar kan
påverka effektiviteten.

Exit-ticket

  • Vad är rekursion? (En metod där en funktion anropar sig själv för att lösa ett problem.)
  • Nämn ett exempel på ett problem som ofta löses med rekursion. (Fibonacci-sekvensen eller
    faktorial.)
  • Vad är en iterativ metod? (En metod som upprepade gånger utför en åtgärd under en loop.)
  • Ge ett exempel på ett designmönster. (Singleton eller Observer.)
  • Vilken är en nackdel med att använda rekursion? (Det kan leda till stack overflow om
    rekursionen går för djupt eller om basfallet inte hanteras korrekt.)

Hemuppgift

Som hemuppgift ska eleverna skapa ett program som implementerar både rekursiva och iterativa
lösningar för att räkna ut faktorialer för ett givet tal. De ska beskriva skillnaderna i kod
och diskutera vilken metod som var mer effektiv och varför. Syftet är att förstärka
förståelsen för avancerade programmeringskoncept.

Citat

”Programmering är konsten att skriva instruktioner för en maskin.” – Donald Knuth (1974)

Citatet understryker vikten av både design och struktur inom programmering, särskilt när det
gäller att hantera komplexa problem med avancerade tekniker.


×