Programmera ett kärnkraftverk
Lektionen handlar om att lära sig att styra tekniska system genom att skapa algoritmer.
Hur verkar algoritmerna i tekniska system?
Inom industrin skedde datoriseringen i stor skala från 1970-talet och framåt. Sedan dess har allt mer av styrningen blivit datoriserad, med en utveckling från enklare moment och industrirobotar till helt automatiserade fabriker.
Diskutera hur programmeringen är central för styrningen av en fabrik eller ett kraftverk.
Frågor att besvara
- Hur många exempel på datoriserade processer kan du nämna?
- Tror du att att antalet automatiserade moment i industrin kommer att öka? Motivera ditt ställningstagande.
- Vilka industriarbeten kommer att skötas av människor om 50 år?
- Hur kan innovationer inom programmering påverka tillverkningsindustrin?
Hur fungerar ett kärnkraftverk?
Titta tillsammans på filmen "Fatta fakta. Kärnkraft" från UR för att få en inblick i hur ett kärnkraftverk fungerar och kan skapa (alstra) elektricitet.
Frågor att fundera kring:
- Hur fungerar kontrollmekanismerna i ett kärnkraftverk?
- Vad krävs av maskiner som styrs automatiskt?
- Hur kan ett "fel" (en bugg) i programmeringskoden som kontrollerar ett kärnkraftverk påverka oss?
- Borde det ställas speciella krav på den som programmerar samhällsviktiga maskiner? Om ja, vilka krav skulle det handla om?
- Känner du till andra automatiserade styrsystem i samhället som är programmerade och som skulle kunna skapa väldigt stor skada eller oreda om det blev fel i koden? Hur ska "vi" hantera dessa system?
- Finns det system som är så viktiga att de inte utsätts för "buggar" att de inte bör programmeras? Om ja, vilka?
Programmera en algoritm som maximerar effekten i ett kärnkraftverk
I övningsprojektet Programmera ett kärnkraftsverk på Scratch ser du en reaktor i ett kärnkraftverk i genomskärning. Processen i ett kärnkraftverk startar när styrstavarna höjs upp, vilket låter de radioaktiva partiklarna flöda mellan bränslestavarna. Ju längre upp du hissar styrstavarna, desto fler reaktioner kan ske. Men om du flyttar stavarna för långt upp går det för snabbt och strålningen ökar över godkända nivåer. Du behöver hålla koll på de två mätarna som visar total strålningsdos och risken för härdsmälta! Om de slår i taket är det game over (härdsmälta).
Du ska programmera en algoritm som automatiskt håller bränslestavarna på nivåer som dels maximerar mängden genererad energi, dels ser till att strålningen hålls inom acceptabla nivåer.
- Börja med att fundera på den bästa metoden. Hur kan du lösa problemet? Skriv pseudokod* på papper eller i en textredigerare.
- I Scratchprojektet finns redan ganska mycket kod. Gå igenom den och försök att förstå vad varje del utför.
- Hitta var i projektet algoritmen som påverkar styrstavarnas position hör hemma.
- Börja förändra algoritmen för att automatstyra bränslestavarna utan att orsaka katastrof.
- Testa! Utvärdera. Förändra koden. Testa igen!
* Pseudokod är ett sätt att börja tänka i programmering utan att behöva skriva kod. Pseudokoden kan vara uttryckt på vanlig svenska. Ett exempel för denna övning skulle kunna börja så här: Om effekten är lägre än X växla höj bränslestavarna med Y
Du kommer att behöva använda dessa block, bland andra:
Avslutande reflektion
Presentera era lösningar och hur ni tänkt när ni löst uppgiften. Reflektera över att det går att lösa samma uppgift på många olika sätt med algoritmer och programmering. Fundera kring vilken/vilka som löst uppgiften på ett effektivt sätt.
Diskutera gärna hur olika programmerare kan lösa uppgifter på olika sätt och hur det kan påverka vårt samhälle.
För läraren
Se lärarinstruktioner
Lektionens syfte
Syftet med lektionen är att ge eleverna förståelse för användningen av algoritmer i tekniska system i vår vardag genom att programmera algoritmer för att lära sig styra tekniska system och öva på programmering.
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å produktionen i Scratch tillsammans med eleverna och låt dem sedan remixa produktionen för att skapa en algoritm som löser uppgiften.
Se läroplanskoppling
Skolans uppdrag
Skolan ska bidra till att eleverna utvecklar förståelse för hur digitaliseringen påverkar individen och samhällets utveckling. Alla elever ska ges möjlighet att utveckla sin förmåga att använda digital teknik. De ska även ges möjlighet att utveckla ett kritiskt och ansvarsfullt förhållningssätt till digital teknik, för att kunna se möjligheter och förstå risker samt kunna värdera information.
Teknik
Syfte
Undervisningen i ämnet teknik ska syfta till att eleverna utvecklar intresse för och kunskaper om tekniken som omger oss. Eleverna ska ges möjligheter att utveckla förståelse för att teknik har betydelse för och påverkar människan, samhället och miljön. /.../
Undervisningen ska ge eleverna möjligheter att reflektera över teknikens historiska utveckling. Därmed får de bättre förutsättningar att förstå samtidens tekniska företeelser, hur tekniken och samhällsutvecklingen påverkar varandra samt hur teknik kan användas på ett ansvarsfullt sätt.
I undervisningen ska eleverna ges möjligheter att använda ämnets begrepp och att utveckla kunskaper om hur tekniska lösningar används och fungerar. Genom att tekniska lösningar görs synliga och begripliga i undervisningen ges eleverna förutsättningar att orientera sig och agera i en teknikintensiv värld.
Undervisningen i ämnet teknik ska ge eleverna förutsättningar att utveckla
- förmåga att reflektera över olika val av tekniska lösningar, deras konsekvenser för
individen, samhället och miljön samt hur tekniken har förändrats över tid,
Centralt innehåll i ämnet teknik (åk 7–9)
Teknik, människa, samhälle och miljö
- Möjligheter, risker och säkerhet vid teknikanvändning i samhället, däribland vid lagring av data.
- Hur tekniken möjliggjort vetenskapliga upptäckter och hur vetenskapen har möjliggjort tekniska innovationer.
- Hur föreställningar om teknik påverkar individers användning av tekniska lösningar och yrkesval.
Tekniska lösningar
- Hur komponenter och delsystem benämns och samverkar inom tekniska system, till exempel informations- och kommunikationsteknik och transportsystem.
- Tekniska lösningar för styrning och reglering med hjälp av elektronik och olika typer av sensorer. Hur tekniska lösningar som utnyttjar elektronik kan programmeras. Begrepp som används i samband med detta.
Arbetsmetoder för utveckling av tekniska lösningar
- Hur digitala verktyg kan användas i teknikutvecklingsarbete, till exempel för att göra ritningar och simuleringar.
- Egna konstruktioner där man använder styrning eller reglering med hjälp av programmering.
- Dokumentation av tekniska lösningar: skisser, ritningar, fysiska och digitala modeller samt rapporter som beskriver teknikutvecklings- och konstruktionsarbeten.
Matematik
Syfte
Undervisningen i ämnet matematik ska syfta till att eleverna utvecklar kunskaper om matematik och matematikens användning i vardagen och inom olika ämnesområden. /.../Genom undervisningen ska eleverna ges förutsättningar att utveckla förtrogenhet med grundläggande matematiska begrepp och metoder och deras användbarhet. Vidare ska eleverna genom undervisningen ges möjligheter att utveckla kunskaper i att använda digitala verktyg och programmering för att kunna undersöka problemställningar och matematiska begrepp, göra beräkningar samt för att presentera och tolka data.
Centralt innehåll i ämnet matematik (åk 7-9)
Algebra
- Programmering i visuell och textbaserad programmeringsmiljö. Hur algoritmer skapas, testas och förbättras vid programmering.
Sannolikhet och statistik
- Tabeller, diagram och grafer samt hur de tolkas och används för att beskriva resultat av egna och andras undersökningar, såväl med som utan digitala verktyg.
Dela lektionen
Spara som PDF
Google Classroom
Google Drive
Microsoft Teams
Eller installera vårMicrosoft Teams app