Ohjelmoinnin opetusta kouluissa

Tänä syksynä ohjelmoinnin opetus on ollut esillä mediassa useampaan otteeseen. Viimeisimpänä on uuden opetussuunnitelman luonnos, jossa ohjelmoinnin opetusta on nostettu esille. Tästä on noussut keskustelua* siitä mitä se ohjelmointi oikeastaan on ja miksi sitä pitäisi nyt kouluissa opettaa?  Keskustelusta inspiroituneena päätin kirjoittaa vapaamuotoisesti hieman omia ajatuksiani asiasta. Kysymystä ohjelmoinnin opetuksen tärkeydestä voidaan toki tarkastella usealta eri kannalta. Ehkä nopeiten mieleen tulee työelämän oma kanta ja suomalaisen peliteollisuuden tämänhetkinen noste: koulujen olisi hyvä opettaa ohjelmointia, jotta kykenisimme paremmin vastaamaan työelämän kasvaviin ohjelmoijatarpeisiin. Tämä näkemys on kuitenkin yksipuolinen ja melko kapea. Vaikka peliteollisuus Suomessa kasvaisikin tärkeäksi työllistäjäksi ei se ehkä yksinään riitä perustelemaan uuden oppiaineen syntyä. Ohjelmointia voidaan perustella sen ominaisuuksilla: se kasvattaa ongelmanratkaisutaitoja, loogista ajattelua, matemaattisia taitoja, taiteellisia taitoja ja jopa onnistuu näiden integroinnissa. Ei mikään pieni asia tämä. Varsinkin kun ohjelmointi yhdistetään fyysiseen maailmaan (esimerkiksi arduinon avulla, kuten vaikka Jouni Korhosen esimerkissä) ja otetaan mukaan peruskoulussa vielä käsityöt ja elektroniikka niin pääsemme ohjelmoimaan robotteja tai omia älyvaatteita. Voi kuulostaa ufoilulle, mutta on itseasiassa aivan mahdollinen ja realistinen projekti toteuttaa peruskoulussa. Omasta mielestäni silti tämäkään ei ole se tärkein asia miksi ohjelmointia pitäisi opettaa kouluissa. Asiaa kannattaisi katsoa kenties hieman laajemmasta näkökulmasta ja miettiä miten maailma jossa elämme toimii? – Herätessämme aamulla painamme kahvinkeittimemme napin päälle ja kahvinkeitin keittää meille aamukahvin, television kaukosäätimestä painamalla saamme television päälle, katsomme kenties tabletilta uutiset, sähköpostit, viestit, sään jne… Työmatkalla auto varoittaa että turvavyö ei ole päällä tai jos matkaamme bussilla bussikortti piippaa lukijassa merkiksi veloitetusta matkasta, työpaikan ovet avautuvat kortinlukijalla, kaupankassalla ostokset luetaan viivakoodinlukijalla… -listaa voisi jatkaa loputtomiin. Koko yhteiskuntamme toimii digitaalisen tekniikan varassa. Ja tulevaisuudessa vielä enemmän varsinkin, jos ,ja kun robotiikka alkaa korvaamaan yhä useampia ammatteja, samalla kun yhä useammat palvelut ovat automatisoituja tai toimivat osittain automatisoidusti. Yhteistä kaikelle tälle digitaaliselle tekniikalle on se että ne ovat luonteeltaan ohjelmoituja.  Kuinka nopeasti vesi tippuu kahvinkeittimessä, kuinka ärsyttävä on auton varoitusääni, miten hyvin sähköpostimme toimii jne… Digitaalinen tekniikka on ennalta jonkun päättämää ja määrittämää. Se että sähköpostimme asetusviidakko on käsittämätön, tai VR:n lippujärjestelmä ei toimi oikein ei edusta objektiivista totuutta vaan muutaman koodarin päätöksiä ja oletuksia. Näillä muutaman henkilön tekemillä päätöksillä on kuitenkin valtavia vaikutuksia jokapäiväiseen elämäämme. Tiedostamalla ohjelmoinnin kaikkiaallisuuden sekä sen ettei ohjelmointi ole arvovapaata tuo esille mielestäni ohjelmoinnin opetuksen tärkeimmän syyn: Digitaalisen tekniikan ohjelmoitu luonne tekee ohjelmointia ymmärtävistä ja ymmärtämättömistä eriarvoisia. Ja mitä enemmän siirrymme digitaaliseen yhteiskuntaan sitä suuremmaksi tuo eriarvoisuus syvenee. Ohjelmoinnin opetuksen tärkein elementti ei mielestäni siis ole se, että opetamme lapsistamme ohjelmoijia peliteollisuuteen, vaan se että opetamme heistä täysivertaisia digitaalisen ajan kansalaisia, jotka pystyvät ymmärtämään mitä heidän ympärillään tapahtuu. Sillä ilman tätä ymmärrystä heidän on vaikea vaatia muutosta tai kritisoida ympäristöä tai yhteiskuntaa.** Ohjelmoinnin opetusta voisi kenties kutsua ohjelmoinnin lukutaidon*** opetukseksi? Netissä: http://www.tietoviikko.fi/kaikki_uutiset/ministeri+ohjelmointi+tulee+peruskouluihin/ http://www.edutopia.org/blog/code-literacy-21st-century-requirement-douglas-rushkoff http://readwrite.com/2012/05/17/computer-programming-for-all-a-new-standard-of-literacy#awesm=~onF8LU3YF4gz5F  * Esimerkiksi Facebookin Tieto- ja Viestintätekniikka opetuksessa ryhmässä: https://www.facebook.com/groups/237930856866/# ** Tässä miellän opetuksen tehtäväksi sekä kasvattamaan yhteiskunnan jäseneksi, myös kasvattamaan oppilasta sellaiseksi jäseneksi, joa käystyy muokkamaan yhteiskuntaa ja osallistumaan yhteiskunnan kehitykseen tasavertaisena jäsenenä. Eli käsitykseni on kriittisen pedagogiikan peruja Henry Girouxin mukaan. (Ks. esim. Henry Giroux: On Critical Pedagogy) *** Ohjelmoinnin lukutaidon englanninkielistä termiä Code literacy käyttää ainakin mediateoreetikko Douglas Rushkoff, jonka hieman kärjistyneet tekstit ovat ihan ok luettavaa aiheeseen. Katso esimerkiksi: Program or be programmed, Ten Commands for a Digital Age. Käytännön esimerkkejä antaa esimerkiksi Libow Martinez & Stagerin kirja: Invent to Learn: Making, Tinkering and Engineering in the Classroom. Koodin vallasta kirjoitti ansioituneesti jo Lawrence Lessig kirjassaan Code and other Laws of Cyberspace. Mielenkiintoinen kirja edelleenkin!

Comments are closed.