Gå til hovedinnhold
Programmerte linjer, former og flater.

Programmering i kunst og håndverk

«Når elevene lærer om programmering i kunst og håndverk kan de være med i diskusjonen, utviklingen og bruken av slike plattformer», skriver Stephanie C. Hoebeke. I denne artikkelen forklarer hun nøkkelbegreper og diskuterer hvorfor programmering blir en viktig del av kunst og håndverksfaget i fagfornyelsen.

Artikkelen baserer seg på Hoebekes masteravhandling «Programmering i kunst og håndverk». Hoebeke er utdanna lektor i design, kunst og handverk ved OsloMet, mai 2019.

Tekst: Stephanie C. Hoebeke

De fleste fagfelt påvirkes av den teknologiske utviklingen på en eller annen måte, og nye fagområder og retninger har oppstått. Dette gjelder også innen kunst, design og håndverk. Eksempler på dette er webutvikling, spillutvikling, apputvikling, interaktiv media, multimedia, generativ kunst og new media art. Som følge av dette er det også utviklet programvare som endrer hva som er mulig å få til og som påvirker hvordan det arbeides innenfor kunst- og designfeltet.

Med fagfornyelsen blir programmering, koding og algoritmisk tankegang en sentral diskusjon for hele grunnutdannelsen. I de nye lærerplanene, som tas i bruk høsten 2020, er dette implementert i ulike fag med ulik tyngde, også i kunst og håndverk (Kunnskapsdepartementet, 2017). Argumentene handler om at kompetanse i programmering og algoritmisk tankegang er viktig for fremtiden og essensielle for det 21. århundre.  Videre argumenteres det for næringslivets behov for mennesker med ferdigheter i programmering, samt at elevene må ha en forståelse for et stadig mer digitalisert samfunn.

Med dette som utgangspunkt ble problemstillingen formulert: Hvilke mulige årsaksforklaringer kan belyse hvorfor programmering skal implementeres i kunst og håndverk på grunnskolen?

Hvilke mulige årsaksforklaringer kan belyse hvorfor programmering skal implementeres i kunst og håndverk på grunnskolen?

Denne artikkelen gir et innblikk i resultatene fra undersøkelsene i masteravhandlingen. Det er viktig å presisere at kun argumenter for at programmering skal inn faget blir belyst her. Eventuell problematikk rundt implementeringen beskrives i selve masteren.

Hva er programmering?

For å kunne snakke om programmering, algoritmisk tankegang og koding må vi først få et innblikk i hva de ulike begrepene betyr og hva det er. Ta en titt på videoen under, og få en innføring i begrepene og ulike programmeringsspråk i teksten som følger.

Kilde: https://www.youtube.com/watch?v=N7ZmPYaXoic

Programmering 

Et av de viktigste kjennetegnene på programmering er at brukeren ikke deltar direkte i manipulasjon. Dette betyr at man må gjøre noen handlinger på forhånd, for så å se hvordan resultatet blir. Tenk deg at du arbeider i programvaren Paint, som er et enkelt tegneprogram. Når du har valgt farge og tykkelsen på pennen og tegner på den hvite bakgrunnen kan du se resultatet med en gang. Ved programmering er dette annerledes. Her må du først kode farge og tykkelse på pennen, for så å skrive en kode som representerer de linjene som du ønsker skal bli tegnet, uten å se dem! Det er først når du starter koden din, at du kan se linjene dukke opp på skjerm. Et av de viktigste kjennetegnene på programmering er altså at handlingene blir skrevet i kode først, mens resultatet vises når man kjører koden etterpå (Duncan, Bell & Tanimoto, 2014). Man kan også forstå programmering som å bryte et gitt problem i mindre deler. Delene gjøres om til kommandoer som en datamaskin kan forstå og utføre (Sanne et al., 2016, s. 18).

Algoritmisk tankegang

Algoritmisk tankegang betyr at man kan løse et problem ved at man definerer en algoritme. En algoritme er en oppskrift eller et løsningsforslag til et problem. Tenk deg at du skal lage en krakk. Hvordan skal de ulike komponentene se ut og hvordan skal du gå frem for å sette sammen krakken? Det kan tenkes at du først ønsker å lage fire bein som er like, før du lager et sete. Deretter tenker du å lage hull til beina og bruke trelim for  å lime beina fast til setet. Du har nå laget et enkelt løsningsforslag, som kan ansees som en algoritme. Strikking kan være et annet eksempel på en algoritmisk handling, der du for eksempel strikker fem rette masker og så fem vrange. For å utvikle algoritmisk tankegang trenger man ikke å programmere, men programmeringen kan fungere som en plattform til å utvikle algoritmisk tankegang (Sanne et al., 2016; Wing, 2006).

Koding

Koding blir ofte brukt som et synonym til programmering. Det kan likevel være lurt å skille begrepene fra hverandre. Koding handler om ferdigheten «å skrive kode», og dermed blir koding en gjennomføringsdel av programmeringen. I undervisningssammenheng er det viktig å skille begrepene fra hverandre. Hvis koding kun betyr å taste inn riktig syntaks, kan dette føre til at elevene kun lærer å bruke eksisterende koder. Hvis koding derimot er en del av programmering, vil det å lære koding også bety at en elev må kunne skape nye koder.

Programmeringsspråk

Det er estimert at det finnes over 2000 programmeringsspråk, som bygger på hverandre eller er en videreføring av et annet programmeringsspråk. Disse kan deles inn på ulike måter. Tekstbasert og blokkbasert (grafisk) programmeringsspråk er en måte å dele inn på.

Blokkbasert programmering går ut på å bruke visuelle blokker som sammenkobles, slik at man får større blokker og programmer, se figur 1. Dette kan gjøres i Scratch, Snap, BBC micro:bit, Alice, Greenfoot etc. (Nygård, 2018).

Form og koding i Scratch.
Figur 1: Blokkbasert programmering i Scratch og detalj av kode til mønster, S. Hoebeke

Ved tekstbasert programmering bruker man tekst i form av bokstaver, tall og symboler, se figur 2. Koding går her ut på å skrive kommandoer som datamaskinen forstår. For at dette skal fungere er  det viktig å bruke riktig syntaks, det vil si å sette sammen ord, tall og symboler til setninger som datamaskinen forstår. Eksempler på språk er Python, Processing, p5.js, Java, C++, etc (Nygård, 2018).

Form som resultat av tekstbasert koding i Processinge
Figur 2: Tekstbasert programmering i Processing og detalj av kode av tilfeldige linjer, S. Hoebeke

De ulike programmeringsspråkene brukes til ulike funksjoner og plattformer. Noen programmeringsspråk  passer bedre til å utvikle programvare, som igjen kan brukes til å lage digitale produkter. Man kan for eksempel lage spill og animasjoner ved hjelp av programmeringsspråkene Scratch og Processing, se figur 3. Andre programmeringsspråk passer bedre til å utvikle fysiske produkter utenfor skjermens rammer, som for eksempel smarte tekstiler, lamper og roboter.

Figur 3: Animasjon av fargede sirkler, programmert i Processing (2019) S. Hoebeke

Hvorfor programmere i kunst og håndverk?

For å svare på hvorfor man skal programmere i kunst og håndverk er argumentene organisert i både indre og ytre kriterier. De indre kriteriene handler om begrunnelser knyttet til fagets egenart. Det betyr at kunst og håndverksfagets særegne natur ligger til grunn for argumentene. De ytre kriteriene handler om begrunnelser som forholder seg til samfunnsmessige og elevsentrerte mål, som angår kunst og håndverksfaget.  Under følger en oppsummering av argumentene som tilsier at programmering bør bli en del av faget. I selve masteravhandlingen diskuteres også sider ved det fagdidaktiske som vanskeliggjør programmering som en del av kunst og håndverksfaget, men dette utredes ikke her.

Indre kriterier

Noen programmeringsspråk kan gi mulighet for å lære i dybden innen sentrale områder i kunst og håndverk. Ved dybdelæring lærestoffet settes inn i en relevant og forståelig sammenheng. Det handler også om å lære noe grundig og ikke kun overfladisk (Gilje, Landfald & Ludvigsen, 2018; NOU2015:8). Her brukers programmering som et verktøy i faget for å få en dypere forståelse av sentrale begreper. I masteravhandlingen er dette eksemplifisert ved at mønstre, former og lysfarger bringes fram ved programmering. Programmeringsspråket p5.js er en mulig måte å gå i dybden og lære om blanding av lysfarger, som er et av kompetansemålene i LK06. I p5.js kan man velge å skrive inn RGB-kodene når man velger farge på en gjenstand. Denne øvelsen kan gi eleven en relevant innføring og forståelse av blanding av lysfarger og kan dermed fungere som et godt verktøy til praktisk forståelse av additiv fargeblanding. Illustrasjonen under viser et eksempel på hvordan man kan jobbe med utforsking av form. Prøv gjerne koden her for å få en forståelse for hva det kan være snakk om.

Geometriske former i ulike farger.
Figur 4, Utforsking av form, S. Hoebeke

Videre kan programmering åpne opp for en forståelse av det algoritmiske som ligger i faget. Algoritmisk tankegang knyttes ofte til realfag, men det betyr ikke at det ikke finnes algoritmiske trekk i kunst og håndverk. Eksempler kan være strukturer og mønstre i kunst, slik som for eksempel islamsk kunst, keltiske knuter, veve, hekle og strikke mønstre. Det kan også være handlinger som følger en algoritmisk oppskrift, slik som strikking, der man for eksempel har fem rette og fem vrange. Algoritmisk tankegang er også tett forbundet med ferdigheter for det 21 århundre. Shuchi Grover og Roy Pea har kartlagt ulike aspekter som kommer under algoritmisk tankegang (2013). Her kan blant annet abstraksjon og mønstergjenkjenning, systematisk prosessering av informasjon og strukturert problemløsning knyttes til kjerneelementet kunst- og designprosesser i læreplan for kunst og håndverk. Det samme kan iterativ, parallell og logisk tenkning. En iterativ designprosess handler om en stegvis prosess der man repeterer de ulike stegene for å få et ønsket resultat.

Kunst og designprosesser
Kjerneelementet kunst- og designprosesser innebærer at elevene skal utvikle nysgjerrighet, kreativitet, mot, skaperglede, utholdenhet og evne til å løse problemer. Kjerneelementet vektlegger både åpne og utforskende prosesser, og stegvise prosesser med utvikling og innovasjon som mål.

Under kjerneelementet håndverksferdigheter står det at elevene skal utvikle ferdigheter innen ulike redskaper og materialer.

Håndverksferdigheter
Kjerneelementet håndverksferdigheter innebærer at elevene skal utvikle håndlag, praktiske ferdigheter og utholdenhet ved å bruke ulike redskaper og materialer. Elevene skal utvikle forståelse for materialers egenskaper, funksjonalitet og uttrykk gjennom eget skapende arbeid. De skal bruke harde, plastiske og myke materialer og digitale verktøy på en etisk, miljøbevisst og trygg måte gjennom hele skoleløpe

Det som er unikt med bruk av programmering i kunst og håndverksfaget er at man kan se på programmering både som et verktøy, en metode og som et materiale.

Gjennom visuell kommunikasjon, form, farge og komposisjon kan vi styre møte mellom teknologien og mennesket.

Tre digitale bilder av kunstneren Aneders Hoff.
Den norske kunstneren Anders Hoff utforsker hvordan algoritmer kan brukes for å skape estetiske komposisjoner, strukturer og teksturer. Bildene er gjengitt med tillatelse.

Kreativ koding er et relativt nytt begrep som har oppstått som en konsekvens av den teknologiske utviklingen. Ved kreativ koding er formålet med programmeringen å skape noe estetisk og dermed faller funksjon bort (Artut, 2017: Knochel & Patton, 2015; Maeda, 2000; Reas & Fry, 2006). Dette betyr at man ikke arbeider med programvareutvikling lenger, siden programvare både må ha en funksjonell og estetisk side ved seg. Det er likevel viktig å lære elevene når det er mest hensiktsmessig å bruke ulike materialer. Programmeringens egenskap er at man kan gjøre mange operasjoner på veldig kort tid og skape visuelle uttrykk med iboende mønstre. Den norske kunstneren Anders Hoff utforsker hvordan algoritmer kan brukes for å skape estetiske komposisjoner, strukturer og teksturer. 

Figur 5: Cosinus og Sinus bølger, programmert i Processing
Figur 5: Cosinus og Sinus bølger, programmert i Processing, S. Hoebeke

En viktig dimensjon ved teknologien er hvordan vi mennesker møter den. Gjennom visuell kommunikasjon, form, farge og komposisjon kan vi styre møte mellom teknologien og mennesket. Torgeir Waterhouse, direktør for internett og nye medier i IKT-Norge (2017) sier om programmering i skolen «Det er mange som tror realfag blir det viktigste (…) men kunst og håndverk vil også bli sentralt, fordi det handler om møte mellom mennesket og produktet». Bestemmelsen av komponenter som form, farge og komposisjon ligger gjerne i algoritmene i koden eller i de fysiske produktene som blir programmerte og dette er med på å bestemme hvordan mennesker bruker teknologien. Elevene bør få bli kjent med denne siden av teknologien, og da trenger de kunnskap innen både kunst og håndverk og programmering.

Et kunst- og håndverksfag som relaterer seg til elevens hverdag

Undervisningspraksisen i faget kunst og håndverk bør gjenspeile den teknologiske utviklingen elevene møter i hverdagen. Ved å tilby programmering kan elevene utvikle forståelse for hvordan programvarer og teknologiske produkt, som de bruker hver dag, er bygget opp og fungerer. Elevene bør ikke bare vite hva denne teknologien er, men også få muligheten til selv å skape slik teknologi. Sanne et al. (2016) og Digitutvalget (2011) mener det er viktig at elevene ikke kun bli konsumenter av den nye teknologien, men også lærer å skape ny teknologi.

Elevene bør ikke bare vite hva denne teknologien er, men også få muligheten til selv å skape slik teknologi.

Ved å tilby programmering i kunst og håndverksfaget vil elevene lettere kunne se relevansen og viktigheten av design og kunst knyttet opp mot digitale og fysiske teknologiske produkter. Programmering kan fange oppmerksomheten til elever som kjeder seg i faget eller ikke får nok utfordringer. Det kan også føre til et bredere, mer mangfoldig og helhetlig syn på teknologi og programmering, som ikke kun omfatter realfag. En pågående problematikk i vesten er at jenter ikke velger informatikk i videre studier eller yrker. Ulik forskning viser at et skapende rammeverk rundt programmering kan ha en positiv effekt på jenter (Greenberg et al., 2012; Giannikos et al., 2014; Lau et al., 2009).

En viktig ferdighet for fremtiden

Kunst og håndverksfaget må også være med og bidra til å løse morgendagens utfordringer. Programmering og algoritmisk tankegang kan være en hjelp ved utfordringer knyttet til eldrebølgen, det grønne skiftet og endringer i arbeidsformer (Kunnskapsdepartementet, 2017). Programmering blir ansett som en svært tverrfaglig disiplin. Det er ikke lenger et verktøy for noen få fagfelt, men for mange.

Når elevene lærer om programmering i kunst og håndverk kan de være med i diskusjonen, utviklingen og bruken av slike plattformer.

Det er også er en økning i programvarer rettet mot kunst og design, men også programvarer som bruker kunstig intelligens til kreative formål eller prøver å etterligne kreativitet. Eksempler er Google sin Deep dream Generator (Arcas, 2016) eller Navida AI (Burns, 2019). Algoritmene bak programvarene er med på å styre hvordan de blir brukt av oss som forbrukere. Når elevene lærer om programmering i kunst og håndverk kan de være med i diskusjonen, utviklingen og bruken av slike plattformer.

Det utvikles stadig nye programmeringsspråk, som er rettet mot ulike fagfelt og grupper. Blokkbasert programmering, slik som Scratch og BBC microbit, har gjort det enklere for yngre og uerfarne til å lære seg å programmere.  Det er også utviklet programmeringsspråk som retter seg mot design og kunst disiplinene, slik som Processing og p5.js. Dette er også noe fagfeltet må ta stilling til.

Kritiske demokratiske skaperferdigheter

Å vokse oppi den digitale tidsalderen garanterer ikke at man utvikler gode ferdigheter innen det digitale. Forskning viser at elevene ikke er så flinke til å bruke det digitale verktøy og programvare på kreative, kritiske og problemløsningsorienterte måter (NOU 2013:2). I gjeldene læreplan er det fremhevet at elevene skal tenke kritisk over det visuelle i digitale medier. Dette bør utvides til også å omhandle programmeringen bak programvarer som elevene bruker. Algoritmene som ligger i programvarene er med på å styre hvordan vi som brukere benytter de ulike digitale plattformene og er med på å styre hverdagen vår.

Elevene må få en forståelse for og et kritisk blikk på algoritmene bak teknologiske produkter, slik at de kan være med på å skape digitale, demokratiske plattformer.

Aron D. Knochel og Ryan Guillard- Patton (2015) henviser til programmering som et kritisk språk og mener at kritisk tenkning er viktig for kritisk digital utvikling, også i kunstfagene. Kunst og håndverksfaget omhandler ikke kun trykte medier, men også algoritmer i sosiale medier. Design- og kunstbegrepet omhandler mer enn tradisjonelle materialer. Det handler også om møte med teknologi, som påvirker interaksjonen vi har med produktet eller kunsten. Dermed må elevene få en forståelse for og et kritisk blikk på algoritmene bak teknologiske produkter, slik at de kan være med på å skape digitale, demokratiske plattformer.

Kilder

Arcas, B. A. (2016, Mai). How computers are learning to be creative [Videoklipp]. Hentet fra https://www.ted.com/talks/blaise_aguera_y_arcas_how_computers_are_learning_to_be_creative

Artut, S. (2017). Incorporation of computational creativity in arts education: Creative coding as an art course. SHS Web of Conferences, 37, 01028. Hentet fra: https://www.researchgate.net/publication/319106738_Incorporation_of_computational_creativity_in_arts_education_Creative_coding_as_an_art_course

Burns, M (2019, 18. april) Nvidia Ai turns sketches into photorealistic landscapes in seconds. Techrunch. Hentet fra https://techcrunch.com/2019/03/18/nvidia-ai-turns-sketches-into-photorealistic-landscapes-in-seconds/?guccounter=1&guce_referrer_us=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_cs=o_ZupAZhyi0EP3_fJ6HjaA

Duncan, C., Bell, T. & Tanimoto, S. (2014, November). Should your 8-year-old learn coding?. Innlegg presentert ved 9th Workshop in Primary and Secondary Computing Education. Berlin, Tyskland. Hentet fra: https://dl.acm.org/citation.cfm?doid=2670757.2670774

Giannakos, M. N., Jaccheri, L. & Proto, R. (2013, April. Teaching Computer Science to Young Children through Creativity: Lessons Learned from the Case of Norway. Innlegg presentert ved Computer Science Education Research Conference (CSERC ’13), Arnhem, Nijmegen, Nederland. Hentet fra https://www.researchgate.net/publication/258010206_Teaching_Computer_Science_to_Young_Children_through_Creativity_Lessons_Learned_from_the_Case_of_Norway

Gilje, Ø., Landfald, Ø. F. & Ludvigsen, S. (2018, 29. november). Det er to grunner til at dybdelæring er viktig for elevenes fremtidige kompetanse. Utdanningsnytt. Hentet fra https://www.utdanningsnytt.no/bedre-skole/debatt/2018/november/dybdelaring–historisk-bakgrunn-og-teoretiske-tilnarminger/

Greenberg, I., Kumar, D. & Xu, D. (2012, Februar). Creative coding and visual portfolios for CS1. Innlegg presentert ved The 43rd ACM technical symposium on Computer Science Education, Raleigh, North Carolina, USA. Hentet fra: https://dl.acm.org/citation.cfm?doid=2157136.2157214

Grover, S., & Pea, R. (2013). Computational Thinking in K–12: A Review of the State of the Field. I Educational Researcher, 42(1), 38–43. Hentet fra http://doi.org/10.3102/0013189X12463051

Knochel, A., D. & Patton, R., M. (2015) If Art Education Then Critical Digital Making: Computational Thinking and Creative Code, I Studies in Art Education, 57(1), 21-38. Hentet fra https://www.tandfonline.com/doi/pdf/10.1080/00393541.2015.11666280?needAccess=true

Kunnskapsdepartementet. (2017). Fremtid, fornyelse og digitalisering. Digitaliseringsstrategi for grunnopplæringen. Hentet fra https://www.regjeringen.no/contentassets/dc02a65c18a7464db394766247e5f5fc/kd_framtid_fornyelse_digitalisering_nett.pdf

NOU 2013:2. (2013). Hindre for digital verdiskaping. Oslo: Fornyings-, administrasjons- og kirkedepartementet

Akerbæk, M & Karlsen, J. (2019). Koding som skapende og utforskende aktivitet. I Skaperglede, engasjement og utforskertrang, s. 143 – 159. Oslo: Universitetsforlaget

Anders Hoff, kunstner.
Kunstneren Anders Hoff undersøker hvordan algoritmer kan brukes for å skape estetiske komposisjoner, strukturer og teksturer.

Hvordan jobbe med algoritmisk tankegang i skolen?
Fra Udirbloggen

Kreativ koding blant barn og unge
Artikkel i Utdanningsforskning av Marius Akerbæk og Joakim Karlsen

Lær Kidsa Koding

Skaperskolen
Skaperskolen finnes i hele landet og er et samarbeid mellom de regionale vitensentrene og Naturfagsenteret.

Personvern og informasjonskapsler

På denne siden bruker vi informasjonskapsler (cookies) og andre teknologier for å tilby deg så hyggelig brukeropplevelse som mulig. Du kan lese mer her.