Digitaalisuus on yksi aikamme suurista ilmiöistä ja vaikuttaa miltei kaikkeen tekemiseemme. Mutta mikä kaikki on digitaalista? Miten digitaalisuus ilmenee arjessamme? Tietokoneet ja älypuhelimet ovat ilmiselvästi digitaalisia, mutta niin ovat myös bussiliput, kauppojen kassat, tehtaat, virastojen lukot ja kodinkoneet. Analogiset koneet alkavat olla historiaa ja vaikkapa filmikameroissa on jo nostalgian tuntua. Miellämme video- ja kuvanmuokkausohjelmat digitaalisiksi, yhdessä digikameroiden ja erilaisten kuvapalveluiden kuten Instagramin kanssa. Mutta pohdimmeko riittävästi mitä tuo digitaalisuus merkitsee ja mitä on käyttämiemme palveluiden ja ohjelmien takana?
Digitaalisuuden ykköset ja nollat
Digitaalinen tekniikka on aina ohjelmoitua ja sen takana on koodia, olipa kyseessä älypuhelimen sovellus tai kodinkone. Digitaalisuuden kaikkiallisuus ja ohjelmoitu luonne erottaa digitaalisen teknologian muista teknologioista. Mediatutkija Douglas Rushkoffin mukaan digitaalisuus on diskreettiä ja ehdotonta. Digitaalisuuden binäärinen luonne, ykkönen ja nolla, kyllä tai ei, voimistaa ääripäitä. Digitaalisuudessa minulla on joko hattu päässä tai pois päästä, mutta ei välivaiheita. Voimme toki lisätä resoluutiota ja tuoda välivaiheita näkyviksi, mutta ne eivät muuta perusperiaatetta. Toisaalta digitaalisuuden keskeinen rooli arjessamme luo myös epätasa-arvoa niiden välille jotka ymmärtävät koodia ja niiden jotka eivät. Tunnettu digitaalisten oikeuksien puolestapuhuja, professori Lawrence Lessig, esitti jo 90-luvun lopussa että ”Code is law” (Koodi on laki). Koodilla luodaan arkkitehtuuria ja rakenteita, jotka määrittelevät sen mitä voimme niiden sisällä tehdä.
Käännettynä kuvataiteen kielelle voisimme ajatella ohjelmistoja esimerkiksi valmiiksi valittuna väripalettina tai liitulajitelmana ja koodia ikään kuin niiden ”perustasona”: pigmentteinä, sidosaineina ja siveltiminä. Kummallekin on kuvataideopetuksessa tarpeensa, mutta jos käytämme vain valmiita pakkauksia, näkymämme rajautuu niissä tarjottuihin mahdollisuuksiin.
Taidekasvatuksella tuetaan oppilaan kriittisen ajattelun kehittymistä, joka edellyttää laatikon ulkopuolelle katsomista ja käytetyn teknologian tarkastelua.
Usein koodi mielletään matemaattiseksi ja mielikuvituksettomaksi asiaksi. Koodi onkin täsmällinen matemaattinen kieli. Tämän lähtökohdan voi nähdä tukevan perinteistä ohjelmoinnin opetusta, jossa harjoitellaan toimintaohjeiden tarkkaa antamista, testaamista ja korjaamista. Ohjelmoinnin opetuksessa tehdään usein ensimmäisenä harjoitustehtävänä laskukone, tai vastaava matemaattisia suorituksia automatisoiva ohjelma. Kuvataiteen opetuksessa abstraktista koodista voitaisiin luoda jotain käsinkosketeltavaa, kuten esimerkiksi oma piirrosohjelma. Vaikka koodi onkin abstrakti, ja usein tekstiin perustuva järjestelmä, sillä luodut ohjelmat voivat olla visuaalisesti moninaisia. Kuvataiteelle luontainen abstraktin ja tuntemattoman käsitteleminen virheitä pelkäämättä on erinomainen pohja ohjelmoinnille! Kuvataideopetuksessa ohjelmointia voidaan lähestyä matemaattisten tehtävien sijaan luovuuden näkökulmasta.
Ohjelmointia kuvataiteessa voisikin ajatella ”puhtaana kankaana”, jolle voi luoda mitä erilaisimpia töitä. Koodi mahdollistaa erilaisen ilmaisun, samoin kuin vesiväri mahdollistaa öljyväreistä poikkeavan ilmaisun. Värin sijaan materiaalina on koodi.
Kun ohjelmointi nähdään kuvataideopetuksessa yhtenä luovan toiminnan muotona, voidaan sillä myös vahvistaa oppilaan havaintoja ja näkemyksiä digitaalisesta maailmasta. Kuvataide voi toimia erinomaisena alustana käsiteltäessä digitaalisuuteen kytkeytyviä eettisiä, moraalisia ja yhteiskunnallisia kysymyksiä: Mitä on avoin tai suljettu koodi? Miten tämä koodi vaikuttaa elämääni? Kuka päättää millaisia ohjelmia käytämme? Miten koodi vaikuttaa minuun elämääni? Entä miten yleisemmin ohjelmointi vaikuttaa yhteiskuntaan ja edelleen muuttaa kulttuuria? Näitä kysymyksiä voidaan käsitellä kuvataiteessa ohjelmoimalla, tekemällä kooditaidetta, joka samanaikaisesti kartoittaa tekijän kokemusta ja pureutuu näihin ongelmiin. Mahdollisuudet ovat suuret!
Miten sitten voimme koodata kuvataiteessa? Ensimmäisenä meille saattaa nousta ajatus ohjelmoinnin oppimisen vaikeudesta tai omasta kyvyttömyydestämme ohjelmoida. Tällaiset ajatukset on melko helppo muuttaa. Ohjelmoinnissa pääsee alkuun ilman vuosien kokemusta ja olematta valmis ohjelmoija, aluksi riittää, että oppii pari komentoa. Taiteilijana pääsee vieläkin helpommalla, koska virheiden tekeminen ei ole vain sallittua, mutta myös suotavaa! Visuaaliselle alalle löytyy omia ohjelmointikieliä, kuten avoimen lähdekoodin Processing tai vaikkapa nuoremmille sopiva Scratch, jolla pääsee nopeasti ja helposti alkuun. Näissä kielissä jopa virheet saattavat tuottaa hienoja lopputuloksia. Processing-kieli pohjaa yleiseen Java-ohjelmointikieleen, jolle löytyy luonnollisesti käyttöä myös kuvataiteen ulkopuolella.
Processing-kielelle on olemassa myös verkkopohjainen openprocessing.org ja sketchpad.cc -palvelu, jolloin ohjelmointi onnistuu suoraan verkkoselaimelta ja opettaja voi luoda vaikka oman luokan ja gallerian. Toisena ja mielenkiintoisena vaihtoehtona voidaan ohjelmointiin jo alkuvaiheessa liittää elektroniikkaa, jolloin on mahdollista luoda mielenkiintoisia interaktiivisia installaatioita, tai vaikkapa piirustusrobotti oman ilmaisun kumppaniksi.
Kun ohjelmointiin otetaan mukaan fyysinen taso, esimerkiksi rakentaen piirustusrobotteja tai ohjelmoituja valoja, voi tämä osaltaan auttaa ohjelmoinnin ymmärtämisessä ja sen laajentamisessa: Ohjelmoinnista tulee näin konkreettista toimintaa ja se jalkautuu tekijän maailmaan. Esimerkiksi avoimeen lähdekoodiin perustuva Arduino tarjoaa lukuisia mahdollisuuksia tähän. Arduino on sekä pieni mikrokontrolleri (ohjelmoitu yksinkertainen tietokone) että ohjelmointikieli. Arduino tarjoaa opetukseen paljon mahdollisuuksia päälle puettavasta elektroniikasta aina robotteihin saakka. Lisäksi sen käytön tueksi on saatavilla runsaasti opetusmateriaalia ja laaja käyttäjäyhteisö. Kuten Processingin, myös Arduinon ohjelmointikieli on melko yksinkertainen, joten alkuun pääsee nopeasti. Kun oppilaiden itsekirjoittama koodi saa valot syttymään tai moottorin pyörimään, on riemu käsin kosketeltavaa!
Processingin ja Arduinon lisäksi löytyy paljon muitakin ohjelmointikieliä, jotka keskittyvät esimerkiksi musiikkiin ja videonkäsittelyyn (Puredata). Myös varhaisiän kasvatukseen ja alkuopetukseen löytyy mahdollisuuksia, esimerkiksi ScratchJr pohjautuu selkeisiin kuviin ja symboleihin, jolloin omien ohjelmien tekeminen onnistuu myös pienemmiltä. Kaikki edellä kuvatut esimerkit perustuvat avoimeen koodiin ja elektroniikkaan. Avoimuuden etuna on se, että kaikkea tekemäänsä voi muokata ja jakaa vapaasti. Lisäksi avoimet ohjelmat ovat usein ilmaisia tai melko edullisia. Vapaasta elektroniikasta puhutaan usein vapaana rautana (open hardware), jolloin laitteen kaikki tiedot ovat tarjolla kaikille. Tämä mahdollistaa siinä käytettyyn elektroniikkaan ja ohjelmointikieleen perehtymisen. Vapaan elektroniikan käyttö pitää yleensä kustannukset kohtuullisina, mikä voi tarjota oppilaille mahdollisuuden jatkaa työn kehittämistä omaehtoisesti kotona.
Siinä missä Instagrammit, Snapchatit ja Photoshopit toimivat välineinä nykyajan kuvallisen kulttuurin ja kuvan käytön moninaisuuden ymmärtämisessä, tarjoaa ohjelmointi uusia tapoja tuottaa omia kuvia. Koodin kieli tarjoaa erilaisen lähestymistavan ja monipuoliset mahdollisuudet ilmaisulle. Mitä on koodilla tuotettu kuva? Jos teen robotin, joka piirtää puolestani, niin kuka on silloin kuvan tuottaja? Entä jos olet itse tehnyt valokuvan editointiohjelman. Miten teit tuon ohjelman? Saanko nähdä sen koodin? Haluatko jakaa sen ja kenelle? Voivatko muut muokata sitä? Ohjelmoinnin ja elektroniikan käyttö opetuksessa voi näin toimia yhteiskunnallisen keskustelun ja eettisen pohdinnan käynnistäjänä. Tällöin olemme jo todella pitkällä kriittisessä ajattelussa digitaalisella aikakaudella!
Tomi Dufva, TaM, tutkija, Aalto-yliopisto
Kirjoittaja on yksi Käsityökoulu Robotin perustajajäsenistä.
Kirjallisuutta
Käsityökoulu Robotti. Robo1 : Elektroniikkaa ja askartelua, 2016
Käsityökoulu Robotti. Robo2: Elektroniikkaa ja ohjelmointia, 2017
Lessig, L. 2009. Code 2.0, CreateSpace.
Libow Martinez, S. & Stager, G. 2013. Invent to Learn. Edited by Clara Sinclair. 1st ed., Constructing Modern Knowledge Press.
Rushkoff, D. 2010. Program or Be Programmed, OR Books.
Shiffman, D. 2012. The Nature of Code, Simulating Natural Systems with Processing.
Turkle, S. 2011. Alone Together:, Basic Books, Inc.
Vadén, T. & Stallman, R. M. 2002. Koodi Vapaaksi.