Mi­ten to­teut­taa oh­jel­moin­tia ma­te­ma­tii­kan ope­tuk­ses­sa? Tar­joam­me vas­tauk­sia val­mii­den ma­te­ri­aa­lien muo­dos­sa

Miten toteuttaa ohjelmointia matematiikan opetuksessa? Tarjoamme tähän kysymykseen vastauksia uusilla materiaaleilla, jotka aineenopettajaksi opiskelevat ovat ohjatusti laatineet osana opintojaan tänä keväänä.

Olemme Helsingin yliopiston matematiikan, fysiikan ja kemian aineenopettajan koulutusohjelmaan kuuluvalla Ohjelmointi matematiikan opetuksessa –kurssilla keväällä 2018 projektityönämme kehittäneet uutta materiaalia opettajien ja oppilaiden käyttöön oppitunneille, perusopetuksen matematiikan opetussuunnitelman perusteiden tueksi.

Matematiikassa erityisesti geometria on hedelmällinen aihealue sisällyttää ohjelmointia. ’Geometriaa havainnollisesti ohjelmoinnin avulla’ oli lähtökohtamme ja valitsimme aiheeksemme peilauksen, siirtojen ja kiertojen opetuksen. Olemme pyrkineet ohjelmointiharjoitusten avulla syventämään käsiteltyä matematiikan aihetta niin, että samalla myös oppilaiden ohjelmointitaidot kehittyisivät. Opettaja voi myös harkintansa mukaan lähteä tutustumaan oppilaiden kanssa peilaukseen, siirtoihin ja kiertoihin ohjelmointitehtävien kautta.

Ohjelmointikielinä suunnittelemissamme materiaaleissa on käytetty graafista Scratch-kieltä ja tekstipohjaista Python-kieltä. Kaikki harjoitustehtävät eivät välttämättä vaadi ennakkoon ohjelmoinnin harjoittelua, mutta tutustuminen Scratch- ja Python -ohjelmointikielen perusteisiin voisi olla paikallaan, esimerkiksi Koodiaapisen kautta.

Materiaali koostuu sisältää johdannon, sekä opettajan ja oppilaan käytännön ohjeet erikseen niin Scratch- kuin Python-kielelle.

Johdanto-osaan sisältyy mm. tavoitekuvaus, tehtävien lyhyt kuvaus, pohjatiedot ja arviointia. Arvioinnissa on pyritty monipuolisuuteen ja olemme suunnitelleet ehdotuksen arvioinnin toteuttamiseksi. Lisäksi johdanto-osassa on ehdotus aikataulutussuunnitelmaksi, jota voi räätälöidä mielensä mukaan.

Harjoitustehtävät ovat muokattavissa, joten eriyttäminen sekä ylös- että alaspäin onnistuu. Harjoitustehtäviä on runsaasti, joten opettajalla on mahdollisuus valita erityyppisiä ja sopivia tehtäviä juuri oman ryhmän tarpeiden pohjalta. Tehtäviä voi myös muunnella joko ns. suljetuiksi tai avoimiksi tehtäviksi niin ikään oppilaiden taitojen mukaisesti.

Scratch:n opettajan ohjeessa on tuntisuunnitelmaehdotuksia ja tarkemmin tehtäväkohtaisesti: arvioitu kesto, tavoitteet, matematiikan sisältö, ohjelman toimintaidea, ohjelmoinnin käsitteet, taustan sekä hahmon luominen ja malliratkaisut/esimerkkiratkaisut skripteineen eli ohjelmakoodeineen, sekä havainnollisia kuvia ohjelmien suoritteista. Opettajan ohjeeseen on Scratch:n osalta linkit valmiisiin ohjelmiin ja oppilaille työstettäviin ohjelmiin. Scratch:n oppilaan ohjeessa on selitetty ohjelmien toimintaidea ja ne sisältävät tehtäväannon toimintaohjeineen taustasta ja hahmon luomisesta aina varsinaisten skriptien tekemiseen. Osassa tehtäviä on annettu vinkkejä skriptien tekoon ja opettaja voi muunnella tehtäviä helpommiksi antamalla lisää vinkkejä. Vaihtoehtoisesti opettaja voi jättää tehtäviä avoimemmiksi, jolloin oppilaat joutuvat soveltamaan enemmän.

Python-ohjelmoinnissa hyödynnetään Turtle-modulia (valmis aliohjelma) havainnollisuuden lisäämiseksi. Tehtävien tekoon suositellaan käytettäväksi trinket.io-verkkosivuston Python-alustaa. Python-tehtävät etenevät loogisesti helpommista haastavampiin tehtäviin. Jos halutaan hypätä Scratch-ohjelmoinnin yli suoraan Pythoniin, niin peilauksesta voidaan tehdä orientoiva ohjelmoinnin alkuharjoitus pelkästään kynällä ja paperilla vaikkapa parityönä. Pythonin opettajan ohjeessa on esimerkkiratkaisujen lisäksi selitetty tehtävän ideaa, ohjelmakoodia ja ohjelmoinnin käsitteitä. Pythonilla voikin perehtyä oikeisiin ohjelmoinnin käsitteisiin ja komentoihin. Scratch-ohjelmointiympäristöstä löytyy toki samoja käsitteitä, mutta erilaisina kuvallisina ohjaus- ja komentopalikoina. Python-tehtävissä perehdytään tarkemmin myös funktioon käsitteenä ja sen käyttämiseen. Pythonin oppilaan ohjeessa on pyritty selkeillä tehtävänannoilla ja ohjeistuksella perehdyttämään oppilaita tekstipohjaisen ohjelmoinnin saloihin.

Tutustu uuteen Ohjelmointi matematiikan opetuksessa -materiaaliin »

Rohkeasti kokeilemaan aikaansaannoksiamme!

Teksti: Tiina Laakso, Laura Keskinen, Lari Koskinen ja Umalkair Mohamed.


Otamme mielellämme vastaan palautetta ja kehittämisehdotuksia! Kurssin vastuuopettaja on yliopistonlehtori Sirkka-Liisa Eriksson.