Programmering som nyt sprog i fagene
Hvilke faglige potentialer ligger der i at lade eleverne arbejde med programmering? Hvorfor skal eleverne overhovedet møde programmering i deres skolegang?
Er der et dansk- eller et matematikfagligt indhold, som forsvarer, at vi bruger tid på at arbejde med programmering i undervisningen?
Der kan være delte meninger om ovenstående spørgsmål, men i denne blogtekst, vil vi forsøge at se på nogle af de muligheder, der kan være i at arbejde med programmering.
Arbejdet med programmering har ikke det formål at uddanne eleverne til små programmører, men det skal give dem et indblik i computeres sprog. Eleverne skal igennem en grundlæggende viden om computerens sprog løftes ud af det forbrugerperspektiv, der ofte karakteriserer elevers mediebrug i dag (se i øvrigt den didaktiske optik Digital dannelse – digital literacy).
Arbejdet med programmering kan foregå på flere niveauer eller områder ,om man vil.
Dette kan være på metaplan – f.eks. at internettet er et sted bygget op af kode og vi faktisk kan gøre noget for at ændre og remixe i denne kode. Det vil sige at man også i sådan et arbejde arbejder med elevernes undersøgelseskompetence og deres kommunikationskritiske kompetence (f.eks. Mozillas Thimble site).
Det kan også være på et mere nært og udviklingsorienteret niveau, hvor eleverne igennem forskellige programmer (f.eks. MIT App Inventor, Scratch eller KUDO ) eller robotter (f.eks. Lego mindstorms eller Robotten NAO) arbejder med at opbygge f.eks. apps, spil og lign. løsninger i kode.
Eller alternativt at eleverne leger kode ind f.eks. i arbejdet med spil specielt designet til formålet (f.eks. i Coding Pirates eller Hopscotch) eller spillignende applikationer (f.eks. Hour of Code), der lærer eleverne at opbygge forskellige kodesprog.
Uanset set-up, sætter arbejdet med at kode spot på at udvikle evner til at dele store problemer op i mindre dele, som kan løses hver for sig. Det at arbejde systematisk med problemstillinger, løsningsstrategier og hændelsesforløb er klassisk for programmering, og det udvikler elevernes evne til at analysere, forestille sig og forstå, hvad de vil have et program til at udføre. Eleverne vil udvikle en bevidsthed om nødvendigheden af præcis sprogbrug. Selv små ændringer af en programkode kan have store konsekvenser for den måde et program opfører sig.
Programmering giver også eleverne mulighed for at arbejde med digital produktion. Ved hjælp af it kan eleverne opleve at skabe noget, som måske for dem er nyt og meningsfuldt i forhold til det faglige område, de arbejder med i fagene. Om det er en regnemaskine, et spilforløb eller en fortælling, som er produceret og formidlet ved hjælp af værktøjet er underordnet fag og faglige prioriteringer, men eleven er dukkeføreren, som styrer produktets form og indhold.
Endelig kan programmering støtte udviklingen af elevernes evne til abstrakt tænkning. Mange fag rummer ofte abstrakte begreber og elementer, hvor eleverne skal kunne forestille sig noget, før de kan byde ind med deres egne input. Programmering kan give eleverne mulighed for at arbejde med en hypotese – en forestilling, som de efterfølgende, skal forsøge at udvikle og justere på.
Modellen herunder er udarbejdet af Bo Kristensen fra Center for Undervisningsmidler UC Lillebælt. Den kan være et godt billede på, hvordan arbejdet med programmering foregår i små loops.
Eleverne analyserer et problem, de kommer med et bud på, hvad de skal skrive i programmet, for at få det til at udføre det, man gerne vil have, de prøver programmet af, fx ved at give input og vurdere de output programmet kommer med. Endelig må eleverne vurdere deres produkt og justere, evt. foretage en ny analyse – og køre et nyt loop.
Når eleverne skal arbejde med programmering er der en progression, som de fleste elever går igennem. Programmering er abstrakt, hvis man starter med at skulle programmere frit. Der er en taksonomisk progression, fra at følge en opskrift, til at justere i et eksisterende program, til at løse et problem for endelig at programmere helt frit. Se modellen herunder.
Links til coding
- http://code.org/
- http://codingpirates.dk/
- http://4code.dk/
- http://www.codeconquest.com/
- http://www.edudemic.com/?s=coding
- http://www.pinterest.com/mulderpin/coding/
Eksempler på GB måde at implementere coding i deres curriculum
- http://www.theguardian.com/technology/2014/feb/07/year-of-code-dan-crow-songkick
- https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-of-study/national-curriculum-in-england-computing-programmes-of-study
- http://www.computingatschool.org.uk/data/uploads/primary_national_curriculum_-_computing.pdf
Praksisforløb
Dansk
Herunder kan du se et eksempel på en danskopgave indenfor kompetenceområdet Kommunikation med særligt vægt på Færdigheds og vidensområderne It og kommunikation, Sprog og kultur og Sprog og bevidsthed. Opgaven stiller eleverne overfor at skulle på flere planer at skulle gennemskue og remixe websites. Målgruppen er 7-8 klasse.
Ide til aktivitet eller opgave
Eleverne starter forløbet med at gå ind på Mozillas website https://webmaker.org/en-US
Hvor de downloader et lille bookmark til menulinjen kaldet x-ray goggels https://goggles.webmaker.org/en-US
Bogmærket flyttes til de anvendte computeres menulinjer. Bogmærket giver eleverne mulighed for at ”gennemlyse” ethvert website samt remixe indholdet.
Dels giver værktøjet eleverne en mulighed for at se hvordan er website er bygget op af en lang række af kodede elementer, dels at disse elementer er bærere af betydning og validitet uanset modalitet.
Eleverne sættes nu to og to til i al hemmelighed at udvælge et website, som de remixer, præcis nok til, at det reelt set er remixet men stadig svært at se om websitet er remixet eller ej. Eleverne tager et screendumb af deres remixede hjemmeside. Disse screendumbs sendes til læreren. Læreren blander nu disse screendumbs med et matchende antal ikke remixede websites. Og websitesne sættes op af læreren som et slide show. Slidesne nummereres.
Eleverne skal nu præsenteres for slidesshowet med et interval på ca. 3min mellem hvert slides. Eleverne skal individuelt pege på om sitet er sandt eller falsk samt skrive en kort argumentation for synspunktet. I denne fase kan man med fordel f.eks. bruge Socrative, en applikation der går på tværs af platforme, og som giver lærere mulighed for at sætte en”quiz “op med kommentarfelt til hvert nummererede slide. Dette giver mulighed for nemt at fastholde overblik over en samlet klasseholdning til ,hvad der er sandt eller falsk samt få de tilhørende argumentationer op på tavlen.
Når quiz’en er overstået, diskurteres slides’ne individuelt i plenum – hvor nu såvel modtager som afsender får mulighed for at deltage. Afsenderne kan dele deres erfaringer med at remixe sitesne, hvordan de præcist har ændret ”koden” og med hvilken hensigt. Sluttelig samles kommentarerne fra Socrative med slidesne, således at eleverne har såvel produkter og vurdering samlet.
Redskabet kan genoptages og bruges på andre måder, når man støder på særligt komplicerede sites med mange funktioner, eller har brug for at lege med remixede produktioner i andre kontekster. Jo mere hyppig brug jo større fortrolighed med de koder der ligger bag websites.
Eksempler på elevmål
- Du skal flytte dig fra at være forbruger af internettet til at kunne ”gennemskue” internettet
- Du skal lære at websites er bygget op af en kode, hvordan den ser ud, og hvordan den teknisk set altid kan remixes, – websites skabes og skabes om af mennesker, der ”taler” websitets sprog
- Du skal lære at afgøre, hvad der gør et website troværdigt eller ej og argumentere for din holdning
- Du skal lære at gøre brug af sproglige redskaber både til at analysere og producere – særligt skriftsprog og billedsprog – og være i stand til at ramme forskellige websites formidling
Fagfaglig begrundelse
Indenfor kompetenceområdet kommunikation kan det ofte være et værdimæssigt korstog at arbejde med kommunikationskritisk kompetence, læreren udvælger et website, som læreren allerede har spottet rummer et eller andet didaktisk potentiale, som så analyseres. I den ovenstående øvelse analyserer, producerer og argumenterer eleven sig vej ind i denne kompetence og skal ydermere gøre aktivt brug af såvel sin sproglige bevidsthed samt sin viden om sprog og kultur i processen. Tillige får eleven i bogstavligste forstand mulighed for at gennemlyse internettet helt ind til koden, og får derved indblik i alle de sproglige niveauer, der er i spil på et website, og ved gentagen brug, hvilke koder der knyttes til hvilke elementer. Quiz – sand eller falsk delen af øvelsen, gerne fastholdt i Socrative, bidrager med et lille element af gamification (se den didaktiske optik Spilbaseret læring), der kan evt. laves en highscore på websites gennemskuet.
Ser man på de ovenstående modeller, forbliver øvelsen på mere eller mindre på et metaplan og eleven løser derfor ikke at decideret problem – eleven arbejder eller måske snarere leger med en overordnet problemstilling – websites troværdighed. Set fra den vinkel kan øvelsen sammenlæses med modellerne.
Tegn på læring
- Eleven kan begynde at sprogliggøre forskellen mellem at være forbruger af et website og analysator/producent – eleven udtrykker viden om sprog og kultur knyttet til teknologi
- Eleven kan identificere forskellige modaliteter og deres funktion på et website samt remixe dem – eleven gør brug af sin sproglige bevidsthed
- Eleven kan argumentere omkring websites troværdighed ud fra screendumbs – eleven begynder at udvikle kommunikationskritisk bevidsthed ved hjælp af viden omkring sprog og kultur samt sproglig (multimodal) bevidsthed.
Matematik
De fleste matematiske kompetencer kan sættes i spil, når man arbejder med programmering, men især ræsonnement, problembehandling, modellering, symbol og repræsentation vil blive bragt i spil. Mange områder fra kompetenceområdet geometri og måling er oplagte at arbejde med, fx inden for plangeometrien, koordinatsystemet og vinkler er oplagte at arbejde med, fx det at kunne placere eller flytte et element rundt på skærmen trækker på mange faglige elementer fra geometriens verden.
I kompetenceområdet tal og algebra vil der især være gode muligheder for at arbejde med variabelbegrebet og formelbegrebet, hvis eleverne fx skal programmere en formel som kan beregne fx valuta, en pointtæller osv.
Herunder kan du se et eksempel på en matematikopgave, som er en del af et forløb om formler og ligninger i 6. klasse. Opgaven stiller eleverne overfor at skulle bruge deres viden om variable og formler, til at fremstille regnemaskiner, som gør brug af både variable og en formel.
Ide til aktivitet eller opgave
En 6. klasse har arbejdet med tal og algebra, geometri samt de matematiske kompetencer for problembehandling, ræsonnement og tankegang og repræsentation og symbolbehandling.
I forløbet skal eleverne programmere regnemaskiner, der, når man indtaster eksempelvis sidelængder, højde eller radius, kan finde areal, omkreds og lign. mål i forskellige plane figurer. Eleverne programmerer i forskellige af følgende programmer/programmeringssprog: regneark, GeoGebra, Scratch, Hopscotch eller Visual Basic.
Som indledning til forløbet kan eleverne gå ind på siden her og analysere den programkode, der hører til programmet. Efterfølgende kan de indspille en skærmoptagelse, hvor de viser og forklarer, hvordan og om programmet fungerer efter hensigten. Her bliver de bedt om at analysere det eksisterende program med henblik på senere at kunne justere på det, så det passer til andre arealformler.
I de følgende lektioner arbejder eleverne ud fra opgaver, der stilles som udfordringer af typen:
- Kan du programmere en regnemaskine, der beregner omkreds og areal af et rektangel, hvis du indtaster længde og bredde?
- Kan du programmere en regnemaskine, som kan beregne radius af en cirkel, hvis du kender omkredsen?
- Kan du programmere en regnemaskine, som kan beregne sidelængden i et kvadrat, hvis du kender arealet?
- Kan du programmere en regnemaskine, som kan beregne arealet af en trekant, hvis du kender højde og grundlinje?
Endelig kan eleverne helt frit udvikle deres egne regnemaskiner.
Eleverne skal udvikle en lille præsentation af deres program/produkt, hvor de skal begrunde hvordan deres program virker, og hvorfor det virker.
Eksempler på elevmål
- Du skal vide, hvad en formel og en variabel er.
- Du skal kende til sammenhænge mellem variable i formler.
- Du skal kende formler, som du kan beregne areal eller omkreds af forskellige figurer.
- Du skal kunne bruge formler til at løse problemer i matematik.
- Du skal kunne bruge formler til at løse problemer fra hverdagen.
- Du skal kunne lave formler med variable, som beskriver sammenhænge.
- Du skal kunne programmere et produkt, hvor du bruger formler og variable.
Fagfaglig begrundelse
De faglige målsætninger lægger vægt på at eleverne kan bruge deres viden og færdigheder om areal- eller omkredsbestemmelse samtidig med, at de skal bruge deres viden og færdigheder om variables roller i formler og sammenhænge bl.a. i digitale værktøjer.
Eleverne bliver også udfordret på deres matematiske kompetencer, de skal de trække på deres problembehandlingskompetence og trække på de strategier, de har til at løse et matematisk problem. De skal også trække på deres modelleringskompetence og kunne gennemføre en simpel modelleringsproces. Eleverne skal desuden kunne ræsonnere, opstille hypoteser om en given programkode, prøve efter og justere løbende. De skal kunne håndtere repræsentationer og symbolsprog, så også denne kompetence kommer i spil. Endelig skal eleverne kunne producere et digitalt produkt, som skal kunne bruges af andre, og de skal kunne forklare og begrunde over for andre hvordan og hvorfor deres produkt virker.
Tegn på læring
- Eleverne kan bruge deres viden om arealformler for forskellige figurer til at programmere en regnemaskine, der kan finde arealet af en trekant, et rektangel, en vilkårlig firkant og en cirkel
- Eleverne kan bruge deres viden om omkredsformler for forskellige figurer til at programmere en regnemaskine, der kan finde omkredsen af en retvinklet trekant, en cirkel, et kvadrat, et rektangel og et parallelogram, og
- Eleverne kan vise og forklare, hvordan deres program virker, og kunne overbevise modtageren om, at det regner rigtigt.
0 Comments
No Comments Yet!
You can be first to comment this post!