Kommunikation i visuella programmeringsmiljöer

Relevanta dokument
Kommunicera med entydiga instruktioner

Programmering som språk

Extramaterial till Matematik X

Upprepade mönster (fortsättning från del 1)

Digitalt lärande och programmering i klassrummet

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Varför programmering i läroplanerna?

Programmering från början

Förslag den 25 september Matematik

Programmering från början

Koda ett mattetest (lektion 4 av 5)

Koda ett mattetest 5 av 5. Lektionen handlar om att göra ett mattetest som fungerar för alla multiplikationstabeller. Koda ett mattetest 5 av 5

Koda ett mattetest 4 av 5. Lektionen handlar om att utveckla mattetest så det fungerar för alla multiplikationstabeller. Koda ett mattetest 4 av 5

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Samband och förändringar Olika proportionella samband, däribland dubbelt och hälften.

Programmering i matematik och teknik i grundskolan

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

PROGRAMMERING I SKOLAN Utbildning av kollegor på Carlssons skola CECILIA CHRISTIANSEN ULRIHCA MALMBERG

Skolverkets arbete med skolans digitalisering

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

Bedömning för lärande i matematik

Vad säger forskningen om programmering som kunskapsinnehåll? Karin Stolpe, föreståndare NATDID liu.se/natdid

Lokal pedagogisk planering

Skolverkets förslag till kursplan i matematik i grundskolan. Matematik

Programmering, dans och loopar

Programmering i matematik. grundskolan, gymnasieskolan och vuxenutbildningen

Kunskapskrav. Materialet består av flera olika komponenter.

Grunderna i programmering - loopar 3 av 6

MATEMATIK 5.5 MATEMATIK

Talföljer och cirklar: Algoritmer, geometri och mönster 2 av 4

Likhetstecknets innebörd

Grunderna i programmering - skapa instruktioner 2 av 6

Kursplan för Matematik

Programmering eller Datalogiskt tänkande

Koda ett mattetest 1 av 5. Lektionen handlar om att använda programmeringskunskaper för att skapa ett enkelt multiplikationstest.

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

MATEMATIK 3.5 MATEMATIK

På vilka sätt kan mönster vara en ingång till att utveckla förmågan att uttrycka och argumentera för generaliseringar algebraiskt?

Programmering från början

Olika sätt att lösa ekvationer

Skolverkets arbete med skolans digitalisering

Digital kompetens i läroplanen styrdokumentsförändringar. Christian Magnusson Undervisningsråd, avdelningen för läroplaner

Nyheter om matematik från Skolverket. oktober 2017

Enhet / skola: Lindens skola i Lanna Åk: 3

Kursplan Grundläggande matematik

Lgr 11 och digital kompetens

Kursplanen i matematik grundskolan

Lokal pedagogisk planering i matematik för årskurs 9

Matematiska lägesmått med en micro:bit

Om programmering i matematikundervisning

Slump och statistik med Scratch. Se video

FÖRSLAG TILL KURSPLAN INOM KOMMUNAL VUXENUTBILDNING GRUNDLÄGGANDE NIVÅ

Hands-On Math. Matematikverkstad. Förskolans nya läroplan 1 juli Matematik är en abstrakt och generell vetenskap

Kurskod: GRNMAT2 Verksamhetspoäng: 600

EV3 Design Engineering Projects Koppling till Lgr11

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

Constanta Olteanu, Linnéuniversitetet och Anna-Lena Ekdahl, Högskolan i Jönköping

Programmering, dans och loopar

Del ur Lgr 11: kursplan i matematik i grundskolan

Programmera en mänsklig robot

Klassrumsprojekt programmering - Digitalt lärande

Centralt innehåll. I årskurs 1.3

Dagens innehåll Bedömning för lärande i matematik. PRIM-gruppen. Katarina Kjellström Inger Ridderlind Anette Skytt

Likhetstecknets innebörd

Programmera en mänsklig robot. Lektionen handlar om att skapa och följa instruktioner. Programmera en mänsklig robot

Scanner Detektor lärarhandledning Mojäng

Vardagssituationer och algebraiska formler

Undervisningen i ämnet matematik ska ge eleverna förutsättningar att utveckla följande:

Koda ett mattetest 3 av 5. Lektionen handlar om att göra en variabel i programmet för ett multiplikationstest. Koda ett mattetest 3 av 5

MATEMATIK 3.5 MATEMATIK

Lokal pedagogisk planering i matematik för årskurs 9

Matematiska lägesmått med en micro:bit

ENKEL Programmering 3

Välkomna! Datalogiskt tänkande och programmering 15 augusti WiFI Nätverk: Conventumwifi Lösenord: conventum2018

Syfte. Malmö stad Komvux Malmö Södervärn PRÖVNING. prövning grundläggande matematik

Programmering i matematik och teknik i grundskolan

PRÖVNINGSANVISNINGAR

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Om programmering i matematikundervisning

Provmoment: Tentamen Matematik och matematikdidaktik, 3 hp, tillfälle 1

Betyg i årskurs 6. Grundskolans läroplan Kursplan i ämnet matematik

Lärarhandledning matematik

Studenter i lärarprogrammet GF(11GF20) 46 p G: 28 p VG: 38 p

Fortsätt med Scratch: Meddelande och game over (del 5/6)

Grunderna i programmering hitta buggen (lektion 4 av 5)

Enhet / skola: Lindens skola i Lanna Åk: 1

DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017

Programmering i gymnasieskola och vuxenutbildning

Vad innebär det att undervisa i algebra i årskurs 1 3? Vart ska dessa

matematik Syfte Kurskod: GRNMAT2 Verksamhetspoäng: KuRSplanER FöR KoMMunal VuxEnutBildninG på GRundläGGandE nivå 55

Nyheter från Skolverket

Arbetsområde: Från pinnar till tal

Meddelande och game over 5 av 6

Slump och statistik med Scratch

Hjälpmedel: Miniräknare, skrivmateriel (ex. linjal, gradskiva, passare) och Lgr 11

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Bedömning i matematikklassrummet

Om LGR 11 FÖRMÅGOR CENTRALT INNEHÅLL. De matematiska förmågor som undervisningen i åk 1-9 syftar till att eleverna ska utveckla.

ämnesområden. Funktioner och räta linjens ekvation. Hur funktioner kan användas för att undersöka förändring, förändringstakt och andra samband.

Transkript:

Matematik Grundskola årskurs 4-6 Modul: Algebra, åk 4-6 Del 7: Kommunikation och programmering i algebraklassrummet Kommunikation i visuella programmeringsmiljöer Constanta Olteanu och Lucian Olteanu, Linnéuniversitetet En av förmågorna som eleverna ska utveckla med hjälp av undervisningen i matematik är förmågan att kommunicera med och om matematik, dvs. att utbyta information med andra om matematiska idéer och tankegångar, muntligt, skriftligt och med hjälp av olika uttrycksformer (Skolverket, 2017). För att utveckla elevernas förmåga att kommunicera med och om matematik i programmering ska eleverna få konstruera, beskriva och följa användningen av en algoritm i visuella programmeringsmiljöer. Symboler i matematik Symbolerna som används i matematik i de första årskurserna handlar i första hand om siffersymboler (0, 1, 2... 9) och symboler för räknesätt (+, -, och ). Det finns även symboler som används för att uttrycka relationer, dvs. ett förhållande mellan ett antal händelser med avseende på en viss egenskap. Det kan finnas två typer av relationer: Enkla, där man jämför två händelser. I matematik används symbolerna =,, > och < för att uttrycka enkla relationer. Sammansatta, där man jämför fler än två händelser. Relationer såsom att ligga emellan inbegriper tre händelser. Exempelvis, 2 ligger mellan 1 och 3 kan skrivas som 1 < 2 och 2 < 3. Instruktioner i vilka matematiska symboler används kan vara både muntliga och skriftliga. Många instruktioner finns i läroböcker. För att eleverna ska kunna lösa en uppgift i en lärobok eller ett prov måste eleverna förstå vad de ska göra. Det är vanligt att det blir fel bara för att eleverna missar något i uppgiftens instruktion. Siffersymboler och symboler för olika räknesätt används i programmering på samma sätt som i algebra och aritmetik. Detta innebär att eleverna kan använda sina kunskaper inom dessa områden för att ge instruktioner som en dator ska genomföra, det vill säga att programmera. Ett undantag i flera programspråk är likhetstecknet. Det som främst skiljer användningen av likhetstecknet i algebra och i programmering presenterades i texten Programmering - centrala begrepp. Symboler i programmering Det finns studier som visar att elever kan utveckla sin resonemangs- och kommunikationsförmåga med hjälp av programmering (Calder, 2010; Clements, 2002). Detta sker genom att elever diskuterar och utforskar komplicerade begrepp, testar sina program på en kamrat eller lärare när de undersöker hur ett objekt ska förflytta sig, kommunicerar med andra uttrycksformer samt överför sina nyvunna kunskaper i andra https://larportalen.skolverket.se 1 (11)

situationer. Att låta eleverna skapa instruktioner som någon annan ska utföra visar på vikten av tydlighet. Genom stegvisa instruktioner och användande av olika symboler förklarar eleven för datorn eller för en klasskamrat vad den ska göra och i vilken ordning instruktionerna ska ges så att uppgiften blir korrekt utförd. De vanligaste symbolerna som används för att ge stegvisa instruktioner är pilar och bilder. Man kan rita dessa själv eller ta färdiga bilder från internet. Att utveckla förmågan att bryta ner problem i mindre delar och ge entydiga instruktioner är centralt för att en dator ska kunna tolka och köra ett program. Det finns inte någon möjlighet att komplettera med förklaringar för en dator, en dator gör som du säger och inte som du tänker. När man programmerar är det en fördel om man är uppmärksam på instruktioner eller sekvenser som återkommer, så att man slipper skriva samma sak flera gånger. I början spelar det inte så stor roll, men ju mer komplicerade instruktioner man ger, desto viktigare blir det att eleverna ser skillnader och likheter mellan användningen av olika symboler. Visuella programmeringsmiljöer I visuella programmeringsmiljöer kan eleverna till exempel dra-och-släppa fördefinierade grafiska element för att sätta samman sina program. Detta kallas i vardagligt tal ofta för blockprogrammering (Skolverket, 2017a). Visuell programmering låter eleverna beskriva processer med hjälp av grafiska illustrationer. Valet av en programmeringsmiljö beror på till exempel lärandemål, elevernas förkunskaper och problemets typ. Oavsett vilken programmeringsmiljö du som lärare väljer att använda i ditt klassrum måste du veta att det finns olika sätt att beskriva en algoritm. Nedan ges fyra exempel på hur man kan skriva en algoritm som beskriver spelet Hilo - med naturligt språk, blockdiagram, pseudokod och strukturdiagram. Spelet Hilo går till så att datorn väljer ett slumpmässigt tal och spelaren skall gissa vilket tal det är. För varje gissning skall datorn tala om gissningen är rätt, högre eller lägre än rätt svar. Här beskrivs en enkel variant där det enbart tar upp en gissning. Naturligt språk - eleverna förklarar en algoritm, där variabler ingår, med vanlig text. Uppmana användaren att mata in ett tal som ska vara hemligt. Uppmana användaren att mata in ett gissning tal. Kontrollera om gissat tal är lika med hemligt tal. I så fall skriv ut Rätt. I annat fall skriv ut För stort eller För litet. https://larportalen.skolverket.se 2 (11)

Blockdiagram - eleverna visar en grov struktur av en algoritm i form av ritade "boxar". Varje box kan vara en del av algoritmen. Pseudokod - man skriver en blandning av programspråk, vanlig text och matematik. Pseudokod används både vid beskrivning av algoritmer och vid arbete med att utveckla dem, men är inte körbar på en dator. En pseudokod ska vara lättläst, tillräckligt detaljerad, kort och inte innehålla deklaration av variabler. Exempel: annars annars Ange hemligt tal. Ange gissning. Om rätt gissat tal, skriv ut Rätt Om för stort tal, skriv ut För stort Om för litet tal, skriv ut För litet https://larportalen.skolverket.se 3 (11)

Strukturdiagram - man ritar algoritmen med olika symboler, som visar när och hur saker skall ske i programmet. En elips används för att markera programstart och slut. En parallellogram anger input och en romb betyder val eller beslut och kan på olika sätt symbolisera selektion eller en del av en loop. Blockprogrammering Under de senaste åren har blockbaserade programmeringsmiljöer blivit populära. Denna våg av popularitet har blivit uppmuntrad av Scratch, men det finns flera andra liknande miljöer som till exempel Blockly och Snap. Det finns flera likheter mellan dessa visuella programmeringsmiljöer. De har en färdig uppsättning instruktioner i form av block som man kan pussla ihop för att bygga sina program. De är dessutom utvecklade för att användas av nybörjare och ställer därför oftast inga stora krav på varken tekniska förkunskaper eller tidigare erfarenheter av programmering. Blockbaserade språk minimerar också möjligheten till syntaxfel och behovet av att memorera namn på olika instruktioner eftersom de finns färdigt i form av block. På så sätt kan man fokusera på att formulera algoritmen, det vill säga lösa problemet, i stället för att fokusera på att skriva allt exakt rätt enligt språkets grammatik. En anledning till att blockprogrammering har blivit så populärt de senaste åren är att eleverna kan se alla bitar i blockbaserade miljöer. På så sätt är det lättare för dem att upptäcka vilka instruktioner och operationer som är möjliga att genomföra med hjälp av en dator. En annan anledning är att färger hjälper eleverna att gruppera operationer logiskt https://larportalen.skolverket.se 4 (11)

medan blockens form för det mesta gör det möjligt att avgöra om olika instruktioner och operationer fungerar tillsammans. Flera studier (t.ex. Weintrop & Wilensky, 2015) visar att det finns tre stora fördelar med användningen av blockprogrammering. Dessa är: 1) Enkel åtkomst till kraftfulla visualiseringar. Exempelvis kan eleverna enkelt göra en sprajt (eng. sprite), det vill säga ett objekt som kan kontrolleras genom programmering och kan till exempel vara en haj eller en sjöstjärna. Med hjälp av instruktioner kan eleverna få dem att ändra riktning, utseende och interagera med andra sprajtar. 2) Lättanvända kontrollstrukturer, såsom händelsehantering. Eleverna kan exempelvis få flera sprajtar att flytta sig samtidigt och få dem att skicka meddelanden till varandra. Det kan handla om två apor kommunicerar med varandra. Alternativ (villkorssatser/if-satser) och repetition (slingor/loopar) är lätt att förverkliga. Eleverna kan också enkelt ge olika instruktioner, som till exempel att spela upp ett ljud eller genomföra beräkningar. I textbaserade programspråk räcker det sällan med enskilda instruktioner för att åstadkomma denna typ av händelser. 3) Möjligheten att bygga riktiga program och dela dessa med andra elever på samma skola eller på andra skolor. Blockbaserade programmeringsmiljöer är utformade för att säkerställa att nybörjarprogrammerare får positiva erfarenheter av att kommunicera med en dator genom att få visuella signaler om hur, var och varför olika instruktioner används för att skapa en algoritm. Textbaserad programmering Vi har nu sett på flera olika sätt att representera program naturligt språk, blockdiagram, pseudokod och strukturdiagram. Därtill finns även textbaserad programmering. Det finns program, som till exempel Blockly, som gör det möjligt att växla mellan blockprogrammering och textprogrammering. Ett textbaserat programmeringsspråk används för att utveckla mer komplicerade program. För att detta ska fungera krävs att man har helt entydiga regler för hur olika saker ska skrivas och att skrivsättet och beteckningssystemet är mycket väl definierat. Programspråk karakteriseras av att ha både syntax (språkregler) och semantik (betydelser). Syntaxen beskriver språkets form, medan betydelsen, effekten eller innebörden av exempelvis olika instruktioner, som förekommer i skapandet av en algoritm, beskrivs av språkets semantik. Det som skrivs för att få en dator att utföra något kallas för kodning. Ett flertal forskare (t.ex. Crow, 2014; Nettleford, 2013) påpekar att programmering inte enbart betyder "kodning" och att betrakta programmering som enbart kodning kan ge en missvisande bild för användningen av programmering i en undervisningssituation. https://larportalen.skolverket.se 5 (11)

Det finns många olika programspråk, men det är mindre viktigt vilket programspråk du som lärare väljer att jobba med, förutsatt att det ger eleverna möjlighet att utveckla en generell förståelse av programmeringsprinciper och dess användning (Skolverket 2017a). Kommunikation i programmering Ett flertal studier har visat att när eleverna arbetar i par, parprogrammering, skapas en miljö som bidrar till aktivt lärande och social interaktion (t.ex. Nagappan, 2003). Detta arbetssätt gör det möjligt för eleverna att utveckla sin förmåga att arbeta kollaborativt vilket innebär att man lär tillsammans och att man kan utnyttja varandras kunskaper och kompetenser. Genom att arbeta kollaborativt utvecklar eleverna sin kommunikationsförmåga och förmågan att samarbeta. De får också träna på problemlösning och kritiskt tänkandet genom att inte enbart lära sig av varandra utan även med varandra. När eleverna arbetar i par ger de instruktioner till varandra. Den ena är sändare eller programmerare och den andra är mottagare eller dator. Eftersom mottagaren genomför olika handlingar, muntliga, skriftliga eller visuella, utifrån sändarens instruktioner är det viktigt att sändaren reflekterar över vilka instruktioner som ska ges och i vilken ordning. Mottagaren avkodar instruktionernas betydelse och innebörd. På grund av denna avkodningsprocess finns det alltid en risk för att det ska uppstå missförstånd som gör att en eller flera svårigheter blir synliga. För att minska dessa missförstånd är det viktigt att sändaren får återkoppling, för att få veta om mottagaren verkligen förstått instruktionen. Om missförstånd uppstått måste sändaren alltid åtgärda dessa genom att korrigera de instruktioner som ges. När eleverna kommunicerar utför de kodning, tolkning och avkodning av en algoritm. Kommunikation är ett viktigt element för att effektivisera skapandet och användningen av en algoritm. Detta leder i sin tur till en lösning av ett problem på ett enklare och tydligare sätt. Transfer Att överföra och använda kunskaper från ett område till ett annat kallas transfer (Kjällander, m.fl., 2015). Transfer mellan programmering och algebra kan till exempel uppmärksammas när eleverna ger instruktioner till varandra för att utföra olika operationer med tal eller för att tolka användningen av tal och symboler. Om eleverna ska kunna ge entydiga instruktioner för att finna det okända talet i uttrycket 5 = x 3 måste eleverna använda kunskap från aritmetik och algebra. Användningen av blockprogrammering möjliggör för eleverna att behålla fokus på användningen av den algebraiska kunskapen i relation till programmering och tvärtom. Detta innebär att eleverna exempelvis kan använda algebraiska uttryck för att kunna programmera samtidigt som de kan tolka vissa steg som används i en blockprogrammering med hjälp av algebraiska uttryck. Dessutom möjliggör användningen av blockprogrammering att kommunikationen är begriplig och enkel eftersom visuell programmering låter eleverna beskriva processer med hjälp av illustrationer. https://larportalen.skolverket.se 6 (11)

Det finns möjligheter till lärande i matematik när man arbetar med programmering i undervisningen. Dock har läraren en central roll genom att påvisa och lyfta in matematiken i undervisningen, då den annars kan bli osynlig för eleven. I exemplet ovan, där elever testar sina program på en kamrat eller lärare, kan läraren väva in matematiska begrepp genom att personen som blir programmerad ska förflytta sig ett visst antal grader eller i en viss vinkel. https://larportalen.skolverket.se 7 (11)

Förslag på aktiviteter Eleverna genomför samtliga aktiviteter i par. Aktivitet 1 tolka algoritmer Utrusning: Dator. Förberedelser: Skriv ut och kopiera stenciler med exempel som föreslås i denna aktivitet eller skapa egna exempel. Dela ut instruktionerna till varje par. Välj en programmeringsmiljö. Se till att eleverna har samma program installerat på sina datorer. Syfte: Syftet med denna aktivitet är att eleverna ska kommunicera med varandra om hur instruktionerna som ges i en algoritm ska tolkas och vilka kommentarer som ska ges för att förbättra en algoritm. Matematiskt innehåll: Det matematiska innehållet kan variera, men om du vill ha fokus på innehållet i algebra kan du använda följande exempel: Exempel 1 Exempel 2 välj ett starttal välj ett starttal steg 1 = det valda talet + 3 steg 1 = det valda talet + 6 steg 2 = steg 1 * det valda talet steg 2 = steg 1 * 2 steg 3 = steg 2 - det valda talet * det valda talet steg 3 = steg 2 + 7 skriv resultatet i steg 3 skriv resultatet i steg 3 Genomförande: Låt eleverna tolka vad varje instruktion betyder. Därefter använder eleverna en programmeringsmiljö för att skapa ett blockbaserat program utgående från algoritmen. En elev (programmerare) matar in olika kodblock. Den andra eleven granskar varje kodrad när den matas in. Genom att datorn visar hur algoritmen fungerar får eleverna direkt återkoppling till sina resonemang och tolkningar. Låt eleverna därefter testa algoritmen genom att välja olika starttal (t.ex. 5, - 4 och 10). Fråga eleverna: vad det finns för relation mellan starttalet och resultatet som de får fram om algoritmen kan skrivas på ett annat sätt så att svaret i exempel 1 och 2 ska vara detsamma https://larportalen.skolverket.se 8 (11)

Aktivitet 2 Att tolka det resultat algoritmen ger Utrusning: Dator. Förberedelser: Skriv ut och kopiera instruktionerna och mönster som föreslås i denna aktivitet eller skapa andra instruktioner och mönster. Dela ut instruktionerna till varje par. Välj en programmeringsmiljö. Se till att eleverna har samma program installerat på sina datorer. Syfte: Att ge eleverna möjlighet att tolka resultatet som en algoritm ger och välja rätt svar bland olika alternativa svar. Matematiskt innehåll: förflyttning, vinklar, mönster Genomförande: Ge eleverna olika mönster att välja mellan och fråga vilka av dessa mönster som motsvarar algoritmen nedan. Eleverna resonerar med varandra om vilket mönster som motsvarar algoritmen nedan. Gå 20 steg. Vänd 90 0 åt vänster. Gå 20 steg. Vänd 90 0 åt vänster. Gå 20 steg. Vänd 90 0 åt vänster. Gå 40 steg. Repetera 8 gånger Exempel på mönster: Därefter kan den ena eleven i varje par vara programmerare och skapa ett blockprogram för att visualisera mönstret. Den andra eleven granskar varje instruktion när algoritmen skrivs. När programmet körs har eleverna möjlighet att direkt få återkoppling på sina resonemang och tolkningar. Låt eleverna studera vad som händer om man vänder 90 0 eller 120 0 åt höger. https://larportalen.skolverket.se 9 (11)

Aktivitet 3 generaliseringar Utrusning: Dator, papper och penna. Förberedelser: Skriv ut och kopiera stenciler med exempel som föreslås i denna aktivitet eller skapa egna exempel. Dela ut instruktionerna till varje par. Välj en programmeringsmiljö. Se till att eleverna har samma program installerat på sina datorer. Syfte: Att låta eleverna få syn på en algoritms konstruktion genom att använda variabler Matematiskt innehåll: algebraiska uttryck eller matematiska formler Genomförande: Eleverna kan använda blockprogrammering direkt eller så kan de först använda naturligt språk och därefter blockprogrammering för att föra sina resonemang. Du kan låta eleverna arbeta i par med att skapa en algoritm för att beräkna värdet av uttrycket 5(x + 3) för olika värden på x. Algoritmen kan se ut på följande sätt: Exempel 1 Exempel 2 Exempel 3 välj ett tal välj ett tal välj ett tal resultat1 = tal + 3 resultat1 = 5*tal resultat1 = 5*tal resultat2 = 5* resultat1 resultat2 = 5* 3 resultat2 = resultat1 + 3 skriv resultat2 resultat3 = resultat1 + resultat2 skriv resultat2 skriv resultat3 Låt eleverna diskutera skillnader och likheter mellan exemplen ovan. Vad är resultatet för varje exempel om det valda talet är 3? Varför är resultaten olika? Låt eleverna därefter använda en programmeringsmiljö för att skapa en blockprogrammering och testa algoritmen genom att välja samma start tal. Lyft fram för hela klassen generaliseringen som eleverna kan göra, nämligen betydelsen av den distributiva lagen i algebra. https://larportalen.skolverket.se 10 (11)

Referenser Calder, N. (2010). Using Scratch: an integrated problem-solving approach to mathematical thinking. Australian Primary Mathematics Classroom, 15(4), 9 14. Clements, D. H. (2002). Computers in Early Childhood Mathematics. Contemporary Issues in Early Childhood, 3(2), 160-181. Crow, D. (2014). Why Every Child Should Learn to Code. http://www.theguardian.com/technology. Kjällander, S., Åkerfeldt, A., & Petersen, P. (2015). Översikt avseende forskning och erfarenheter kring programmering i förskola och grundskola. Skolverket. Nagappan, N., Williams, L., Ferzli, M., Yang, K., Wiebe, E., Miller, C. & Balik, S. (2003). Improving the CS1 Experience with Pair Programming, in ACM Special Interest Group Computer Science Education (SIGCSE), s. 359-362. Nettleford, W. (2013). Primary School Children Learn to Write Computer Code. Available: http://www.bbc.co.uk/ news/uk-england-london-23261504. Shu, N.C. (1988). Visual Programming. Van Nostrand Reinhold, New York. Skolverket. (2017, reviderad). Läroplan för grundskolan, förskoleklassen och fritidshemmet. www.wolterskluwer.se/offentligapublikationer Skolverket. (2017a, reviderad). Kommentarmaterial till kursplanen i matematik. https://www.skolverket.se/laroplaner-amnen-ochkurser/grundskoleutbildning/grundskola/matematik. Weintrop, D., & Wilensky, U. (2015). To block or not to block, that is the question: students perceptions of blocks-based programming. Proceedings of the 14th International Conference on Interaction Design and Children, ACM, pp. 199 208. https://larportalen.skolverket.se 11 (11)