UNDERVISNING OG LÆRING I PRAKSIS
Verden er blevet digitaliseret. Alle steder omkring os holder sensorer øje med vores blodtryk, tilbagelagte kilometer og skraldespanden, vi er lige ved at bakke ind i. Data samles i en stadig større strøm omkring os og behandles af algoritmer, der sender informationer videre til vores telefon, vores bil eller ud på nettet. Den, der kender koderne, har adgang til flere informationer om os, end vi selv har overblik over. Koderne er blevet et nyt sprog, som alle er afhængige af, men kun få mestrer. Der er derfor mange grunde til, at der også i folkeskolen er en stigende interesse for kodning og programmering.
Er programmering nyt for dig og dine elever? Så er denne bog et godt sted at starte!
På www.dafolo.dk/programmering finder du supplerende materiale til bogen. Malene Erkmann er uddannet folkeskolelærer og cand.IT i design, kommunikation og medier. Hun er tilknyttet UCSJ’s efter- og videreuddannelsesafdeling, hvor hun primært underviser inden for området kommunikation og medier samt arbejder med udvikling af digitale undervisningsdesign og digitalt understøttede læringsmiljøer. Eva Petropouleas har været lærer i 12 år. I 2013 startede hun på frivillig basis Egedal CoderDojo, og i dag er hun ansat hos CFU Sjælland som pædagogisk konsulent for digitalisering, programmering og robotteknologi. Her vejleder hun skoler og lærere og ISBN 978-87-7160-506-8 afholder kurser i, hvordan området kan implementeres i skolens praksis. ISBN 978-87-7160-506-8
Varenr. 7717
9 788771 605068
PROGRAMMERING I PRAKSIS
Programmering i praksis – didaktiske design og læringspotentialer i grundskolen er en introduktion til programmering med konkrete forslag til undervisningen i grundskolen. Bogen er inddelt i fire kapitler. Kapitel 1 introducerer Computational Thinking som en generel tilgang til programmering i grundskolen. Kapitel 2 gennemgår grundlæggende begreber til arbejdet med programmering. Kapitel 3 belyser didaktisk design i forbindelse med programmering gennem fem didaktiske grund-principper, SOLO-taksonomien, forskellige opgavetyper og vurderingskriterier. Kapitel 4 handler om, hvordan programmering kan inddrages meningsfuldt i grundskolen. I slutningen af kapitlet præsenteres desuden to konkrete praksiseksempler på programmeringsforløb, som retter sig mod henholdsvis den humanistiske og den naturfaglige faggruppe.
UNDERVISNING OG LÆRING I PRAKSIS
En håndsrækning til at inddrage programmering meningsfuldt i grundskolen!
UNDERVISNING OG LÆRING I PRAKSIS MALENE ERKMANN EVA PETROPOULEAS
MED IT
PROGRAMMERING I PRAKSIS Didaktiske design og læringspotentialer i grundskolen
MALENE ERKMANN EVA PETROPOULEAS
PROGRAMMERING I PRAKSIS Didaktiske design og læringspotentialer i grundskolen
Malene Erkmann og Eva Petropouleas Programmering i praksis Didaktiske design og læringspotentialer i grundskolen 1. udgave, 1. oplag, 2017 ©2017 Dafolo A/S og forfatterne Forlagsredaktør: Elisa Nadire Caeli Omslagsdesign: Studio Sister Brandt Ikon på forside og titelblad: Designed by Freepik Grafisk produktion: Dafolo A/S, Frederikshavn Dafolos trykkeri er svanemærket. Dafolo har i sin miljømålsætning forpligtet sig til en stadig reduktion af ressourceforbruget samt en reduktion af miljøpåvirkningerne i øvrigt. Der er derfor i forbindelse med denne udgivelse foretaget en vurdering af materialevalg og produktionsproces, så miljøpåvirkningerne er mindst mulige. Svanemærket trykkeri 50410816 Kopiering fra denne bog kan kun finde sted på de institutioner, der har indgået aftale med COPY-DAN, og kun inden for de i aftalen nævnte rammer. Forlagsekspedition: Dafolo A/S Suderbovej 22-24 9900 Frederikshavn Tlf. 9620 6666 Fax 9843 1388 E-mail: forlag@dafolo.dk www.skoleportalen.dk - www.dafolo-online.dk - www.dafolo-tools.dk Serie: Undervisning og læring i praksis Varenr. 7717 ISBN 978-87-7160-506-8
Indhold Indledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Kapitel 1. Computational Thinking som en digital grundkompetence . . . . . . 9 Computational Thinking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Fem tilgange til arbejdet med Computational Thinking . . . . . . . . . . . . . 26 Kapitel 2. Forstå logikken i programmering . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Vigtige begreber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Tekstprogrammering – et lille eksempel . . . . . . . . . . . . . . . . . . . . . . . . 40 Kapitel 3. Didaktisk design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Didaktiske principper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 SOLO-taksonomien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Eksempler på understøttende opgavetyper . . . . . . . . . . . . . . . . . . . . . . . 76 Eksempel på et længere programmeringsforløb . . . . . . . . . . . . . . . . . . . 84 Vurdering af elevernes produktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Kapitel 4. Programmering i skolens fag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Fysik/kemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Natur/teknologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Matematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Øvrige fag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Programmering som læringsobjekt: Snevejrsspil . . . . . . . . . . . . . . . . . . 102 Programmering som teknologi til modellering: . . . . . . . . . . . . . . . . . . 113 Afsluttende bemærkninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Referencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Ordforklaringer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Om forfatterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Indledning Verden er blevet digitaliseret. Alle steder omkring os holder sensorer øje med vores blodtryk, tilbagelagte kilometer og skraldespanden, vi er lige ved at bakke ind i. Data samles i en stadig større strøm omkring os og behandles af algoritmer, der sender informationer videre til vores telefon, vores bil eller ud på nettet. Den, der kender koderne, har adgang til flere informationer om os, end vi selv har overblik over. Koder brydes af kriminelle, af aktivister og af fremmede stater. Koderne er blevet et nyt sprog, som alle er afhængige af, men kun få mestrer. Der er derfor mange grunde til, at der også i folkeskolen er en stigende interesse for kodning og programmering – og til, at vi har skrevet denne bog. Med denne bog vil du få en introduktion til programmering og forslag til, hvordan du kan arbejde med feltet sammen med dine elever. Du vil få et overblik over, hvor programmering berøres og kan tænkes ind i grundskolens kontekst, og du vil finde henvisninger til ressourcer på nettet og andre steder, du kan inddrage i din undervisning. Vi har valgt at kalde bogen Programmering i praksis og ikke Kodning i praksis. I daglig tale bruges de to begreber ofte i flæng, men i vores forståelse drejer kodning sig udelukkende om den egentlige kode, mens programmering også dækker over de arbejds- og tankeprocesser, der ligger før og efter. I programmering indgår også analyse, design, valg af arbejdsmetoder til problemløsningen og evaluering. Kodning er i denne forståelse blot en del af programmeringsprocessen. Selvom programmering ved første øjekast er nærmest ikkeeksisterende i Fælles Mål, læseplaner og vejledninger (januar 2017), er mange skoler alligevel begyndt at arbejde med feltet. Det skyldes en række forskellige bevæggrunde, heriblandt: • Ildsjæle blandt personalet, som brænder for området • Idéen om, at programmering kan anvendes som redskab til at nå specifikke faglige mål • Idéen om, at der gennem arbejdet med programmering kan trænes en række tankeprocesser og tilgange, som kan overføres til andre faglige sammenhænge 5
• Erkendelse af, at programmering(sforståelse) er vigtig i fremtiden for at kunne forstå og agere i verden • Erkendelse af, at programmeringskompetencer bliver efterspurgte på fremtidens arbejdsmarked • Idéen om, at området kan motivere eleverne og medvirke til inklusion • Begyndervenlige ressourcer og en oplevelse af, at programmering kan være en både kreativ og innovativ proces. Uanset bevæggrund(e) rejser der sig naturligt en række spørgsmål: • I hvilke fag findes der – direkte og indirekte – belæg for at arbejde med programmering, og hvordan kan programmering tænkes konkret sammen med disse fag? • Kan vi også arbejde med programmering i de øvrige fag på en relevant faglig måde? • Hvad skal vi som undervisere vide og kunne? • Med hvilket formål og læringssyn underviser vi i programmering? • Hvad består et programmeringsfagligt indhold egentlig af, og hvilke progressionsveje vil være naturlige at arbejde efter? Vi giver med denne bog et muligt svar. Undervejs inddrager vi eksempler, som omsætter bogens pointer i praksis. Derudover vil du løbende møde henvisninger til forskellige ressourcer på bogens hjemmeside. Kapitel 1 introducerer Computational Thinking som en generel tilgang til programmering i grundskolen. Kapitel 2 gennemgår grundlæggende begreber, når der arbejdes med programmering. Kapitel 3 belyser didaktisk design i forbindelse med programmering gennem fem didaktiske grundprincipper, SOLO-taksonomien, forskellige opgavetyper og vurderingskriterier. Kapitel 4 handler om, hvordan programmering kan inddrages meningsfuldt i grundskolen. I sidste halvdel af kapitlet gennemgår vi to længere praksiseksempler på programmeringsforløb, som retter sig mod henholdsvis den humanistiske og den naturfaglige faggruppe. Vi anvender en del fagudtryk i bogen. Mange bliver forklaret undervejs i teksten, og derudover findes en liste med ordforklaringer sidst i bogen. 6
Det er vores opfattelse, at et vist kendskab til programmering kan betragtes som en digital grundkompetence. Selvom målet med programmering i folkeskolen ikke er, at alle skal kunne programmere alting, må et mål være, at vi alle får viden og færdigheder, der sætter os i stand til at forstå en verden, der i stadig højere grad beror på programmering. Hvis programmering er helt nyt for dig, er bogen et godt sted at starte. Vi har først og fremmest tænkt på dig, der som underviser gerne vil i gang med programmering. Eksemplerne i bogen er derfor primært valgt for at gøre dig klogere, men de kan også bruges direkte i arbejdet med de lidt ældre elever. Først og fremmest vil vi opfordre dig til at prøve eksemplerne af selv. Det er den bedste måde at få en forståelse for programmeringens logik. Med denne forståelse vil du kunne vejlede eleverne i deres projekter. Programmering er et kreativt fag, og du vil hurtigt opleve, at eleverne arbejder i vidt forskellige retninger og i forskellige tempi. Din opgave bliver derfor i høj grad at inspirere, vejlede og hjælpe eleverne med at finde ressourcer på hjemmesider og andre steder. Vi håber, denne bog vil hjælpe dig godt på vej. På bogens hjemmeside www.dafolo.dk/programmering kan du finde et forslag til programmeringsfaglige mål, som er udarbejdet af VIA CFU og CFU Sjælland, små introduktionsopgaver i Scratch1 målrettet begyndere samt elevmateriale til de to længere forløb, vi gennemgår i kapitel 4. I bogen tager vi udgangspunkt i grundskolen og Fælles Mål, som de ser ud lige nu vel vidende, at dette kan ændre sig i løbet af de kommende år. På bogens hjemmeside vil du derfor også kunne finde kommentarer til, hvordan bogen passer ind i en eventuelt ny virkelighed med eksempelvis udbygning eller ændring af Fælles Mål eller gennem et helt nyt fag. Malene Erkmann og Eva Petropouleas Januar 2017
1 Scratch er et visuelt programmeringssprog, som er udviklet af MIT (Massachusetts Institute of Technology). I Scratch kodes der ved at sætte forskelligt farvede blokke sammen til et program. Derfor kaldes det også blokprogrammering. Farverne angiver, hvilken kategori de foskellige blokke tilhører, og de er derfor en væsentlig del af programmets visuelle styrke.
7
UNDERVISNING OG LÆRING I PRAKSIS
Verden er blevet digitaliseret. Alle steder omkring os holder sensorer øje med vores blodtryk, tilbagelagte kilometer og skraldespanden, vi er lige ved at bakke ind i. Data samles i en stadig større strøm omkring os og behandles af algoritmer, der sender informationer videre til vores telefon, vores bil eller ud på nettet. Den, der kender koderne, har adgang til flere informationer om os, end vi selv har overblik over. Koderne er blevet et nyt sprog, som alle er afhængige af, men kun få mestrer. Der er derfor mange grunde til, at der også i folkeskolen er en stigende interesse for kodning og programmering.
Er programmering nyt for dig og dine elever? Så er denne bog et godt sted at starte!
På www.dafolo.dk/programmering finder du supplerende materiale til bogen. Malene Erkmann er uddannet folkeskolelærer og cand.IT i design, kommunikation og medier. Hun er tilknyttet UCSJ’s efter- og videreuddannelsesafdeling, hvor hun primært underviser inden for området kommunikation og medier samt arbejder med udvikling af digitale undervisningsdesign og digitalt understøttede læringsmiljøer. Eva Petropouleas har været lærer i 12 år. I 2013 startede hun på frivillig basis Egedal CoderDojo, og i dag er hun ansat hos CFU Sjælland som pædagogisk konsulent for digitalisering, programmering og robotteknologi. Her vejleder hun skoler og lærere og ISBN 978-87-7160-506-8 afholder kurser i, hvordan området kan implementeres i skolens praksis. ISBN 978-87-7160-506-8
Varenr. 7717
9 788771 605068
PROGRAMMERING I PRAKSIS
Programmering i praksis – didaktiske design og læringspotentialer i grundskolen er en introduktion til programmering med konkrete forslag til undervisningen i grundskolen. Bogen er inddelt i fire kapitler. Kapitel 1 introducerer Computational Thinking som en generel tilgang til programmering i grundskolen. Kapitel 2 gennemgår grundlæggende begreber til arbejdet med programmering. Kapitel 3 belyser didaktisk design i forbindelse med programmering gennem fem didaktiske grund-principper, SOLO-taksonomien, forskellige opgavetyper og vurderingskriterier. Kapitel 4 handler om, hvordan programmering kan inddrages meningsfuldt i grundskolen. I slutningen af kapitlet præsenteres desuden to konkrete praksiseksempler på programmeringsforløb, som retter sig mod henholdsvis den humanistiske og den naturfaglige faggruppe.
UNDERVISNING OG LÆRING I PRAKSIS
En håndsrækning til at inddrage programmering meningsfuldt i grundskolen!
UNDERVISNING OG LÆRING I PRAKSIS MALENE ERKMANN EVA PETROPOULEAS
MED IT
PROGRAMMERING I PRAKSIS Didaktiske design og læringspotentialer i grundskolen