Flere av lærerne vi har møtt sier de fortsatt mangler kunnskap og erfaring for å kunne gjennomføre gode læringsøkter innen programmering. I denne artikkelen skal vi belyse noen utfordringer knyttet til innføringen av programmering og algoritmisk tenking i matematikkfaget, og hvordan læreren lykkes ved å endre sin rolle fra å være en formidler av kunnskap til å bli en veileder som aktiviserer elevene.
Tidligere har vi skrevet om hvor viktig det er med god klasseledelse. En lærer oppnår bedre resultater med en god plan og en tydelig struktur for undervisningen, med rammer som skaper forutsigbarhet, men samtidig varierte timer. Dette fører til et læringsmiljø som fremmer elevenes sosiale og faglige læring. (https://blogg.kikora.no/struktur-og-tydelighet-i-undervisning-og-laering/)
Selv om dette har fått en sentral plass i LK-20, møter vi i Kikora fortsatt lærere som synes programmering er utfordrende. Spørsmålet vi stiller oss er hvilken kompetanse bør en lærer ha for å lykkes med programmering i matematikkundervisningen? Vi skal ikke sette to streker under svaret vårt her, men forskning har vist at klasseledelse og lærerrollen står veldig sentralt (Forsström, 2019).
En studie fra Sverige (Vinnervik, 2020) pekte på at lærernes utfordringer med programmering i matematikkundervisningen var mangel på tid og lokalt dårlige forhold. (Kaufmann, O. T. & Stenseth, B., 2023.) Vi kan derfor i dag ikke forvente at alle lærere lykkes med å planlegge og gjennomføre timer hvor elevene samhandler om matematiske konsepter ved hjelp av programmering og algoritmisk tenking.
I denne artikkelen vil vi se på noen utfordringer som kan oppstå når en lærer mangler kompetanse i programmering og kan mindre, sammenlignet med sine elever. Samtidig vil vi prøve å belyse hvordan dette påvirker lærerrollen.
Utfordringer ved manglende kompetanse hos lærer
Når læreren mangler tilstrekkelig kunnskap om programmering, kan det oppstå flere utfordringer.
- Manglende progresjon og veiledning
Vi opplever at elever har forskjellige utgangspunkt og ulik erfaring når det kommer til programmering (som så mye annet). Når læreren mangler kompetanse i programmering, blir det ofte utfordrende å tilpasse undervisningen. Det blir vanskelig å tilby differensierte oppgaver som utfordrer både nybegynnere og de mer erfarne elevene. Læreren kan også finne det vanskelig å forstå progresjonen i elevenes læring, spesielt hvis de ikke er kjent med programmeringsterminologien fra før. Dette kan igjen føre til misforståelser eller feilaktig veiledning av elevene. - Motivasjonsproblemer hos elevene
Programmering innebærer ofte feilsøking. Å finne og rette opp feil i programmeringen bidrar til å utvikle elevenes tålmodighet og den strategiske tilnærmingen for å isolere og løse problemer. Videre er optimalisering en viktig del av programmering. Elevene skal forstå hvorfor et program ikke virker, for så utbedre og optimalisere koden. Dersom læreren selv ikke har god innsikt i programmeringsspråket eller konseptene/strategiene som elevene arbeider med, kan læreren få problemer med å hjelpe elevene. Hvis de føler at læreren ikke kan støtte dem tilstrekkelig i programmeringen, kan de miste motivasjonen. - Lite tid til kompetansehevende tiltak for lærere
Mange lærere har fått mulighet til å delta på gode etterutdanningskurs eller tatt videreutdanning i programmering og algoritmisk tenking. Disse har et godt utgangspunkt for å lykkes med programmeringen. Andre lærere har dessverre ikke hatt samme mulighet. Når elevene da i tillegg har mer kunnskap om programmering enn læreren, kan man oppleve utfordringer knyttet til både manglende selvtillit og et dårligere selvbilde. Dette kan påvirke klasseromsdynamikken og respekten for læreren.
Endringer i lærerrollen
Rundt omkring i landet er det mange lærere og elever som kjenner seg igjen i situasjonen som beskrevet over. Når tilstanden er som den er, hvordan kan vi så lykkes med å planlegge og gjennomføre en undervisning hvor programmering og algoritmisk tenking inngår? Vi lærere må endre rollen vår fra å være en formidler som overfører kunnskap til å bli en veileder som aktiviserer elevene.
Som John Dewey sa, «Learn to know by doing, and to do by knowing». Kjernen i Deweys pedagogikk var det han kalte «den problemløsende metode» der elever skulle tilegne seg og prøve ut en vitenskapelig metode for å hente inn og diskutere kunnskap. Med det mente han at naturlige impulser og interesser måtte utvikles gjennom regelmessig og systematisk arbeid og øvelse mot et mål. https://snl.no/John_Dewey
Veileder og tilrettelegger
Aktive elever lærer best. Lærerens rolle endres til å være mer en veileder og tilrettelegger for læring. I stedet for å være den som gir all informasjon, blir læreren en ressurs og støtte for å hjelpe elevene å finne løsninger på egne problemer. Start med en gradvis innføring i programmeringsspråket, gjerne i form av blokkprogrammering. Dette vil hjelpe elever og lærere med å bygge et solid fundament før de går videre til tekstprogrammering med mer komplekse oppgaver.
Fokus på prosess
Læreren kan fokusere mer på læringsprosessen enn på å være ekspert i programmering. Dette innebærer å oppmuntre til eksperimentering, utforskning og refleksjon. Å arbeide med programmering vil kunne resultere i at elever lærer å utvikle en systematisk tilnærming til problemløsning. Det lærer elevene å identifisere mønstre, formulere og evaluere sine egne løsninger. Dette bygger evnen til å lære av feil, og forbedre seg over tid.
Samarbeid og fellesskap
Læreren kan legge til rette for samarbeid og fellesskap i klasserommet, slik at elevene kan lære av hverandre. Dette skaper en atmosfære der kunnskapsdeling er viktig, og læreren er en av flere ressurser. Man kan også benytte seg av prosjektbasert læring, der elever jobber med problemer fra dagliglivet. Dette gir dem en praktisk forståelse av hvordan programmering kan brukes til å løse virkelige utfordringer.
Bruk av Kikora og eksterne ressurser
Sørg for at det finnes tilstrekkelige ressurser tilgjengelig, både lærebøker og nettressurser. Kikora har samlet alle sine programmeringsoppgaver på ett sted. Her starter opplæringen med blokkprogrammering. Dette er en fin inngangsport til programmering og algoritmer. Ved å først lære seg blokkprogrammering blir det enklere for elevene å gå over til for eksempel Python når de begynner på ungdomsskole og videregående. Python er et av de tekstbaserte programmeringsspråkene som ofte er anbefalt til nybegynnere på grunn av språkets enkle syntaks, men er også mye brukt i industrien. Kikora programmering kan du lese mer om her:
1. https://blogg.kikora.no/programmering-ikke-bare-en-metode/
2. https://blogg.kikora.no/utforskende-programmeringsoppgaver-del-1/
3. https://blogg.kikora.no/utforskende-programmeringsoppgaver-del-2/
Lære å lære
I overordnet del i LK-20 kan vi lese at «skolen skal bidra til at elevene reflekterer over sin egen læring, forstår sine egne læringsprosesser og tilegner seg kunnskap på selvstendig vis» https://www.udir.no/lk20/overordnet-del/prinsipper-for-laring-utvikling-og-danning/2.4-a-lare-a-lare/). Læreren kan derfor fokusere på å utvikle elevenes evne til å lære selvstendig, utforske ressurser og løse problemer uavhengig av læreren.
Dette er i tråd med overordnet del og samlet sett er det viktig å integrere programmering på en meningsfull måte i matematikkundervisningen. Slik unngår man at programmering ikke bare blir en isolert ferdighet, men en verktøykasse for å forbedre logisk tenkning og problemløsning på tvers av fagområder.
Avslutning
For å løse disse utfordringene knyttet til innføringen av programmering er det viktig å investere i kompetansehevende tiltak for lærere, oppmuntre til samarbeid og fellesskap, og legge opp til undervisning som vektlegger læring gjennom prosess og utforsking. Kikora programmering er oppgavebanken der vi har samlet de fleste programmeringsoppgavene på ett sted.
Du finner denne ressursen ved å klikke deg inn på “Flere ressurser” på innholdssiden. Overgangen fra blokk til tekst er lagt inn under Flere ressurser -> Programmering -> 8. trinn Programmering. Du finner også programmeringsoppgaver der de hører hjemme på hvert trinn i Kikora.
Litteratur:
Bærland, T (2022. 3.mars) Utforskende programmeringsoppgaver – del 1 https://blogg.kikora.no/utforskende-programmeringsoppgaver-del-1/
Bærland, T (2022. 1.august) Utforskende programmeringsoppgaver, del 2 https://blogg.kikora.no/utforskende-programmeringsoppgaver-del-2/
Dramstad, C (2021. 22.november) Programmering – ikke bare en metode https://blogg.kikora.no/programmering-ikke-bare-en-metode/
Forsström, S. E. (2019). Role of teachers in students’ mathematics learning processes based on robotics integration. Learning, Culture and Social Interaction, s. 378–389.
Kaufmann, O. T. & Stenseth, B. (2021). Programming in mathematics education. International journal of mathematical education in science and technology, 52(7), 1029–1048. https://doi.org/10.1080/0020739x.2020.1736349
Kaufmann, O. T. & Stenseth, B. (2023) Programmering som del av matematikkfaget. Norsk Pedagogisk Tidsskrift 2–2023, årgang 107, side 109–123, Universitetsforlaget https://doi.org/10.18261/npt.107.2.2
Nordby, T (2023. 3.mars) Struktur og tydelighet i undervisning og læring. https://blogg.kikora.no/struktur-og-tydelighet-i-undervisning-og-laering/
Skagen, Kaare: John Dewey i Store norske leksikon på snl.no. Hentet 5. oktober 2023 fra https://snl.no/John_Dewey
Utdaninngsdirektoratet (2020) Overordnet del – Prinspipper for læring, utvikling og danning Fastsatt som forskrift. Læreplanverket for Kunnskapsløftet 2020.
https://www.udir.no/lk20/overordnet-del
Vinnervik, P. (2020). Implementing programming in school mathematics and technology: Teachers intrinsic and extrinsic challenges. International Journal of Technology and Design Education, 32, s. 213–242 . https://doi.org/10.1007/s10798-020-09602-0