programmera mera i gymnasiets...
TRANSCRIPT
-
Linköpings universitet | Matematiska institutionen
Forskningskonsumtion, 15 hp | Ämneslärarprogrammet - Matematik
Höstterminen 2020 | LiU-LÄR-MA-G--2021/01--SE
Programmera mera i
gymnasiets
matematikkurser – En litteraturstudie om programmeringens möjligheter
och svårigheter samt gynnsamma
undervisningsmetoder
Programming as a Part of Upper Secondary School
Mathematics Courses
– A Literature Review of Opportunities, Difficulties
and Beneficial Teaching Methods
Kajsa Johansson
Handledare: Björn Textorius
Examinator: Peter Frejd
-
2
Linköpings universitet
SE-581 83 Linköping, Sweden
013-28 10 00, www.liu.se
Institutionen för (ange institution)
581 83 LINKÖPING
Seminariedatum
2021-01-13
Språk (sätt kryss före) Rapporttyp ISRN-nummer
x Svenska/Swedish
Engelska/English
Examensarbete grundnivå
LiU-LÄR-MA-G--2021/01--SE
Titel Programmera mera i gymnasiets matematikkurser – En litteraturstudie om programmeringens möjligheter och svårigheter samt gynnsamma undervisningsmetoder Titel Programming as a Part of Upper Secondary School Mathematics Courses – A Literature Review of Opportunities, Difficulties and Beneficial Teaching Methods Författare Kajsa Johansson
-
3
Sammanfattning Programmering infördes år 2017 som ett nytt moment i matematikundervisningen för sju av gymnasiets matematikkurser. Kring denna integrering av nytt stoff rådde delade meningar inom lärarkåren och dessa råder fortfarande tre år efter införandet. Studiens syfte är att sammanställa forskningsresultat om de möjligheter och svårigheter som integrering av programmering i matematikundervisningen medför i ett lärarperspektiv, samt om gynnsamma undervisningsmetoder för integreringen. Undervisningsmetoderna är kedjeinlärning, scaffolding (stöttning), samarbete och programming by demonstration. I relation till dessa undervisningsmetoder existerar både möjligheter och svårigheter med integreringen. De identifierade möjligheterna är att programmering är motiverande, kreativt, bidrar till kollegialt samarbete och utvecklar elevernas matematiska förmågor. Svårigheterna är tidsbrist, eftersom ytterligare ett kursmoment har lagts till, hur bedömning och anpassning av undervisningen ska ske, bristen på styrdokument och lärares otillräckliga kunskaper om programmering. Abstract In 2017, programming was introduced as a new element in Mathematics education for seven of the Upper Secondary School mathematics courses. Teachers´ reactions towards the integration were ambiguous. Even now, three years after its introduction, this lack of consensus is still prevalent. The purpose of this study is to compile research results regarding the opportunities and difficulties of integrating programming in mathematics teaching from a teacher’s perspective. Furthermore, this study identifies beneficial teaching methods to enable this integration. The teaching methods are chain learning, scaffolding, collaboration and programming by demonstration. The integration of programming in mathematics teaching using any of these methods, however, offers both opportunities and difficulties. The following opportunities were found; programming is a motivating and a creative element in the curriculum, it fosters collaboration between teachers and helps students to develop their mathematical competencies. The difficulties and obstacles found are the lack of time, the problem of adapting mathematics teaching to this new situation and of assessing students’ progress, the lack of statutory guidelines for the integration and teachers’ inadequate knowledge of programming.
Nyckelord Programmering, matematik, integrering, undervisningsmetoder, möjligheter, svårigheter
-
4
Innehållsförteckning 1. Inledning ................................................................................................................................. 6 2. Bakgrund ................................................................................................................................ 8
2.1 Textbaserad programmering ............................................................................................. 8 2.1.1 Python ........................................................................................................................ 8 2.1.2 JavaScript ................................................................................................................... 9
2.2 Att programmera ............................................................................................................... 9 2.2.1 Analysera och skapa kod ............................................................................................ 9 2.2.2 Kompilering och felmeddelanden .............................................................................. 9 2.2.3 Exekvera programmet .............................................................................................. 10
2.3 Undervisningsmetoder .................................................................................................... 10 2.3.1 Instruktionsorienterad undervisning ........................................................................ 10
2.3.1.1 Orkestrering ....................................................................................................... 10 2.3.2 Projektorienterad undervisning ................................................................................ 11
2.3.2.1 Tinkering ........................................................................................................... 11 3. Syfte och frågeställningar ..................................................................................................... 12 4. Metod ................................................................................................................................... 13
4.1 Litteratursökning ............................................................................................................. 13 4.2 Avgränsningar ................................................................................................................. 13 4.3 Urval ............................................................................................................................... 14 4.4 Tematisk analys .............................................................................................................. 15
5. Resultat och analys ............................................................................................................... 18 5.1 Sammanfattning av artiklarna ......................................................................................... 18
5.1.1 Vinnervik (2020) - Implementing programming in school mathematics and technology: teachers’ intrinsic and extrinsic challenges .................................................. 18 5.1.2 Bråting, Kilhamn, Rolandsson (2020) - Integrating programming in Swedish school mathematics: description of a research project ................................................................ 19 5.1.3 Sentence, Csizmadia (2016) - Computing in the curriculum: Challenges and strategies from a teacher’s perspective ............................................................................ 20 5.1.4 Saeli, Perrenet, M.G Jochems, Zwaneveld (2011) - Teaching Programming in Secondary School: A Pedagogical Content Knowledge Perspective ................................ 20 5.1.5 Govender (2006) - Learning to program and to teach programming: A closer look ........................................................................................................................................... 21 5.1.6 Humble, Mozelius, Sällvin (2020) - Remaking and reinforcing mathematics and technology with programming – teacher perceptions of challenges, opportunities and tools in K-12 settings ........................................................................................................ 22
-
5
5.1.7 Kallia, Psycharis (2017) - The effects of computer programming on high school student’s reasoning skills and mathematical self-efficacy and problem solving .............. 22
5.2 Analys ............................................................................................................................. 23 5.2.1 Tema 1 - Lärares uppfattningar om att implementera programmering i gymnasiets matematikkurser ................................................................................................................ 24 5.2.2 Tema 2 – Lärares undervisningsmetoder för att integrera programmering i gymnasiets matematikkurser ............................................................................................. 26
5.2.2.1 Instruktionsbaserad undervisning ...................................................................... 26 5.2.2.2 Projektorienterad undervisning ......................................................................... 28
5.2.3 Slutsats ..................................................................................................................... 28 6. Diskussion ............................................................................................................................ 30
6.1 Metoddiskussion ............................................................................................................. 30 6.2 Resultatdiskussion .......................................................................................................... 31 6.3 Förslag på vidare forskning ............................................................................................ 34
7. Referenser ............................................................................................................................. 36
-
6
1. Inledning
Under 2017 reviderade Skolverket kursplanerna för ämnet matematik i gymnasieskolan och
beslutade att förändringen skulle vara implementerad i de svenska skolorna till starten av
läsåret 2018/2019. Förändringen i kursplanen innebar bland annat att programmering lades till
som ett nytt moment under problemlösning för matematikkurserna Matematik 1c, 2c, 3b, 3c,
4, 5 och specialisering (Skolverket, 2017) med syfte at göra den svenska skolan mer likvärdig,
eleverna ska få likvärdiga kunskaper, med avseende på digitalisering (Larsson, 2017).
Med inga eller mycket begränsade färdigheter i programmering ska matematiklärare nu
implementera programmering i sin undervisning (Bråtling, Kilhamn & Rolandsson, 2020).
Programmering skulle införas i matematikkurserna med kort varsel. Den reviderade
kursplanen kom den första juli 2017 och skulle vara tillämpad i skolorna redan ett år senare,
till skolstart höstterminen 2018. Lärarna fick nya skyldigheter och förpliktelser men inte
mycket tid för professionell utveckling eller fördjupning av kunskap (Bråting et al., 2020).
Att undervisa i programmering tycker många matematiklärare känns utmanande och en oro
har uppstått då många lärare inte har någon tidigare programmeringserfarenhet och
kursplanerna inte uttrycker vad för sorts programmering det handlar om, vilket innebär att
mycket ansvar läggs på lärarna. Ytterligare en faktor till oro är den ökade arbetsbördan,
kursplanen blir större men tiden lärarna har för att genomföra den förblir densamma
(Vinnervik, 2020). Å andra sidan finns det lärare som ser detta som en utmaning samt
möjlighet och i många fall har lärare tagit egna initiativ till att fortbilda sig (Wallin, 2017).
Lärarnas riksförbund (2020) har nyligen utfört en studie som visar på att sju av tio
matematiklärare känner sig osäkra på programmering trots att det har gått två år efter
revideringen implementerades i de svenska skolorna. För att lärare ska känna sig mer
bekväma i detta är det därför viktigt att utforska både möjligheter och svårigheter med att
integrera programmering i matematikundervisningen på gymnasienivå samt gynnsamma
undervisningsmetoder för detta. Med kunskap om olika gynnsamma undervisningsmetoder
kan lärare göra bättre didaktiska val för att utforma undervisningen på ett sätt så alla elever
känner sig stimulerade och utmanade samt för att ta vara på möjligheterna med
-
7
programmering. Att vara medveten om svårigheter bidrar till ytterligare reflektion över de
didaktiska val lärare gör och kan förhoppningsvis leda till att eventuella fallgropar undviks.
-
8
2. Bakgrund
I detta kapitel definieras textbaserad programmering och en översikt av använda
programmeringsspråk på gymnasienivå ges. Fokus ligger i just textbaserad programmering då
arbetet behandlar programmering i gymnasiets kurser och textbaserad programmering är mer
lämpligt för de högre kurserna (Humble, Mozelius & Sällvin, 2020). Utöver detta beskrivs
även programmeringsprocessen och olika undervisningsmetoder.
2.1 Textbaserad programmering
Programmering betyder att skriva instruktioner för vad en dator ska utföra. I textbaserad
programmering innebär detta att man skriver en kod genom olika syntax där varje
programmeringsspråk har en egen syntax med en uppsättning regler för hur man ska koda
(Nationalencyklopedin [NE], 2020a, b). Koden skrivs i en texteditor och sedan kontrollerar en
så kallad kompilator kodens syntax. Där kan det uppstå syntaxfel, om något i koden bryter
mot programmeringsspråkets regler, varningar (inte något direkt fel men koden är på något
sätt tveksam) eller så har koden skrivits på ett korrekt sätt och kompilatorn kör nu koden
(Nationalencyklopedin [NE], 2020a). All kod skrivs alltså i en texteditor för att sedan körs,
exekveras, i en kompilator. Några vanliga programspråk för textbaserad programmering i
gymnasieskolan är Python och JavaScript.
2.1.1 Python
Python är ett textbaserat programmeringsspråk som kan
köras webbaserat vilket gör att det är lätt åtkomligt då
skolan inte behöver ladda ner eller betala för något program.
Ytterligare en fördel med Python är att det finns ett
Pythonbibliotek på internet, där går att hitta och lära sig allt
man kan tänkas behöva. Slutligen är Python är ett utmärkt
programmeringsspråk att börja med då det är relativt enkelt
(Saeli, Perrenet, Jachems & Zwaneveld, 2011). Bild 1: Exempel på programmeringskod i Python
-
9
2.1.2 JavaScript
JavaScript är ett textbaserat programmeringsspråk som likt
Python finns att köra webbaserat vilket gör att det är lätt
åtkomligt då skolan inte behöver ladda ner eller betala för
något program. JavaScript är ett språk med en relativ enkel
struktur och dess hemsida har en tutorial där man snabbt och
enkelt lär sig grunderna.
2.2 Att programmera
Programmering beskrivs som en process där man analyserar ett problem för att sedan skapa
en slags instruktion för en dator att utföra (NE, programmering). Denna process kan delas upp
i tre olika delar illustrerat i figuren nedan.
2.2.1 Analysera och skapa kod
Att programmera är en systematisk och logisk process som bidrar till kreativitet där man
bygger sina egna lösningar steg-för-steg. Inledningsvis behövs en analys av problemet göras,
likt problemlösning i matematiken. Genom att identifiera delproblem och lösa dessa skriver
man koden i en logisk ordning som till sist löser det stora problemet (Helenius et al., 2018a).
2.2.2 Kompilering och felmeddelanden
Under tiden man löser delproblem efter delproblem kompilerar man programmet man har
skapat. Att kompilera programmet innebär att ”rätta” koden. En korrekt kod ska gå igenom
kompileringsprocessen utan några felmeddelanden, men detta är mycket sällan det sker på
första försöket. Minsta lilla fel i koden leder till ett felmeddelande vilket gör att en stor del av
felmeddelande felmeddelande
Analys och skapande av
kodKompilering
Programmet exekveras av
datorn
felmeddelande
Bild 2: Exempel på programmeringskod i JavaScript
Figur 1: Programmeringsprocessen
-
10
programmeringsarbetet består av att identifiera fel i sin kod med hjälp av dessa
felmeddelanden.
Ett fel i koden kan bero på flera olika saker men felen kan delas in i tre kategorier; syntaxfel,
semantiska fel och logiska fel. Syntaxfel är när man gått emot programmeringsspråkets regler
(exempelvis skrivit ”:” istället för ”;”), semantiska fel kan vara att man helt enkelt har stavat
fel medan logiska fel kan vara att man har skrivit instruktionerna i fel ordning (Helenius et al.,
2018a).
2.2.3 Exekvera programmet
Efter mycket arbete med koden kan nu datorn utföra de instruktioner du ger den och
programmet kan köras utan felmeddelande (Helenius et al., 2018a).
2.3 Undervisningsmetoder
Helenius et al. (2018a) tar upp två olika undervisningsmetoder som ska göra det möjligt för
eleverna att skapa kunskaper om programmering och själva kunna skapa egna program. Dessa
två undervisningsmetoder presenteras i detta avsnitt.
2.3.1 Instruktionsorienterad undervisning
Instruktionsbaserad undervisning innebär att läraren har en genomtänkt ordning i vilken olika
begrepp presenteras och exempel på hur de kan användas. Läraren har en tydligt plan för hur
lektionen ska genomföras och vad som ska tas upp (Helenius et al., 2018a). Ett begrepp
kopplat till instruktionsbaserad undervisning är orkestrering.
2.3.1.1 Orkestrering
Olika sätt att organisera undervisningen och utöva undervisningen tillsammans med eleverna
brukar beskrivas som orkestrering. För att orkestrera undervisningen krävs en väl genomtänkt
lektionsplanering där elevernas lärarande innefattar ett eget upptäckande. Helenius et al.
(2018b) redovisar tre vanliga orkestreringar:
• Klassen arbetar tillsammans med en gemensam skärm
• Eleverna arbetar i par eller enskilt och läraren samlar eleverna vid en skärm vid behov
• Eleverna arbetar i par eller enskilt medan läraren går runt i klassrummet
-
11
Det gemensamma med dessa tre sätten är att läraren är involverad i undervisningen och
vägleder eleverna i deras lärande. För att lyckas med detta är det viktigt att ha en väl
genomtänkt plan för både den didaktiska organisationen och en plan för genomförandet såväl
som att implementera planen på ett lämpligt sätt och kunna vara flexibel i att ta tillvara på
oförutsebara idéer och initiativ från eleverna (Helenius et al., 2018b).
2.3.2 Projektorienterad undervisning
Projektorienterad undervisning är kreativ och experimenterande. Den utgår ofta från ett
halvfärdigt projekt som sedan ska justeras genom tinkering. Projektorienterad undervisning är
central när det kommer till mer komplexa digitala konstruktioner och eleverna besitter
kunskap sedan tidigare (Helenius et al., 2018a).
2.3.2.1 Tinkering
Tinkering betyder pröva eller rätta till och är centralt i projektorienterad undervisning.
Programmeringsundervisning som har utgångspunkt i tinkering består av egna eller andras
halvfärdiga programmeringsprojekt som sedan ska ändras genom tinkering (Helenius et al.,
2018a). I tinkering är nyfikenhet den största drivkraften då eleverna själva utforskar
programmeringen vilket kan väcka elevernas kreativitet och upptäckarlust (Helenius et al.,
2018b).
Projektorienterad- eller tinkeringbaserad undervisning innebär alltså att elevens lärande sker
genom interaktion med, i detta fall, olika koder som presenteras och lärarens roll är minimal.
Detta kräver dock att eleverna har tillräckligt med kunskap och ofta behövs tinkering
kombineras med en viss del orkestrering.
-
12
3. Syfte och frågeställningar
Att undervisa i programmering är något nytt i matematikundervisningen och ett nytt
obligatoriskt moment och många lärare känner oro och osäkerhet inför denna uppgift, vilket
gör att den ofta blir åsidosatt. Studiens syfte är att ge lärare en mer gedigen grund för sin
undervisning i programmering genom att undersöka möjligheter och svårigheter med att
integrera programmering i matematikundervisningen på gymnasienivå. Med hjälp av kunskap
om olika undervisningsmetoder för programmering kan lärare göra medvetna didaktiska val
för att utnyttja de fördelar som finns med att integrera programmering och matematiken.
Genom en ökad medvetenhet om svårigheter kan eventuella fallgropar undvikas och lärare
kan arbeta aktivt för att undvika dessa svårigheter och på så vis förbättra sin undervisning
inom programmering så alla elever känner sig utmanade och stimulerade.
Integrera betyder i allmänhet att föra saker samman till en större helhet, i detta fall att föra
programmering och matematik samman, vilket betyder att införa och använda programmering
som ett verktyg för problemlösning i gymnasiets matematikkurser.
Litteraturstudiens frågeställning är följande:
• Hur kan matematiklärare integrera programmering i gymnasiets matematikkurser?
• Vilka möjligheter och svårigheter beskriver matematiklärare med integreringen?
-
13
4. Metod
Det här examensarbetet är av typen forskningskonsumtion där metoden består av en allmän
litteraturstudie. En allmän litteraturstudie innebär en sammanställning av befintlig forskning
och kräver ett specifikt syfte, en beskrivning av litteratursökning såväl som urvalskriterier.
Examensarbetet skrivs inom utbildningsvetenskap där forskning finns i form av vetenskapliga
tidskrifter, böcker, rapporter, avhandlingar och konferenssammanfattningar (Eriksson Barajas,
Forsberg & Wengström,2013).
4.1 Litteratursökning
Det vanligaste sättet att genomföra en litteratursökning är att i olika databaser söka på vissa
nyckelord eller ämnesord (Eriksson Barajas et al.,2013). I denna litteraturstudie användes
sökmotorn UniSearch via Linköpings Universitetsbibliotek samt databasen ERIC. UniSearch
är en tjänst vid Linköpings Universitetsbibliotek som söker på böcker, artiklar, uppsatser mm.
Med UniSearch får man ofta många träffar och en stor bredd i referenser. I databasen ERIC,
som är en bred databas, kan man hitta utbildningsvetenskaplig forskning i form av
vetenskapliga tidskrifter, avhandlingar och böcker mm. (Eriksson Barajas et al.,2013). Viss
litteratur hittade även genom ett snöbollsurval där referenslistor studerades och relevant
litteratur till uppsatsen hittades. Litteraturen som användes valdes efter en analys utifrån
uppsatsens syfte och frågeställning (Friberg, 2017).
Jag sökte på både svenska och engelska där det snabbt visade sig att sökningar på engelska
gav många fler och bättre resultat. Jag använde mig av en rad olika sökord och söksträngar,
bland annat ”programming AND mathematics”, ”progamming in mathematics”, ”teachers’
view OR perspective OR opinion on programming”, ”teach* programming” samt de sökord
och strängar som är redovisade i tabellen nedan. ”OR” fungerar på så sätt att det blir en
bredare sökning då bara ett utav sökorden behöver finnas. Att göra en sökning med en asterisk
(*) betyder att alla olika varianter, ändelser i detta fall, av ordet kan finnas med i resultatlistan.
4.2 Avgränsningar Sökningen avgränsades på så sätt att artiklar som handlade om lärarnas åsikter och känslor
kring programmering skulle vara publicerade från år 2015 och framåt för att få så relevant
-
14
material som möjligt med tanke på att integreringen genomfördes 2018. Artiklar om olika
undervisningsmetoder däremot skulle vara publicerade från 2010 och framåt, eftersom
undervisningsmetoder från andra länder som har haft undervisning i programmering tidigare
än Sverige är av intresse. Därav valde jag ett större tidsspann. Genom snöbollsurval valdes
även en artikel från 2006; detta undantag gjordes då en av mina valda artiklar, Saeli et al.
(2011), delvis baserades på denna artikel och därför kändes det relevant även att använda
originalkällan, artikeln från 2006.
Ytterligare en avgränsning var att alla artiklar skulle ha genomgått ”peer-review” vilket
innebär att materialet är granskat av oberoende experter inom området före publicering. Jag
hade en ambition att studierna jag hittade skulle vara genomförda i gymnasiet, motsvarande
Upper Secondary School, men det visade sig vara svårt. Avgränsningen blev istället
gymnasiet och högstadiet, alltså Upper Secondary School samt Secondary School.
4.3 Urval
Sökningarna resulterade i ett stort antal tänkbara artiklar för att besvara frågeställningarna, se
tabellen nedan. Många artiklar sållades bort genom granskning av rubriker och abstrakt på
grund av att de saknade relevans för litteraturstudien. Ytterligare en hel del artiklar blev
bortsållade då de endast handlade om programmering i sig och inte om programmering i
skolan. En del artiklar verkade intressanta vid första anblick men vid vidare läsning visade de
sig vara irrelevanta på grund av exempelvis de hade fel målgrupp (ex. lågstadiet) eller endast
handlade om elevernas syn på programmering.
I tabellen nedan presenteras de utvalda artiklarna.
Sökmotor/databas Sökord Avgränsningar Antal träffar Utvalda artiklar
UniSearch
Teachers implementation
AND programming
school mathematics
Peer-review 2015 och
framåt 24 Vinnervik (2020)
ERIC
How to tech programming
secondary school
Peer-review 2010 och
framåt 20
Saeli, Perrenet, Jochmens, Zwaneveld
(2011)
-
15
UniSearch
Integrating programming
in school mathematics
sweden
Peer-review 2015 och
framåt 3 Bråting m.fl (2020)
UniSearch
teachers perception of opportunities
teaching programming mathematics
Peer-review 2015 och
framåt 2 Humble, Mozelius, Sällvin (2020)
ERIC
programming effects AND mathematics
AND secondary
school
Peer-review 2015 och
framåt 14 Kallia, Psycharis (2017)
Tabell 1: Sökningar i UniSearch och ERIC samt utvalda artiklar
Genom en sökning i ovanstående utvalda artiklars referenslistor (snöbollsurval) fann jag
följande artiklar.
Tabell 2: Funna artiklar genom snöbollsurval
4.4 Tematisk analys
Jag utförde en teoretisk tematisk analys vilket innebär att lokalisera och identifiera olika
teman i litteraturen för och sedan analysera och strukturera artiklarnas innehåll utifrån dessa
teman. En teoretisk tematisk analys styrs av de frågeställningar som finns och inte efter
tillgängliga artiklar eller data. Detta betyder att frågeställningar styr vilken data som hittas och
vilka teman som lokaliseras (Braun & Clarke, 2006).
Vid läsning av de valda artiklarna analyserades de utifrån studiens två frågeställningar. De
internationella artiklar, Govender (2006), Kallia& Psycharis (2017), Saeli et al. (2011) och
Sentence & Csimadia (2016), behandlar skolkursen Computer Science, där programmering är
en del av kursen. Lärares uppfattningar om och erfarenheter av hur programmering kan
Sökning i referenslistan för Funna artiklar
Vinnervik (2020) Sentance & Csimadia (2016)
Saeli, Perrenet, Jochmens, Zwaneveld (2011) Govender (2006)
-
16
undervisas i sådana kurser är av stort intresse även för andra matematikkurser. Därav
betraktar jag sådana kurser som tillhörande kursutbuden i matematik och dessa lärare som
matematiklärare i detta arbete.
Jag utförde en tematisk analys då jag utgick från litteraturstudiens frågeställningar och läste
artiklarna flera gånger och under läsningen med hjälp av markeringar i olika färger förde
samman textavsnitt i följande teman:
Tema 1: Lärares uppfattningar om integrering av programmering i gymnasiets
matematikkurser
¨ Undertema 1.1: Integreringens möjligheter
¨ Undertema 1.2: Integreringens svårigheter
Tema 2: Lärares undervisningsmetoder för implementering av programmering i gymnasiets
matematikkurser.
Här nedan är ett exempel på hur den tematiska analysen gick i till. Textutdrag från Bråting
et.al (2020), sida 8:
“The emphasis on social media as a source for ideas and inspiration about how
to fulfil the new curricular demands implies two things. One is that there is
obviously a very active community of teachers who interact and help each other.
The other is that there is a lack of authority in decisions about what to teach and
why to teach it.”
Grönt har använts för att markera möjligheter och rött svårigheter.
Nedan presenteras en tabell som visar på vilka artiklar som berör vilket tema.
Författare Titel Tema Kort sammanfattning
Vinnervik (2020)
Implementing programming in school
mathematics and technology: teachers’ intrinsic and extrinsic
challenges
Tema 1
Studie i Sverige som undersöker olika svårigheter
lärare upplever med implementeringen av
programmering i matematikundervisningen.
-
17
Bråting, Kilhamn,
Rolandsson(2020)
Integrating programming in Swedish school
mathematics: description of a research project
Tema 1
Studie I Sverige som undersöker hur lärare
implementerar programmering i skolmatematiken.
Sentence, Csizmadia (2016)
Computing in the curriculum: Challenges and strategies from a teacher’s
perspective
Tema 2 Tema
1.2
Studie utförd I England som undersöker upplevda svårigheter samt olika
gynnsamma undervisningsmetoder i
ämnet datalära, programmering inkluderat, i
England
Saeli, Perrenet, M.G Jochems,
Zwaneveld (2011)
Teaching Programming in Secondary School: A Pedagogical Content
Knowledge Perspective
Tema 2
Studie utförd I Sydafrika som undersöker pedacogical
content knowledge, kunskapen att transformera ämneskunskap till kunskap
som är lättförstådd för eleverna, med fokus på
programmering.
Govender (2006)
Learning to program and learning to teach
programming: A closer look
Tema 2
Studie utförd i Sydafrika som undersöker hur elever lär sig programmering samt hur man
bör undervisa i programmering baserat på
elevernas svårigheter.
Humble, Mozelius, Sällvin
(2020)
Remaking and reinforcing mathematics and technology with
programming – teacher perceptions of challenges, opportunities and tools in
K-12 settings
Tema 1
Studie utförd i Sverige som undersöker lärares
svårigheter, möjligheter och verktyg för programmering.
Kallia, Psycharis (2017)
The effects of computer programming on high
school student’s reasoning skills and mathematical
self-efficacy and problem solving
Tema 1.1
Studie utförd i Grekland som undersöker
programmeringens effekt på elevers resonemangsförmåga,
självförmåga och problemlösningsförmåga
Tabell 3 : Kort sammanfattning av de utvalda artiklarna samt vilket tema de berör
-
18
5. Resultat och analys
I detta kapitel presenteras litteraturstudiens resultat genom en sammanfattning av de utvalda
artiklarna samt en sammanställning och analys av resultatet utifrån de lokaliserade temana.
5.1 Sammanfattning av artiklarna
Här sammanfattas studiens utvalda artiklar utifrån de lokaliserade teman i syfte att svara på
studiens frågeställningar.
5.1.1 Vinnervik (2020) - Implementing programming in school mathematics and
technology: teachers’ intrinsic and extrinsic challenges
Studien är baserad på gruppkonversationer mellan första lärare i matematik. Studien har
analyserat tre olika grupper av lärare, där jag har fokuserat på resultaten från grupp 3 då denna
grupp bestod av högstadielärare. Lärarna fick inga specifika frågor utan fick prata fritt om vad
de känner kring att implementera programmering i matematiken. Vinnervik märkte snabbt att
det fanns två läger, de som känner en oro och nervositet respektive de som känner sig
exalterade och tycker det ska bli kul med något nytt.
I samtalen framkom en oro för undervisningsmaterial och om skolorna har råd att köpa in nytt
material så som nya matematikböcker innehållandes programmering. Tidsbrist var ytterligare
en svårighet, både tidsbrist när det kommer till förberedelse och reflektion men också om
programmeringen kommer ta tid från andra obligatoriska delar i matematiken. Dessa
svårigheter bidrar till att lärarna ifrågasätter sin egen professionskunskap vilket givetvis leder
till en stor osäkerhet. Lärarna uttryckte att de inte har tillräcklig ämneskunskap i
programmering men visar en stor vilja att lära sig både programmering och olika pedagogiska
sätt att undervisa.
På grund av lärarnas bristande kunskaper visade det sig att de ofta tog färdigt material från
internet som de ansåg att eleverna skulle tycka vara kul utan att reflektera över kunskaps- och
inlärningsmål för lektionen. Lärarna tar upp en stor möjlighet med programmering; att det är
mycket kreativt och kan vara gynnsamt för elever med låg motivation eller
koncentrationssvårigheter.
-
19
Sammanfattningsvis ansåg lärarna att det finns en hel del svårigheter med integreringen,
framför allt för att det finns en osäkerhet bland lärarna. Dock så var deltagarna i studien öppna
och villig att delta i utbildningar såväl på sin egen skola som mellan skolorna.
5.1.2 Bråting, Kilhamn, Rolandsson (2020) - Integrating programming in Swedish school
mathematics: description of a research project
Detta är en beskrivning av ett forskningsprojekt och innehåller två delar där jag fokuserar på
den andra, Teacher’s voice. Data till studien samlades in från lärare som var i processen att
integrera programmering i matematikundervisningen. Data samlades in både genom skriftlig
dokumentation av lektionerna och individuella intervjuer. Skriftlig dokumentation gjordes av
lärare med varierande motivationsnivå angående integreringen medans intervjusubjekten
valdes ut och intervjuer hölls med lärare som var motiverade och integrerade programmering i
sin matematikundervisning tidigt.
Studien fokuserade på de didaktiska val lärare gjorde samt varför. Utöver detta fokuserade
den även på vilka möjligheter och eventuella fallgropar lärarna märkte av i sin undervisning.
De didaktiska val lärare gjorde berodde på vilket programmeringsspråk och vilken
programmeringsmiljö läraren valde att använda. Lärarna, som använda textbaserad
programmering, ansåg att det var lätt att ha kontroll i klassrummet även om studenterna kan
ha svårt att följa viss syntax. Lärarna använde sig utav material från internet då det är
lättillgängligt och de ansåg att de hade för låga kunskaper för att själva skapa
programmeringsuppgifter. De uttryckte även att de inte visste hur de skulle bedöma och
betygsätta i programmering på grund av bristfälliga styrdokument. Vad och varför man ska
undervisa i programmering ansågs inte heller vara tydligt utifrån styrdokumenten vilket gör
att det kollegiala samarbetet ökar. Ämneskunskap krävs för att det kollegiala samarbete ska
vara så gynnsamt som möjligt och för att lärare ska kunna skapa egna
programmeringsuppgifter specifikt för vissa lärandemål och på så vis undvika fallgropen att
använda material från internet utan att granska det kritiskt.
Något lärarna är överens om är programmeringens positiva effekt på elevers motivation för
matematik, en ökad motivation som förhoppningsvis kommer att påverka elevernas inlärning
positivt.
-
20
5.1.3 Sentence, Csizmadia (2016) - Computing in the curriculum: Challenges and strategies
from a teacher’s perspective
Denna studie är utförd i England där programmering är en del av ämnet Computer Science.
Deltagarna i studien är lärare som undervisar i åldrarna 4–19 år, alltså lärare i hela
skolsystemet. Majoriteten av lärarna (75%) som deltog i studien arbetade dock som
Secondary School Teachers, alltså lärare i högstadiet och gymnasiet vilket gjorde att studien
kändes relevant. Studien är baserad på en enkät som handlar om svårigheter och strategier
lärare har för att undervisa i Computer Science, där bland programmering.
Likt tidigare studier som presenterats uttryckte även dessa lärare en osäkerhet kring ett nytt
ämne där de måste lära sig nya ämneskunskaper, undervisningsmetoder och hur det ska
bedömas. De uttryckte även en problematik när det kom till elevernas skillnad i kunskapsnivå
och att detta gjorde det svårt att veta på vilket nivå de skulle undervisa på.
Tre bra undervisningsmetoder för att lära sina elever att skriva och läsa programmeringskoder
presenteras; samarbete, scaffolding och kontextualisering. Samarbete kan innebära
programmering enskilt men i samarbete med klasskamrater genom att använda varandra som
bollplank, programmeringar i par eller samarbete i grupp. Scaffoldning betyder att
studenterna ges en del av ett program och måste komplettera det. Det kan även innebära att
eleverna får en färdig kod, med några fel i, av läraren i pappersformat och måste själva sitta
och skriva koden i datorn för att på så satt fundera på vad de skriver och rätta misstag när de
får kompileringsfel. Kontextualisering handlar om att sätta programmering i en
verklighetsbaserad kontext som eleverna kan relatera till.
Studien konstaterar att lärare behöver utbildning för att känna sig mer självsäkra när det
kommer till att undervisa i programmering. De gynnsamma metoderna lärare använder sig av
baseras på elevers delaktighet, där experimentellt lärande, lärande genom att lösa problem och
sätta programmeringen i kontext är i fokus.
5.1.4 Saeli, Perrenet, M.G Jochems, Zwaneveld (2011) - Teaching Programming in
Secondary School: A Pedagogical Content Knowledge Perspective
Detta är en studie med syfte att undersöka pedagogical content knowledge, kunskapen att
transformera ämneskunskap till kunskap som är lättförstådd för eleverna, med fokus på
-
21
programmering. Litteraturstudien behandlar hur programmering bör läras ut och det
presenterar undervisningsmetoder som anses vara de mest optimala för detta. Det går inte att
säga att en specifik metod är optimal då alla klassrum ser olika ut, därav presenteras två olika
sätt.
Den första undervisningsmetoden innebär att använda sig av programmeringsspråk med
relativ enkel syntax, exempelvis Python, detta för att eleverna kan fokusera mer på den
semantiska aspekten för att inte få så många syntax fel vid kompilering. Ett sätt att starta en
lektion är ett använda sig av verklighetstrogna exempel och uppgifter. Processen i dessa
uppgifter bör vara att eleverna först skriver en enkel kod för små problem och sedan jämföra
och kombinera deras koder för att få ett stort program som löser hela problemet.
Den andra metoden är kedjeinlärning som börjar med att förstå ett program för att sedan själv
producera ett. I början går inlärningen ut på att förstå programmeringsspråket och hur man
skriver för att sedan lägga ihop de saker man har lärt sig för att kunna skriva kompilerbar kod.
Sista steget är problemlösning, då måste problem identifiera och lösas med hjälp av de
pusselbitar man har lärt sig under inlärningsprocessen.
5.1.5 Govender (2006) - Learning to program and to teach programming: A closer look
Detta är en studie gjord i Sydafrika som undersökte problematik när det kommer till att lära
sig att programmera för två gruppen, en grupp av blivande lärare och en grupp med elever i
årskurs 10 och 12 (ekvivalent med första respektive tredje året på gymnasiet i Sverige). Jag
har inte fokuserat på vilka problem och svårigheter som eleverna upplevt utan fokus har legat
på den delen där de drar slutsatser för hur lärare bör undervisa programmering med
utgångspunkt i vad eleverna svarade i studien.
Artikeln konstaterat att de olika delarna i programmering bör introduceras med hjälp av olika
små, tydligt problem. Det kan även vara gynnsamt att analogt rita upp vad som händer när
programmet kör för att eleverna ska förstå hur det hänger ihop och läraren bör ha många
exempel där en öppen diskussion är gynnsam. Författaren anser att det är effektivt om läraren
programmerar framför eleverna, detta kallar de för programming by demonstration.
-
22
5.1.6 Humble, Mozelius, Sällvin (2020) - Remaking and reinforcing mathematics and
technology with programming – teacher perceptions of challenges, opportunities and tools
in K-12 settings
Detta är en studie utförd i Sverige där data samlades in från tre olika fortbildningskurser i
programmering för lärare. Data samlades in genom observationer under workshops,
inlämnade uppsatser och olika meddelanden i kursernas diskussionsforum. Lärarna som
deltog i studien var allt från förskolelärare till gymnasielärare och i resultatet särskiljs inte
lärarna åt, vilket tyder på att lärarna för de olika åldrarna såg samma möjligheter och
svårigheter.
Studien visar att lärarna anser att programmering är lätt att koppla till andra färdigheter och
inlärningsmål i skolan, så som logiskt tänkande, problemlösning och beräkningstänkande.
Ytterligare anser lärarna att det finns lättillgängligt material både på internet och i olika
böcker och de menar på att programmering är kul.
Svårigheter med integrering av programmering anses vara att det inte finns tillräckligt tydliga
styrdokument. Vilken typ av programmering som ska undervisas, vilket
programmeringsspråk, hur ska den integreras och hur mycket tid som ska gå åt till
integreringen är frågor som kommer upp från lärarnas håll. Utöver detta anses programmering
vara svårt, dels för att det är nya strukturer och ny syntax som ska läras. Den största
svårigheten lärare såg med integrering av programmering är tidsbrist. Där det är svårt att hitta
tid för programmering i ett redan fullt schema, tiden måste då tas från något annat som
eleverna kan vara i behov av, risken finns då att deras inlärning och kunskapsnivå påverkas
negativt.
5.1.7 Kallia, Psycharis (2017) - The effects of computer programming on high school
student’s reasoning skills and mathematical self-efficacy1 and problem solving
Studie utförd i Grekland med elever som går sista året på High School, ekvivalent med
Sveriges gymnasium. I studien finns en kontrollgrupp som hade undervisning som vanligt,
utan programmering, och en experimentgrupp som hade programmering integrerad i
1 Självförmåga eller egenförmåga. Ett begrepp som syftar till individens tilltro till att själv klara av en handling i en särskild situation.
-
23
undervisningen. Syftet med studien var att undersöka relationen mellan programmering och
elevers problemlösningsförmåga, resonemangsförmåga och självförmåga, tilltron till sig själv.
Före första försöket fick båda grupperna göra ett förtest med syfte att säkerställa gruppernas
likvärdighet och att ge en utgångspunkt för jämförelser efter försöket.
När det kommer till självförmåga visade kontrollgruppen inga signifikanta resultat medan
experimentgruppen visade på en stor skillnad för elevernas självförmåga, vilket tyder på att
programmering integrerat i matematiken påverkar elevernas självförmåga till det positiva.
Elevernas problemlösningsförmåga förändrades inte mycket för någon av grupperna.
Experimentgruppen fick ett högre resultat än kontrollgruppen i ett eftertest, men skillnaden
var inte tillräckligt stor för att man ska kunna dra någon slutsats att problemlösningsförmågan
hos eleverna förbättrades genom integreringen av programmering. Detta resultat är i linje med
tidigare forskning. Det finns studier som visar att programmering har en positiv påverkan på
problemlösningsförmågan men det finns också studier som visar att programmering är
ineffektiv för att utveckla elevers problemlösningsförmåga. Resonemangsförmågan var mer
eller mindre densamma för kontrollgruppen i för- och eftertestet medan experimentgruppen
hade höjt sina resultat märkbart.
Sammanfattningsvis visar studien att elevers självförmåga och resonemangsförmåga
förbättras med hjälp av integrering av programmering i matematikundervisningen, medan
elevers problemlösningsförmåga ändrades för lite för att man ska kunna dra någon slutsats.
5.2 Analys
I detta avsnitt presenteras och analyseras resultatet utifrån de teman som har lokaliserats i
forskningsartiklarna. Nedan finns en tabell med det sammanställda resultatet av
litteraturstudien och därefter kommer en mer detaljerad beskrivning av resultatet för de olika
teman och underteman.
Tema Resultat
1.1 - Möjligheter • Kreativt och kul • Motiverande • Kollegialt samarbete • Utveckling av matematiska förmågor
-
24
1.2 - Svårigheter • Tidsbrist • Bedömning och betygsättning • Anpassa undervisningen efter olika nivåer • Bristande styrdokument • Osäkerhet • Lärares låga kunskapsnivå
2 - Undervisningsmetoder • Kedjeinlärning • Samarbete • Scaffolding (stöttning) • Programming by demonstration
Tabell 4: Tema 1 och 2 sammanställt i punktform
5.2.1 Tema 1 - Lärares uppfattningar om att implementera programmering i gymnasiets
matematikkurser
Tema 1.1 Implementeringens möjligheter:
Vinnervik (2020) beskriver att lärare anser att programmering är mycket kreativt och kan
bidra till nytänkande och roliga sätt att undervisa och lära ut. Samt att det kan vara givande
för elever med bristande motivation eller som har problem med koncentrationen.
Att integrera programmering med matematiken bidrar även till möjligheten att utveckla olika
matematiska förmågor. Humble et al. (2020) skriver att programmering bidrar till elevers
utvecklande av beräknings tänkande, även kallat datalogiskt tänkande2. Ytterligare förmågor
som förbättras är elevernas självförmåga och resonemangsförmåga (Kallia & Psycharis,
2017). Artiklarna är dock oense om programmering bidrar till förbättrad
problemlösningsförmåga eller inte. Därav kan vi dra slutsatsen att programmering eventuellt
kan hjälpa eleverna att utveckla sin problemlösningsförmåga men det är inte säkert.
Bråting et al. (2020) uttrycker att implementeringen kan bidra till större kollegialt samarbete
då många lärare har bristande kunskaper i programmering och därmed måste ta hjälp och
samarbeta mer med varandra.
2 Beräknings/datalogiskt tänkande är den svenska översättningen av computational thinking (CT). CT är en problemlösningsprocess där man beskriver, analyserar och löser problem med hjälp av datorer.
-
25
Tema 1.2 Implementeringens svårigheter:
Alla artiklar som behandlar tema 1, se tabell 3, uttrycker att en stor svårighet för lärare är
deras egen osäkerhet, en osäkerhet som uppstår till följd av låga ämneskunskaper. Vinnervik
(2020) illustrerar hur lärare, på grund av osäkerhet och låga kunskapsnivåer, tar material från
internet som de tror eleverna skulle tycka är kul istället för att välja material som är relevant
för kunskapskrav och inlärningsmål. Även Bråting et al. (2020) uttrycker lärarnas låga
kunskapsnivåer som en stor svårighet för integrationen av programmering i
matematikundervisningen.
Något som också bidrar med osäkerhet och är en svårighet för matematiklärare är att
styrdokumenten inte tillräckligt tydligt anger vad för typ av programmering som ska
undervisas, hur ska den integreras och hur mycket tid ska gå åt till integreringen (Humble et
al., 2020; Vinnervik, 2020, Bråting et al., 2020). Detta kan leda till stora skillnader i
undervisning mellan olika skolor men även mellan olika klasser. En lärare som är motiverad
och finner programmering kul och utmanande kan ha programmering på
matematikundervisningen en gång i månaden medan en lärare som endast tycker det känns
jobbig och svårt kan ha det mycket mer sällan.
I klassrummet är en svårighet att anpassa undervisningen då eleverna är på olika nivå eller lär
sig olika snabbt. Lärarna uttrycker att de saknar pedagogiska sätt att hantera de olika nivåerna
i klassrummet (Sentence & Csizmadia, 2016). Utöver detta finns det även en osäkerhet om
hur och vad man ska bedöma och betygsätta när det kommer till programmering (Sentence &
Csizmadia, 2016; Vinnervik 2020)
Tre av de fyra artiklarna som behandlar undertema 1.2 uttrycker att en stor svårighet för
lärarna är tidsbrist (Vinnervik, 2020; Sentence & Csizmadia, 2016; Humble et al., 2020).
Programmeringen utökar kursplanerna i matematik men tiden lärarna har för att genomföra
undervisningen förblir densamma.
-
26
5.2.2 Tema 2 – Lärares undervisningsmetoder för att integrera programmering i
gymnasiets matematikkurser
Detta tema berör studiens första
forskningsfråga, hur kan man
som matematiklärare integrera
programmering i gymnasiets
matematikkurser, och fyra olika
metoder har identifierats. Dessa
fyra gynnsamma
undervisningsmetoder har jag
valt att kategoriseras i två
grupper, se figur 4, utifrån de
undervisningsmetoder som togs
upp i avsnitt 2.3
Undervisningsmetoder.
5.2.2.1 Instruktionsbaserad undervisning Instruktionsbaserad undervisning innebär, som nämnt i avsnitt 2.3.1 Instruktionsbaserad
undervisning, att läraren har en genomtänkt ordning i vilken olika begrepp presenteras och
exempel på hur de kan användas. Läraren har en tydligt plan för hur lektionen ska genomföras
och vad som ska tas upp (Skolverket, 2018a).
Kedjeinlärning (Saeli et al., 2020; Govender, 2006) faller naturligt in i kategorin
instruktionsorienterad undervisning eftersom kedjeinlärning kräver en välplanerad och
genomtänkt undervisning där läraren introducerar olika små delar i en viss uttänkt ordning för
att eleverna sedan själva, eller i grupp, arbetar och försöker lägga samman de delar de har lärt
sig och skapa ett program.
Jag betraktar den metod som Govender (2016) presenterar som kedjeinlärning då den är
snarlik den metod som Saeli et al. (2011) presenterar som kedjeinlärning. Govender (2006)
skriver att de olika delarna inom programmering bör introduceras med hjälp av många små
problem där det är gynnsamt om läraren ritar upp på tavlan vad som sker och hur det hänger
ihop. När detta sker är det viktigt med en öppen diskussion där eleverna får ge förslag och
Instruktionsorienterad undervisning
Kedjeinlärning
Programming by
demonstration
Samarbete
Projektorienterad undervisning
Scaffoldning
Samarbete
Figur 2: Kategorisering av de funna undervisningsmetoderna
-
27
ställa frågor. Saeli et al. (2020) tar upp en undervisningsmetod som heter kedjeinlärning och
som innebär att eleverna först måste förstå alla små delar i programmeringsspråket för att
sedan kunna producera ett program genom att lägga ihop pusselbitarna man har lärt sig (Saeli
et al., 2020). Man börjar alltså med att lösa små problem och när man har lärt sig det kan man
applicera all den kunskap man besitter och lösa större problem och skriva ett eget program.
Programming by demonstration innebär att läraren programmerar framför eleverna
(Govender, 2006). Det är dock ingen av de andra författarna som tar upp denna
undervisningsmetod och den nämns endast i förbigående av Govender. Däremot anses denna
undervisningsmetod ändå vara värd att nämna då Skolverket (2018a) nämner en liknande
metod när de illustrerar olika sätt att orkestrera sin undervisning. En typ av orkestrering är att
klassen arbetar tillsammans på en gemensams skärm, läraren programmerar alltså på storbild
samtidigt som en öppen diskussion sker i klassrummet (Skolverket, 2018a) vilket är likt
Programming by demonstration som därmed placeras under instruktionsbaserad undervisning
då orkestrering är centralt i instruktionsbaserad undervisning.
Den sista undervisningsmetoden i instruktionsbaserad undervisning är samarbete. Samarbete i
form av att eleverna löser små problem för att sedan tillsammans med sina klasskompisar
kombinera sin kod för att lösa ett stort problem (Saeli et al., 2020). Det är viktigt med ett
enkelt programmeringsspråk samt verklighetstrogna exempel och problem för att sätta
programmeringen i en kontext (Sentence & Csizmadia, 2016; Saeli et al., 2011). Med hjälp av
kontextualisering och verklighetstrogna exempel hjälper man eleverna att se nyttan av
programmering och hur man kan använda den utanför klassrummet. Sentence och Csizmadia
(2016) förespråkar också samarbete som en bra undervisningsmetod, samarbete i form av att
elever programmerar i par, programmerar enskilt men med varandra som bollplank eller
samarbete gruppvis. I instruktionsbaserad undervisning placerades samarbete för att en vanlig
typ av orkestrering är att eleverna arbetar just i par. Vid denna typ av samarbete är det dock
viktigt att läraren har en plan och är aktiv i undervisningen. Läraren kan vara aktiv på så sätt
att hen går runt i klassrummet och hjälper eleverna i rätt riktigt eller samlar eleverna vid en
skärm för en genomgång när behovet finns i klassrummet (Skolverket, 2018a).
-
28
5.2.2.2 Projektorienterad undervisning
Samarbete placerades även i projektorienterad undervisning. Projektorienterad undervisning
baseras på kreativitet och experimenterande, den utgår ofta från halvfärdigt projekt som sedan
ska justeras genom tinkering (Skolverket, 2018a). Dessa justeringar och att skriva färdigt
koden skulle kunna göras enskilt men även genom samarbete i par eller i grupp. Skolverket
definierar inte om projektorienterad undervisning bör ske enskilt eller i grupp men med tanke
på att Sentence och Csizmadia (2016) belyser samarbete som en mycket gynnsam metod bör
båda arbetssätten användas.
Scaffolding tas upp som en gynnsam undervisningsmetod och innebär att eleverna ges en del
av ett program, eller en färdigkod i pappersformat, och måste fixa koden och skriva den
korrekt i datorn. Denna undervisningsmetod definierar Sentence och Cszmadia (2016) på
liknande sätt som Skolverket (2018a) definierar projektorienterad undervisning; eleverna får
en halvfärdig kod som ska göras klar och felen som uppstår ska rättas till. Därav placerades
scaffolding under projektorienterad undervisning.
5.2.3 Slutsats Slutsatsen av analysen av forskningsartiklarna är att instruktionsorienterad undervisning, och
de undervisningsmetoder som presenterades i den kategorin, är mer lämpliga för
introducering av programmering då eleverna inte har tillräcklig kunskap för att vara
självständiga. Medan projektorienterad undervisning lämpar sig bättre när eleverna har den
basala kunskapen om programmeringsspråket i fråga och har förmågan att lösa problem mer
självständigt utan särskilt mycket vägledning. Det är dock viktigt att komma ihåg är att lärare
inte behöver välja uteslutande instruktions- eller projektorienterad undervisning (Skolverket,
2018a). Det viktiga är att läraren gör medvetna val i sin undervisning och väljer metod med
hänsyn till olika aspekter så som klasstorlek, kunskapsnivå mm.
I relation till dessa undervisningsmetoder existerar både möjligheter och svårigheter med att
integrera programmering in i matematiken. De möjligheter som framkom i denna studien är
att programmering är motiverande, kreativt, bidrar till kollegialt samarbete och utvecklar
elevernas matematiska förmågor. Svårigheterna är tidsbrist, eftersom ytterligare ett
kursmoment har lagts till, hur bedömning och anpassning av undervisningen ska ske, bristen
-
29
på styrdokument och lärares otillräckliga kunskaper om programmering. En ökad
medvetenhet av dessa möjligheter och svårigheter kan hjälpa lärare att undvika fallgropar.
-
30
6. Diskussion
I detta kapitel presenteras litteraturstudiens diskussion i två delar, metod- och
resultatdiskussion.
6.1 Metoddiskussion
Artiklarna som används som underlag till resultatet har hittats via ett antal sökord, se avsnitt
4.3 Urval där även de utvalda artiklarna presenteras. Just vilka sökord som används utgör en
stor del av urvalsbegränsningen och har en betydande roll. Vid varje sökning användes
relativt många sökord, detta var nödvändigt för att få ett begränsat antal artiklar att kolla
igenom. Detta gör dock att det uppstår en risk att artiklar som inte hade en tillräckligt tydlig
titel missades i sökningarna. Möjligtvis hade andra sökord alternativt sökorden i en annan
kombination kunnat användas och på så vis leda fram till andra artiklar som kunnat vara av
intresse.
Sökningarna gjordes i två databaser, UniSearch och ERIC, Education Resources Information
Center. För att få ett bredare resultat kunde fler databaser ha använts. I både UniSearch och
ERIC finns flera funktioner som gör det möjligt att begränsa sökresultaten utifrån
publiceringsår och peer-reviewed. För de två olika frågeställningarna hade jag två olika
publicerings år som krav. För studiens första frågeställning fanns kriteriet att artiklarna skulle
vara skrivna år 2010 och framåt, detta för att få så relevanta artiklar som möjligt. För den
andra frågeställning var kriteriet istället att de skulle vara skrivna från år 2015 och framåt.
Anledningen till att jag valde ett så begränsat spann är för att ändringen i kursplanen i Sverige
skedde 2018 och därför ville jag inte ha allt för många år före detta år.
Av artiklarna som valdes ut är den äldsta dock från 2006 vilket egentligen inte stämmer med
mitt urvalskriterium, att artikeln ska vara publicerings 2010 eller senare. Artikeln hittades
dock genom snöbollsurval i en av de utvalda artiklarnas referensförteckning och det ansågs
lämplig att använda denna originalkälla i litteraturstudien också.
-
31
De tre svenska studierna som används är alla från år 2020 och alltså gjorda efter/under
integreringen av programmering i matematikundervisningen vilket var viktigt och gör dem
relevanta för litteraturstudien.
För att analysera forskningsartiklarnas innehåll utfördes en tematisk analys, se avsnitt 4.4
Tematisk analys. Olika teman och underteman lokaliserades och användes för att sortera
artiklarnas innehåll. Denna indelning i teman användes därefter i syfte att besvara studiens två
frågeställningar.
6.2 Resultatdiskussion
Resultatet av första forskningsfrågan visar på fyra effektiva metoder för att undervisa elever i
programmering. Den undervisningsmetod som var mest förvånande var programming by
demonstration. I denna metod har eleverna en väldig passiv roll vilket motsäger det frekvent
hörda uttrycket ”learning by doing” som nämns i diskussioner kring undervisning och
inlärning då det anses vara ett effektivt sätt för eleverna att lära sig och memorera kunskap.
Denna litteraturstudie visar även på att svenska matematiklärare har bristande kunskaper i
programmering vilket inte lämpar sig väl med denna metod att undervisa då läraren kan stöta
på problem de inte kan lösa eller förklara vid demonstreringen. Om läraren däremot känner
sig säker i rollen som programmerare är denna metod bra för att skapa en diskussion i
klassrummet och prata om olika felmeddelanden som dyker upp och att klassen tillsammans
resonerar sig fram till en lösning. En förutsättning för detta meningsfulla kunskapsutbyte är
att läraren känner sig tillräckligt säker för att kunna styra samtalet i rätt riktning och korrigera
eventuella feluppfattningar som finns i klassrummet.
I avsnitt 2.2 Att programmera beskrivs programmeringsprocessen som börjar med att
analysera problem och skapa kod, sedan felsöka och korrigera koden för att till sist ha skapat
ett körbart program (Skolverket, 2018a). Den undervisningsmetod som har med alla dessa
steg är kedjeinlärning och därmed kan den ses som den mest effektiva undervisningsmetoden
för programmering. Kedjeinlärning är tidskrävande, både när det kommer till planeringstid
men även lektionstid för utförandet av undervisningen. Saeli et al. (2020) skriver att denna
undervisningsmetod tar mycket tid men att det bidrar till djupinlärning. Lärare uttrycker att
tidsbrist är en stor svårighet när det kommer till att integrera programmering i
-
32
matematikundervisningen därför är det viktigt att läraren göra aktiva val i hur mycket tid man
är villig att åsidosätta för programmering och om djupinlärning, vilket är resultatet av denna
undervisningsmetod, är något man prioriterar.
Resultatet av forskningsfråga två, vilka möjligheter och svårigheter ser matematiklärare med
integreringen, baseras till viss del på Vinnerviks studie som är gjord innan integreringen av
programmering in i matematiken faktiskt ägde rum. Detta är viktigt att ha i åtanke då det
lärarna i studien uttrycker som möjligheter och svårigheter är vad de själva känner före
integreringen, de kan alltså inte säga säkert vad integreringen bidrar med för möjligheter och
svårigheter eftersom den inte ägt rum när studien utfördes. Dock så stöds mycket av det
Vinnervik skriver av övriga litteraturen och därmed ökar dess kredibilitet.
En utav de möjligheterna som togs upp i resultatet är ett kollegialt samarbete då lärarens egen
kunskap inom programmering brister. Detta är något man kan ställa sig kritisk till då två
osäkra lärare utan vidare ämneskompetens inom programmering ska samverka och ta fram bra
material till undervisningen. Ett samarbete är absolut fördelaktigt då man byter erfarenheter
och kunskap, dock visar forskningen på att lärare i allmänhet besitter lite eller ingen kunskap
alls vilket gör att det kan bli problematiskt. Kollegial samverkan är en stor möjlighet för
programmeringens integrering i skolan om kollegorna redan besitter kunskap och kan utföra
ett meningsfullt kunskapsutbyte.
Studien visar att en undervisningsmetod som kan ha en positiv effekt på elevernas
problemlösning är scaffolning då metoden baseras på felsökning och åtgärder, alltså
identifiering av problem och problemlösning. Att lära sig att felsöka kod och lösa de funna
felen kan ha en positiv påverkan på dess problemlösningsförmåga. Programmering är
fördelaktigt för att utveckla andra förmågor, såsom självförmåga, resonemangsförmåga och
beräkningstänkande, vilket är väldigt gynnsamt för eleverna i ämnet matematik.
Skolverket har lagt till programmering under problemlösning i kursplanen för matematik, men
artiklarna som använts i denna studie är oense om programmering faktiskt bidrar till att
eleverna blir bättre problemlösare eller inte. Detta kan bero på olika saker där jag tror att en
av de största anledningarna till detta kan vara just undervisningsmetoder men även lärarnas
-
33
bristande kunskaper. Både Vinnervik (2020) och Bråting et al. (2020) beskriver hur
matematiklärare i Sverige inte har tillräckligt med ämneskompetens inom programmering och
inte kan skapa eget undervisningsmaterial och att lärare i vissa fall inte reflekterar över vilket
material de väljer att använda utan de tar material från internet baserat på hur roligt eleverna
kommer uppfatta det. Detta är ytterst problematisk och påvisar vikten av att matematiklärarna
i Sverige får fler fortbildningskurser. Problematiken med att lärare väljer material utifrån vad
som uppfattas som kul och inte utifrån lärandemål visar även på behovet av tydligare riktlinjer
från regeringen och Skolverket så att lärare får en bättre uppfattning om vad som ska
undervisas i programmering (Bråting et al., 2020; Humble et al., 2020; Vinnervik, 2020). Att
få tydligare riktlinjer och styrdokument är viktigt även ur bedömningsaspekten, där en
svårighet är just förvirringen om bedömning av programmering. Är det själva
programmeringen eller är det problemlösningsförmågan som ska bedömas, med tanke på att
programmering i kursplanen nämns under problemlösning? Det är också oklar hur
bedömningen bör göras.
Ytterligare en sak som möjligtvis kan göra bedömningen svår är då elever programmerar
tillsammans. En effektiv undervisningsmetod är just samarbete vilket ur många aspekter är
otroligt bra då elever lär sig olika saker olika fort och på så vis kan dra nytta av ett
kunskapsutbyte och en diskussion med varandra. Detta gör det dock svårt för lärarna att
bedöma då det inte blir tydligt vem som har programmerat vad och vilken kunskapsnivå varje
elev ligger på individuellt. Detta kan bidra till att vissa elever får ett högre betyg vilket i sin
tur även kan stjälpa dessa elever eftersom de lämnar lektionen med bristfälliga kunskaper.
Elevers samarbete kan alltså leda till att lärare missar vissa elevers kunskapsluckor. Som
lärare kan man givetvis förhindra detta genom att exempelvis låta eleverna arbeta i par men
genomföra examinationsmomentet enskilt. På så vis drar man nytta av alla de fördelar
samarbete innebär och undviker eventuella kunskapsluckor.
En svårighet som redovisas i denna litteraturstudie är att kunna anpassa undervisningen i
klassrummet då eleverna är på olika nivå eller lär sig olika snabbt. Det finns inga riktlinjer om
vilket programmeringsspråk lärare bör undervisa i, vilket gör att en intressant aspekt att
diskutera är de olika kunskapsnivåerna i klassrummet som råder på grund av att elever har
programmerat i olika språk tidigare. Vissa elever kan vara bekanta med det
-
34
programmeringsspråk läraren väljer att använda medan det för andra är helt främmande. En
del elever har endast blockprogrammerat och en del elever har endast programmerat i
textbaserade program tidigare. Då uppstår frågan om hur ska lärare utforma sin undervisning
på ett sätt så alla elever känner sig stimulerade och utmanade samtidigt som man försöker
minska kunskapsgapet i klassen?
Baserat på resultatet från denna litteraturstudie vill jag nu rekommendera ett sätt för lärare att
utforma sin programmeringsundervisning med hjälp av de lokaliserade
undervisningsmetoderna och i relation till de möjligheter och svårigheter som har identifierats
i studien. Alla undervisningsmetoder har givetvis sina fördelar och kommer fungera olika bra
i olika klassrum. Med det sagt så vill jag dock förespråka en undervisningmetod som är en
kombination av samarbete och scaffolding. I denna studie har det framkommit att samarbete
är fördelaktigt för elevernas lärande och kan vara viktigt om kunskapsnivåerna är varierande i
klassrummet då eleverna lär sig av varandra. Scaffolding förespråkas då denna metod har en
positiv effekt på elevernas problemlösningsförmåga och i kursplanen ligger programmering
under just problemlösning. Denna metod är även väldigt anpassningsbar. Läraren väljer
vilken halvfärdig kod elever ska färdigställa, hur många fel som existerar i koden och vilken
svårighet eleverna ska möta. Detta gör att lärare verkligen kan anpassa undervisningen efter
elevernas behov och kunskapsnivå.
Genom denna litteraturstudie blir det tydligt att matematiklärare behöver öka sin kompetens
genom utbildning och tydligare riktlinjer behövs för att hjälpa lärare på vägen. Med ökad
kompetens försvinner till viss del osäkerheten som infinner sig i lärarkåren idag då lärarna får
större självtillit och kan utbyta kunskaper med varandra. När ämneskompetens finns blir det
lättare för lärare att göra didaktiska val samt planera undervisningen och integrera
programmering på ett bra sätt för just deras klass.
6.3 Förslag på vidare forskning
Integreringen av programmering i matematiken är nytt i Sverige och ytterligare forskning
inom detta område vore intressant. Framförallt skulle det vara önskvärt att studier görs i de
äldre åldrarna endast, då mycket av den forskning som hittades och presenteras i denna studie
-
35
gäller ett stort åldersspann och inte endast gymnasiet. Det hade även varit intressant med
ytterligare forskning kring textbaserad programmering, både hur den bör undervisas och
effekterna av den. Det finns många studier om endast blockprogrammering samt en hel del
om programmering generellt men utbudet av studier som handlar endast om textbaserad
programmering i skolan är mycket begränsat.
-
36
7. Referenser
Braun, V., & Clarke, V. (2006). Using thematic analysis in psychology. Qualitative Research
in Psychology, 3(2), 77–101.
Bråting, K., Kilhamn, C., & Rolandsson, L. (2020). Integrating programming in Swedish
school mathematics: description of a research project. Sustainable Mathematics Education in
a Digitalized World.
Eriksson Barajas, K., Forsberg, C. & Wengström, Y. (2013). Systematiska litteraturstudier i
utbildningsvetenskap – Vägledning vid examensarbeten och vetenskapliga artiklar.
Stockholm: Natur och Kultur.
Friberg, F. (2017). Tankeprocessen under examensarbete. I Febe Friberg (red.). Dags för
uppsats – Vägledning för litteraturbaserade examensarbeten. (37–48). Lund: Studentlitteratur
AB.
Govender, I. (2006). Learning to Program, Learning to Teach Programming: Pre- and In-
service Teachers’ Experiences of an Object-oriented Language. University of South Africa.
Humble, N., Mozelius, P., & Sällvin., L. (2020). Remaking and reinforcing mathematics and
technology with programming – teacher perceptions of challenges, opportunities and tools in
K-12 settings. The International Journal of Information and Learning Technology, 37(5),
309–321.
Lärarnas Riksförbund. (30 april 2020). Programmering – en skolreform utan program.
https://www.lr.se/opinion--debatt/undersokningar/2020/2020-04-30-programmering---en-
skolreform-utan-program
Nationalencyklopedin. (2020a). Syntax.
https://www.ne.se/uppslagsverk/encyklopedi/lång/syntax-data
-
37
Nationalencyklopedin. (2020b). Programmering.
https://www.ne.se/uppslagsverk/encyklopedi/lång/programmering
Psycharis, S., & Kallia, M. (2017). The Effects of Computer Programming on High School
Students’ Reasoning Skills and Mathematical Self-Efficacy and Problem
Solving. Instructional Science: An International Journal of the Learning Sciences, 45(5),
583–602.
Saeli, M., Perrenet, J., Jochems, W. M. G., & Zwaneveld, B. (2011). Teaching Programming
in Secondary School: A Pedagogical Content Knowledge Perspective. Informatics in
Education, 10(1), 73–88.
Sentance, S., & Csizmadia, A. (2016). Computing in the curriculum: Challenges and
strategies from a teacher’s perspective. Education and Information Technologies,22(2), 469–
495.
Skolverket. (2017). Ämne – Matematik.
https://www.skolverket.se/undervisning/gymnasieskolan/laroplan-program-och-amnen-i-
gymnasieskolan/gymnasieprogrammen/amne?url=1530314731%2Fsyllabuscw%2Fjsp%2Fsu
bject.htm%3FsubjectCode%3DMAT%26tos%3Dgy&sv.url=12.5dfee44715d35a5cdfa92a3
Helenius, O., Misfeldt, M., Rolandsson, L., & Ryan, U. (2018a). Om programmering i
matematikundervisning. Skolverket.
Helenius, O., Misfeldt, M., & Rolandsson, L. (2018b). Att undervisa i programmering.
Skolverket.
Larsson, Å. (2017). Nu införs programmering i matten. Skolvärlden.
https://skolvarlden.se/artiklar/nu-infors-programmering-i-matten
Wallin, F. (2017). De jobbar bort rädslan för programmering. Skolvärlden.
https://skolvarlden.se/artiklar/de-jobbar-bort-radslan-programmering
-
38
Vinnervik, P. (2020). Implementing programming in school mathematics and technology:
teachers’ intrinsic and extrinsic challenges. International Journal of Technology and Design
Education. https://doi-org.e.bibl.liu.se/10.1007/s10798-020-09602-0