Pia Niemelä: Ohjelmointiajattelun voi oppia peruskoulussa

Digiosaajien tarve kasvaa uusien teknologisten innovaatioiden myötä, sillä vanhat ammatit muuttavat luonnettaan ja syntyy uusia ammattinimikkeitä, kuten full-stack jedi, devops-osaaja tai some-tiedottaja.  Pia Niemelä tutki Tampereen teknillisessä yliopistossa 14.9. tarkastetussa väitöskirjassaan, miten ohjelmoinnin opetusta voisi aikaistaa peruskoulussa.

​”Vaikkei lapsesta tai nuoresta tulisikaan ohjelmoijaa, hän tarvitsee digitaitoja pärjätäkseen yhteiskunnassa, jossa asiat hoidetaan sähköisesti ja tiedot löytyvät netistä. Ohjelmoinnin opetuksen aikaistaminen on yksi niistä toimista, joilla yhteiskunta voi vastata näihin digitalisaation asettamiin haasteisiin”, Pia Niemelä sanoo.

Peruskoulun opetussuunnitelma 2014 sijoittaa ohjelmoinnin matematiikan yhteyteen. Mutta miten ohjelmointi istutetaan olemassa oleviin sisältöihin siten, että tämä integrointi parhaiten hyödyttäisi molempia aineita?

Niemelä mallintaa tutkimuksessaan ohjelmointiajattelua (computational thinking) ja tarkentaa peruskoulun opetussuunnitelman 2014 yleisluontoisia vaatimuksia algoritmisesta ajattelusta ja hyvistä ohjelmointikäytännöistä. Hän määrittelee työssään ohjelmoinnin käsitteitä, jotka ovat vaivattomasti ankkuroitavissa matematiikan oppisisältöihin ja -käytäntöihin. Matematiikan osa-alueista erityisesti algebran merkitys korostuu keskeisten funktio- ja muuttujakäsitteiden myötä.

Niemelän mukaan erityisesti funktionaaliset kielet tuottavat vastavuoroisia hyötyjä matematiikan opetuksen kanssa. Hän kartoitti opetussuunnitelmassa ehdotettujen sisältöjen ja eri ohjelmointiparadigmojen merkitystä oppimisen siirtovaikutuksessa.  Hyödyntämällä olemassa olevaa substanssiosaamista voidaan siirtovaikutusta vahvistaa, mikä helpottaa ohjelmointitaitojen omaksumista opettajakoulutuksessa ja opettajien täydennyskoulutuksessa.

Työllisyyskehitys on luonnontieteissä digitalisaation myötä heikentynyt tietotekniikkaa lukuun ottamatta. Tietotekniikassa painopiste taas on siirtynyt kohti ohjelmistoammatteja. Luonnontieteet tarvitsevat perinteisesti kouluopetukseen sisältyviä jatkuvan matematiikan taitoja, missä keskeisessä asemassa ovat reaaliluvut, jatkuvat funktiot ja niihin kohdistuvat operaatiot kuten derivointi ja integrointi.

”Ohjelmistopuolella korostuvat kokonaisluvut ja diskreetin matematiikan taidot, kuten algoritminen osaaminen, logiikka ja joukko-oppi. Matematiikan opetussuunnitelmaa pitäisi painottaa kohti sellaisia diskreetin matematiikan sisältöjä, jotka tukevat ohjelmointiajattelun ja -taitojen oppimista sen lisäksi, että käytetään olemassa olevaa matematiikkaa ohjelmoinnin harjoittelemiseen”, Niemelä sanoo.

Tulevaisuuden työntekijät tarvitsevat kuitenkin muutakin kuin matematiikkaa. Varsinaisessa ohjelmointityössä korostuvat toteutuksen ja testauksen lisäksi näitä edeltävät suunnittelun vaiheet: käyttäjän tarpeet selvitetään, käsitteellistetään ja mallinnetaan sekä puetaan määritelmäksi. Tämän jälkeen kehitetään tarvittavat tietorakenteet ja järjestelmän arkkitehtuuri.

”Kun insinöörit arvioivat koulutuksensa hyödyllisyyttä, he olisivat toivoneet lisää panostusta muun muassa neuvottelu- ja määrittelytaitoihin. Nämä taidot ovat oppiainerajat ylittäviä. Esimerkiksi hyvä äidinkielen osaaminen sekä suullinen ja kirjallinen ilmaisu helpottavat riittävän tarkkojen määritelmien tekemistä. Tutkimuksessani käsittelen myös tällaista määritelmällistä ajattelua erotuksena ohjelmointiajattelusta”, Niemelä sanoo.

Pia Niemelä: From Legos and Logos to Lambda: a Hypothetical Learning Trajectory for Computational Thinking (Legoista ja logoista lambdaan: ehdotettu ohjelmointiajattelun oppimispolku), Tampereen teknillinen yliopisto. Julkaisu 1565.


Tutkimuskonsortio