Ohjelmoinnin perusopetuksessa näytetään ainakin erilaisten keskustelupalstojen mukaan kovasti korostettavan erilaisia välineitä: on robotteja, oppimispelejä, tabletteja ja kaikkea muuta. Ne välineet, joita opetuksessa juuri nyt näytetään käytettävän, korostavat ohjelmointia erityisesti tietokoneelle annettuina komentoina. Komentoja koneelle -retoriikka tuntuu usein myös olevan se käytetyin puhetapa lasten kanssa ohjelmoinnista keskustellessa. Voidaan tehdä peli, jossa hahmoa voidaan ohjata ja siis toisin sanoin komentaa.
Myös muodikas peliohjelmointi nähdään erityisesti siitä näkökulmasta, miten pelin hahmoja ohjataan tai miten pelin hahmoja voidaan piirtää erilaisilla ohjelmistoilla ja siirtää pelin osaksi. Voidaan miettiä, miten jokin pelin hahmo ääntelee pelin aikana ja äänittää tuo ääni. Edellä mainittu näkökulma on sekin komentoja koneelle -retoriikan kyllästämä.
Komentoja koneelle -retoriikka vie ajattelua kuitenkin sivuraiteelle, sillä ohjelmoinnissa ei ole niinkään kyse komentojen antamisesta, kuin tiedon käsittelemisestä. Komentoja koneelle -retoriikan ongelmana on, että se jättää varjoonsa sen tosiseikan, että tietokone on itse asiassa olemassa siksi, että se käsittelee nimenomaan tietoa, ei komentoja. Tietokone suorittaa komentoja, mutta komentojen tarkoitus on itse asiassa tiedon käsitteleminen tietyin ehdoin. On hyvä erottaa, mitä tietokone tekee ja mitä sillä tehdään.
Yhdeksi Suomen kansainvälisen kilpailukyvyn menestystekijäksi on nostettu tekoäly. Tekoälyssä ei ole niinkään kysymys koneen komentamisesta vaan tiedon käsittelemisestä. Jos havainto ei ole omiaan ohjaamaan koulutuspoliittisia sisältövalintoja, niin mikä sitten?
Tässä ei kuitenkaan kannata alkaa käsitepuristiksi, mutta on hyvä huomata, että käsitevalinnat ohjaavat myös pedagogisia sisältöjä, mikä näkyy mutkan kautta siinä miten suomalaiset ohjelmoinnin tulevaisuudessa mieltävät. Ohjelmointiin liittyy tiettyä yksikäsitteisyyttä ja ilmaisun selkeyttä, joten muotonsa puolesta siinä on paljon samaa matematiikan kanssa. Komentoja koneelle -retoristeille hyväntahtoisesti vinkkaisin, että ohjelmoinnilla on erittäin vankka matemaattinen perusta lambdakalkyylin muodossa. Kyseessä ei kuitenkaan ole kone, vaan malli siitä, miten lasketaan. Tietokonemaiselle suorittamiselle on malli, joka toimii myös hyvin ilman tietokonetta.
Hullunkurisinta ohjelmoinnin opetusta koskevassa keskustelussa on se valtava määrä erilaisia teknisiä välineitä, joiden takana on lupaus ohjelmoinnin oppimisesta muodossa tai toisessa. Kyse on siis muutaman peruskäsitteen oivaltamisesta ja kyseisten käsitteiden suhteista toisiinsa. Aikamoinen määrä teknologiaa tunnutaan tarvittavan tämän seikan havainnollistamiseksi?
Ohjelmoinnin perusajatus on kuitenkin esitettävissä muutamalla käsitteellä ja niiden välisillä suhteilla myös tiedon käsittelyn näkökulmasta. Miten tässä nyt näin kävi? Ei matematiikankaan opetuksessa puhuta jatkuvasti mitä erilaisimmista välineistä, vaan muutamista peruskäsitteistä ja pedagogiikasta niiden ympärillä. Arkinen opetustyö on näiden välineiden käyttämistä. Miten ohjelmoinnista on päässyt Suomessa tulemaan moinen välinemonsteri, jossa oikea käsi ei tunnu tietävän, mitä vasen tekee.
Puuttuuko meiltä Suomesta ohjelmoinnin opetuksen ympärillä perusteellisempi pohdinta siitä, mitä ohjelmointi itse asiassa on ja mitkä peruskäsitteet se pitää sisällään ja mikä asiassa on Suomen kannalta tärkeää?
On hyvä pitää mielessä, että tieto on ennen konetta, myös sanassa tietokone. Se ei ole sattumaa. Tekoälyyn liittyvien sovellutusten tarve tulevaisuudessa on poikkeuksellisen hyvä syy siirtää opetuksen painopistettä varsinkin peruskoulun ylemmillä luokilla ja erityisesti toisen asteen opetuksessa tiedon käsittelyn suuntaan, robottien ja pelien korostamisen sijaan. Olli-Pekka Heinonen on asian ytimessä.
Terveisin
Selma-koira
Selma-koira pohtii lambdakalkyyliä nurmikolla.