Predict, Run, Investigate, Modify, Make
•PRIMM – «Predict, Run, Investigate, Modify, Make»
Predict
Forutse: Elevene skal ser på koden og prøve å forstå hva som vil skje. Kan gjøres i par. Kan også være en oppstart eller en hel økt.
Run
Kjør kode: Koden kjøres for å sjekke hva som skjer, og om antakelsene stemmer. Koden skal lastes ned og ikke skrives inn. Da slipper man skrivefeil som kan frustrere.
Investigate
Undersøke: En variert økt der elevene gjennom forskjellige aktiviteter ser hva som skjer i programmet. For eksempel ser hva som skjer linje for linje, forklarer, kommenterer i koden, debugger, mens hele tiden er koden komplett i form av en fasit som fungerer.
Modify
Modifisere: Forandre på kode og se om ting fremdeles fungerer. Forandre på større strukturer og lage større forandringer. Her er mulighetene for differensiering store. Lærer kan gi hint/oppgaver underveis og elevene kan gradvis gjøre forandringer som gjør at programmet blir gradvis mer eget.
Make
Lage: Elever lager et nytt program som bruker den samme strukturen, men løser et annet problem.
Sosiokulturelt perspektiv
Undervisning i programmering fra et sosiokulturelt perspektiv kan ifølge Sentance (2019, s. 146), formuleres i tre prinsipp:
1.Mediering gjennom språk – at elevene diskuterer med hverandre om ulike strategier for å løse et problem, gjennom for eksempel parprogrammering eller samarbeid rundt deler av programmeringskode.
2.Bruk av allerede programmerte eksempler som ikke ennå er forstått av elevene. Stillasbygging benyttes for å sikre at de er i ZPD. Her kan man øke kompleksiteten etter hvert som selvsikkerhet og internalisering av kunnskap øker.
3.Læreren (den voksne med kunnskap) – er i dette tilfellet stillaset som bidrar til at eleven er i ZPD. Eleven kan også settes sammen med en annen elev som er mer kompetent. Det er viktig at gapet ikke er for stort mellom elevene.
(Sentance et al., 2019, s. 146–147)
Par-programmering
Er i tråd med et sosiokulturelt læringssyn, og hvorav to og to samarbeider; en skriver kode og en holder oversikt over retning og plan. Som en «Pilot og navigatør», hvor pilot skriver kode og navigatøren viser vei, sjekker at man holder seg til planen og holder oversikt. Rollene kan byttes etter feks 30 minutter eller fra økt til økt.
Høy grad av tilfredshet
- Partene i paret bør passe sammen. Personer med høyt ego eller sterke meninger kan føre til mis-match
- «Jeg lærte mer fordi jeg par-programmerte. Skala 1 – 7, scoret studenter 5.07.(bra)
- Jenter 14år, merket økt motivasjon, fokus og oppmuntring. Økt sosialisering, økt forståelse og man har hjelp i sin læringspartner.
- 90% av 41 informanter rapporterer at de likte parprogrammering bedre en solo-programmering.
(Hannay et al., 2009, Williams et al., 2000)
Hannay, J. E., Dybå, T., Arisholm, E., & Sjøberg, D. I. K. (2009). The effectiveness of pair programming: A meta-analysis. Information and Software Technology, 51(7), 1110–1122. https://doi.org/10.1016/j.infsof.2009.02.001
Janet Liebenberg, Elsa Mentz & Betty Breed (2012) Pair programming and secondary school girls’ enjoyment of programming and the subject Information Technology (IT), Computer Science Education, 22:3, 219-236, DOI: 10.1080/08993408.2012.713180
Sentance, S., Waite, J., & Kallia, M. (2019). Teaching computer programming with PRIMM: a sociocultural perspective. Computer Science Education, 29(2-3), 136-176.
Sentance, S & Waite, J 2017, PRIMM: Exploring pedagogical approaches for teaching text-based programming in school. in Proceedings of the 12th Workshop in Primary and Secondary Computing Education: WIPSCE ’17. Nijmegen. DOI: 10.475/123\_4
Williams, L., Kessler, R. R., Cunningham, W., & Jeffries, R. (2000). Strengthening the case for pair programming. IEEE software, 17(4), 19–25.