programmera mera i gymnasiets...

38
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

Upload: others

Post on 01-Feb-2021

2 views

Category:

Documents


0 download

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