.FILE
Klurig programmering | åk 7-9

Programmera ett övergångsställe

Lektionen handlar om att  styra trafikljus i en korsning.

1

Diskutera hur ett övergångsställe fungerar som tekniskt system

Titta på filmen för att få en överblick av uppgiften

Ett övergångsställe med trafikljus för bilar och fotgängare är en del av ett tekniskt system för att reglera flöden av bilar, cyklar och människor samt att minska antalet skador.

Läs och diskutera.

  • Vad ingår i det tekniska systemet för övergångsstället, utöver lamporna?
  • Vad ska systemet styra, kontrollera?
  • Vilka andra tekniska system måste övergångsstället kopplas ihop med för att det ska fungera?
2

Programmera en algoritm som styr övergångsstället i Scratch

Arbetsgång

  1. Börja med att testa projektet, vad händer? Hur kan du styra trafikljusen?
  2. I Scratchprojektet finns ganska mycket kod. Gå igenom den och förklara vad varje del gör.
  3. Försök förklara varför fotgängarna blir påkörda.
  4. Titta i koden och sök reda på var algoritmen som styr trafikljusen ligger.
  5. Berätta för en kompis vad som händer i koden.
  6. Testa att ändra några av värdena för att ändra funktionen.
  7. Testa! Utvärdera. Förändra koden. Testa igen!

I övningsprojektet "Programmera ett övergångsställe" på Scratch kommer fotgängare gående mot ett övergångsställe som visar rött. Bilar kör förbi, för de har grönt ljus. Du ska programmera algoritmen som växlar trafikljusen så att flödet mellan fotgängare och bilister blir optimalt.

När antalet väntande fotgängare blir för stort får du ett varningsljud. Samma sak händer om det blir för många bilar i kö. Målet är att automatisera trafikljusen så att de växlar vid vissa intervaller, eller när antalet väntande bilar och fotgängare håller på att bli för högt.

I Scratch-projektet finns två variabler som automatiskt styr om trafikljusen. Genom att ändra innehållet i dessa variabler kan du styra ljusen, och därmed stoppa bilar eller fotgängare.

Du kommer att behöva använda följande block:

* Pseudokod är ett sätt att börja tänka i programmering utan att behöva skriva riktig kod. Pseudokoden kan vara uttryckt på vanlig svenska. Ett exempel för denna övning skulle kunna börja så här:

  • Om antalet fotgängare är högre än 10 så
  • växla till grön gubbe
  • växla till rödljus för bilarna
3

Avslutande reflektion

Presentera er lösning inför klassen och berätta hur ni tänkt när ni löst uppgiften. Jämför er lösning med andras.

  • Finns det en "rätt" lösning?
  • Finns det en "effektiv" lösning?
  • Finns det en oetisk lösning?
  • Reflektera över att det går att lösa samma uppgift på många olika sätt med algoritmer och programmering.
  • Hur kan olika programmerare och deras värderingar påverka vårt samhälle?
4

Extrauppgift: Programmera ett trafikljus med Javascript

Scratch är en utmärkt miljö för att lära sig programmeringslogik. För en mer avancerad nivå kan den här övningen vara ett bra alternativ.

Javascript-övningen trafikljus går att köra i en dator med webbläsare. Övningen är framtagen av Mikael Tylmad, författare av läromedel i Javascript.

Till lektionspaketet

För läraren

Se lärarinstruktioner

Lektionens syfte

Syftet med lektionen är att låta eleverna programmera algoritmer för att lära sig styra tekniska system och öva på programmering, samt att ge dem förståelse för användningen av algoritmer i tekniska system i vår vardag.

Förberedelser

En förutsättning för att göra denna övning är att eleverna har grundläggande kunskaper i hur blockprogrammeringsverktyget* Scratch fungerar som programmeringsspråk. Du hittar fler lektioner där verktyget Scratch används om du tittar under resurssidan för Scratch.

Denna lektion förutsätter att eleverna är bekanta med begreppet algoritmer, gärna genom att först ha genomfört lektionen "Undersök och diskutera algoritmer".

Tänk på att det är viktigt att förmedla att programmering handlar om att prova, testa och göra om. Misstag och fel är nödvändiga delar för att kunna lösa problem. Prata gärna om begreppet bugg, genom att använda material från lektionen "Buggar eller fel vid programmering".

*Blockprogrammeringsverktyg är ett verktyg där eleverna arbetar med programmering genom att använda block som sammanfattar kodsnuttar i ”vanlig” kod. Scratch är utvecklat av MIT – Massachusetts Institute of Technology.

Genomförande

Titta på Scratchprojektet tillsammans med eleverna och låt dem sedan remixa produktionen för att skapa en algoritm som löser uppgiften.

Se läroplanskoppling

Centralt innehåll i ämnet teknik (årskurs 7-9)

Arbetssätt för utveckling av tekniska lösningar

  • Tekniska lösningar som utnyttjar elektronik och hur de kan programmeras.
  • Teknikutvecklingsarbetets olika faser: identifiering av behov, undersökning, förslag till lösningar, konstruktion och utprövning. Hur faserna i arbetsprocessen samverkar.
  • Hur digitala verktyg kan vara stöd i teknikutvecklingsarbete till exempel för att göra ritningar och simuleringar.
  • Programmering i olika programmeringsmiljöer.

Centralt innehåll i ämnet matematik (årskurs 7-9)

Matematisk problemlösning

  • Hur algoritmer kan skapas, testas och förbättras vid programmering för problemlösning.

Dela lektionen

Spara som PDF

Google Classroom

Klicka på den lektionsdel som du vill spara till Google Classroom:

Google Drive

Microsoft Teams

Klicka på den lektionsdel som du vill dela till Microsoft Teams:

  • Lektionsdel 1
    Diskutera hur ett övergångsställe fungerar som tekniskt system
  • Lektionsdel 2
    Programmera en algoritm som styr övergångsstället i Scratch
  • Lektionsdel 3
    Avslutande reflektion
  • Lektionsdel 4
    Extrauppgift: Programmera ett trafikljus med Javascript

Eller installera vår Microsoft Teams app

Så fungerar spara-funktionen