Læring og undervisning i digitale omgivelser
Læring og undervisning i digitale omgivelser
Programmering
Innhold
Bidragsytere:
Praksislærer, Silje Aspeflaten,
Universitetslektor, Elin Bøen
Praksislærer, Stig Halvorsen
Lærer, Karl Andreas Myrland
Universitetslektor, Tonje K. Berg
Førsteamanuensis, Toril Aagaard
Læring og undervisning i digitale omgivelser
Programmering i lærerutdanning og grunnskole
Programmering er omfattende, og kan jobbes med på mange måter. På denne siden finner du enkel informasjon om hva programmering er, forskningsbaserte argumenter for hvorfor elever bør lære om programmering og didaktiske eksempler på hvordan programmering kan jobbes med i praksis. Du finner også lenker til ressurser du kan bruke for å lære mer om programmering som felt.
Vi håper ressursen inspirerer til kritisk refleksjon og diskusjon om hvordan programmering kan jobbes med i og på tvers av fag i skolen.
(Utdanningsdirektoratet, 2020)
Analog
programmering
Programmering uten bruk av data eller teknologi.
Øvelse i å gi og motta klare instrukser.
Eksempel:
Sitt sammen 3 og 3.
En skal ha bind for øynene, de to andre skal programmere den med bind for øynene til å pusle puslespillet.
Blokk-
programmering
Lage et program ved å sette sammen blokker som inneholder ulike kommandoer. De bygges omtrent som legobrikker og er en visuell representasjon av et bakenforliggende kodespråk.
Tekstbasert programmering
Lage et program ved å skrive kommandoer med tekst fra et programmeringsspråk. Programmeringsspråkene har litt ulik oppbygging og en egen syntaks.
Her bygges tre blokker i en Minecraft-verden:
Kode i Python
Blokkprogrammering
Slik ser blokkene ut
Hvorfor programmering?
Skrevet av Toril Aagaard og Tonje Karoliussen Berg
Noen mener at alle, særlig barn og unge, bør lære litt om programmering. Hvorfor? Blant annet fordi programmering trener «computational thinking» som inkluderer algoritmisk tenkning, logikk, feilsøking og problemløsning (Rubio, Romero-Zaliz, Mañoso & Angel, 2015). Det å lære programmering ser ut til å kunne gi noen kognitive fordeler fordi man løser problemer som ofte krever at man resonnerer og forholder seg til noen gitte kriterier. Forskningen indikerer imidlertid at programmering særlig stimulerer til kreativitet (Scherer, Siddiq & Sánchez Viveros, 2018).
Computational thinking er en premiss for å forstå og kunne ta del i samfunnet generelt, men er også sentralt i utvikling av industri, næringsliv og forskning. Forskere hevder til og med at computational thinking kan styrke menneskers forutsetninger for å forstå sosial atferd og hvordan andre tenker (Rubio, Romero-Zaliz, Mañoso & Angel, 2015). I dette blogginnlegget kan du lese mer om hvorfor det er viktig å lære om programmering, eller du kan se videoen nedenfor, der Carl Andreas Myrland fra Lær Kidsa Koding diskuterer og begrunner hvorfor det er viktig at mennesker i dag forstår hva programmering er og lærer om det.
I denne videoen diskuterer og begrunner Carl Andreas Myrland fra Lær Kidsa Koding hvorfor det er viktig at mennesker i dag forstår hva programmering er og lærer om programmering.
Refleksjoner om programmering i LK20
«Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century,
basic computer programming is an essential skill to learn»
Med utsagnet ovenfor argumenterte fysikeren og forfatteren Stephen William Hawking om viktigheten av å kunne forstå det grunnleggende i programmering for å mestre fremtidens samfunn og arbeidsliv (code.org).
Det nye Læreplanverket (LK20) som implementeres denne
høsten speiler Hawkings argumenter for fremtidens
ferdigheter og kompetanse,- og definerer en ny retning for
norsk grunnskole de neste tiårene. Den nye retningen betyr blant annet at programmering defineres som en digital ferdighet i fagene matematikk, musikk, naturfag og kunst og håndverk.
Programmering slik det er beskrevet i LK20 inviterer til et skapende, kreativt, utforskende og problemløsende læringsarbeid.
I praksis betyr dette at programmering integreres i kjerneelementene og kompetansemålene til disse fagene og blir en viktig del av det faglige innholdet som elevene skal mestre og anvende.
Hvordan programmere?
Didaktisk eksempel: Case fra grunnskolen
Nedenfor presenterer vi et reelt case fra grunnskolen. Hensikten er både å vise et eksempel på hvordan programmering jobbes med i skolen og invitere til fagdidaktiske diskusjoner om opplegget i lærerutdanningen.
Utvidet beskrivelse:
by
step
I dette læringsopplegget skal elevene benytte seg av micro:bit og bit:bot til å utforske geometriske figurer og mønstre.
BBC micro:bit er en håndholdt, programmerbar mikrodatamaskin. Bit:Bot er tilbehør til micro:bit i form av et kjøretøy.
Micro:bit er mye brukt i skolen, blant annet i forbindelse med innkjøp gjennom den Teknologiske Skolesekken som er regjeringens satsing på å styrke bruk av teknologi og deriblant programmering i skolen.
Hva er Micro:Bit og Bit:Bot?
Kort forklart
step
Opplegget er tilpasset elever på mellomtrinnet. Målene for aktiviteten er hentet fra kompetansemål i naturfag etter 7. trinn og matematikk etter 5. trinn. I utarbeidelsen ble planleggingen gjort baklengs (Gynnild, 2011), ved at kompetansemålene ble operasjonalisert først. Deretter ble det bestemt hvordan elevene skulle dokumentere kompetansen, og hvordan den skulle vurderes. Nedenfor ser du læringsopplegget i sin helhet:
Modell inspirert av Prøitz, 2015, s. 104
Definér kontekst, og reflekter over:
-
Hva oppfatter du som styrker og svakheter ved opplegget?
-
Ville du gjort noe annerledes? Begrunn.
-
-
Hva bør man tenke på som naturfags- og/eller matematikklærer i en slik læringssituasjon?
-
Er det god sammenheng mellom kompetansemål, læringsaktivitet og vurdering?
-
Hvordan kan den eventuelt styrkes?
-
-
Er noen typer programmeringsteknologi mer relevant i noen fag enn i andre?
-
Hvis ja, hva og hvorfor?
-
-
Lag et læringsopplegg for andre fag og/eller trinn der programmering inngår.
-
Kanskje du finner inspirasjon i denne podkastepisoden?
-
Prøv det gjerne ut i praksis.
-
Et utvalg ressurser til arbeid med programmering:
Et sandkassespill som lar spilleren bygge og rive ned konstruksjoner av kuber i en 3D-verden.
Python er et objektorientert programmeringsspråk
Hvor kan jeg lære mer?
Relevante publikasjoner:
Buitrago Flórez, F., Casallas, R., Hernández, A. R., Restrepo, S., Danies, G. (2017). Changing a Generation's Way of Thinking: Teaching Computational Thinking Through Programming. Review of Educational Research, 87(4), 834–860.
doi: 10.3102/0034654317710096
Akre Haugen, F. & Lysaker, M. (2020). Python for realfag. Bergen: Fagbokforlaget. (tilgjengelig for salg fom. 4. aug. 2020)
Kravik, R. (2020). Programmering og geometri. Tangenten – tidsskrift for matematikkundervisning, 31(2). 7–11.