• No results found

Programmera mera i gymnasiets matematikkurser : En litteraturstudie om programmeringens möjligheter och svårigheter samt gynnsamma undervisningsmetoder

N/A
N/A
Protected

Academic year: 2021

Share "Programmera mera i gymnasiets matematikkurser : En litteraturstudie om programmeringens möjligheter och svårigheter samt gynnsamma undervisningsmetoder"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(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

(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

(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

(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

(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

(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

kod

Kompilering

Programmet

exekveras av

datorn

felmeddelande

Bild 2: Exempel på programmeringskod i JavaScript

(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

(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 träffar Antal Utvalda artiklar

UniSearch Teachers implementation AND programming school mathematics Peer-review 2015 och framåt 24 Vinnervik (2020) ERIC How to tech programming Peer-review 2010 och 20 Saeli, Perrenet, Jochmens, Zwaneveld

(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

(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

(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

(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

(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

(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.

(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

Instruktionsorienterad undervisning Kedjeinlärning Programming by demonstration Samarbete Projektorienterad undervisning Scaffoldning Samarbete

(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

(29)

på styrdokument och lärares otillräckliga kunskaper om programmering. En ökad

(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

(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

(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.

(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.

(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

References

Related documents

Additionally, other important aspects of the CORDIC rotators that can be found in the literature are the design of the basic CORDIC processor [2, 4, 5], the scale factor of the

2‐läges ventil Typiskt vanlig magnetventil ”fjäderstängande” säkert läge är stängd.    Ingångar  M  Driftmode Manuell  MST  Manuell Stäng 

I Socialstyrelsens rapport (2004 ) framkommer det att barnets syn inte alltid kommer fram i utredningarna, orsakerna till detta tror man bland annat beror på att det finns en

Alla föräldrar skall med samma förtroende kunna skicka sina barn till skolan, förvissade om att barnen inte blir ensidigt påverkade till förmån för den ena eller andra

Löwing och Kilborn (2002) förklarar att det laborativa materialets funktion endast är att lyfta fram sätt att tänka samt underlätta vid förklaring av något matematiskt.. på

Samverkan mellan skolan, förskoleklass och fritidshemmet är viktigt för att kunna skapa en verksamhet som ser till både individen och gruppens behov.. förskoleklass och

I föreliggande studie visade resultatet att sjuksköterskorna ansåg att en av de viktigaste delarna i den palliativa vården var att skapa goda relationer till sina patienter

Den kognitiva impulsiviteten kan även visas genom att barnet vid vissa förhållanden har svårt att kontrollera sina känsloyttringar, ofta överreagerar de ju äldre barnet blir