Ohjelmointia kouluun etäkerhoillasta
Tulevassa lukion opetussuunnitelmassa 2021 ohjelmointi liitetään osaksi matematiikan opiskelua. Opetussuunnitelma jättää kouluille kuitenkin mahdollisuuden valita, millä ohjelmointikielellä opiskelu tapahtuu. Yksi vaihtoehdoista lukion ohjelmointikieleksi on Python, sillä se on Linuxiin sisältyvä ohjelmointikieli, joka on esimerkiksi ylioppilaskokeissa käytettävän Abitin käyttöjärjestelmä. Hyvän ponnahduslaudan Pythoniin tai jopa korvaavan kielen opiskeluun antaa P5.js-ohjelmointikieli, jonka käyttöä käytiin läpi MAOL-Oulun seutu ry:n etäkerhoillassa 19.1.2021 − Taidetta ja matematiikkaa ohjelmoimalla. Tuolloin kerhoillassa P5.js-ohjelmointia esitteli Tuomo Riekkinen Pyhäselän koululta, jossa hän on opettanut P5.js-kieltä.
Alun perin taiteen tekemiseen ohjelmoimalla kehitettyyn JavaScript-kieleen pohjautuva P5.js soveltuu silti erinomaisesti opetuskäyttöön myös matematiikassa.
Soveltuvuus pohjautuu siihen, että ohjelman antama tuloste tulee alueelle, jonka pohjalla on xy-koordinaatisto ohjelmointikielen laskukaavojen ollessa yhtenevät matematiikan kanssa. Ohjelmoinnin opettaminen lukiossa ilman ylimääräisiä laitehankintoja on mahdollista P5.js-kielen myötä, koska se on sekä ilmainen että laiteriippumaton. Ohjelmointiin P5.js-kielellä tarvitaan vain nettiselain, sillä tarvittava editori on selainpohjainen.
Odotin etäkerhoiltaa innolla, koska en ollut ennen kuullutkaan P5.js-kielestä, koska yliopiston ohjelmointikurssit kattoivat lähinnä C, C++, Java sekä Python -ohjelmointikielet. P5.js yllätti positiivisesti helppoudellaan. Jo yhden koulutuskerran jälkeen pystyin itsenäisesti tekemään oheisen muumitalon (Kuva 1).
Koulutuksessa kävimme läpi ohjelmointiin liittyvät peruskomennot, kuten täyttövärin ja viivan paksuuden muuttamisen sekä geometrian peruskuvioiden ohjelmoinnin. Geometrian peruskuvioiden avulla saadaan aikaan kuvia, joita ei ole vaikea ohjelmoida. Muista ohjelmointikielistä poiketen P5.js:n selainpohjaisessa editorissa (Kuva 2) on myös valmiiksi tarvittavat komennot ohjelman ajamiseen. Tämä helpottaa ohjelmoinnin opettamista koulussa, kun opettaja voi antaa valmiin kuvan oppilaille ja ohjeet sen tekemiseen. Oppilaille jää tehtäväksi muuttaa ohjeet komennoiksi, joita ohjelma toteuttaa.
Geometrisilla kuvioilla taiteen tekemisen ohessa P5.js soveltuu kuitenkin erinomaisesti myös matematiikan laskemiseen. Hyvänä esimerkkinä toimivat liukusäätimellä muutettava kulmakerroin suoran yhtälössä sekä yhtälöparin ratkaiseminen.
Kulmakertoimen tarkasteleminen liukusäätimen avulla on monille koulusta tuttu tehtävä, jota tehdään GeoGebralla. Täysin samanlaisen tehtävän tekeminen on siis myös mahdollista ja helppoa ohjelmoimalla editoriin tarvittavat komennot, minkä jälkeen oppilas voi itse tarkastella kulmakertoimen vaikutusta suoran kulkuun (Kuva 3). Myös yhtälöparin ratkaiseminen ohjelmoinnin avulla on helppoa (Kuva 4): ohjelmoimalla kone käy kokeellisesti läpi eri muuttujien arvot, antaa oikean ratkaisun sekä tulostaa laskuprosessin eri vaiheet näkyville.
Kerhoillasta jäi erityisesti mieleen se, että P5.js-ohjelmointikieli on erittäin monipuolinen väline ohjelmoinnin ja matematiikan opettamiseen. Ohjelmoinnin käyttäminen matematiikan opettamisessa auttaa oppilaita ohjelmoinnin opettelussa, sillä oppiminen tapahtuu valmiin tiedon päälle tai yhdistetään jo aiemmin opittuun asiaan. Tällöin ei voida sanoa ohjelmoinnin olevan täysin erillinen oppiaine. Samalla se voi vastavuoroisesti lisätä kiinnostusta myös matematiikan opiskeluun.
Suuret kiitokset Tuomo Riekkiselle ja MAOL-Oulun seutu ry:lle hyödyllisen ja mukavan kerhoillan järjestämisestä.