Ysin asiaa

Peruskoulun 9. luokan matematiikan ohjelmointia

Nämä sivut sisältävät peruskoulun 9. luokan matematiikan ohjelmointiosan harjoitusmateriaalit.


Algoritmista ajattelua opiskellaan Python-ohjelmointikielellä. 

Esimerkit ja harjoitukset on toteutettu Trinketissä.
  • Trinketissä käytetään Python 2 -tulkkia sen ilmaisuuden vuoksi. Ohjelmoinnin perusasioissa vanha tulkki ei kuitenkaan poikkea merkittävästi Python 3 -sukupolvesta.
    • Ero näyttöön tulostamisessa:
      • Python 2: print "Terve maailma!"
      • Python 3: print ("Terve maailma")
  • Oppilaan kannattaa tehdä itselleen tunnus Trinketiin voidakseen kopioida ja tallentaa tekemänsä harjoitukset itselleen.


Oppimisen tavoitteista ja arvioinnista

Perusopetuksen päättöarvioinnin kriteereissä (2020) oppimisen algoritmista ajattelua ja ohjelmointia koskevat tavoitteet määritellään seuraavasti:
"
Oppilas ymmärtää algoritmisen ajattelun periaatteita. Hän osaa lukea, kommentoida, tulkita, testata, suunnitella ja ohjelmoida pieniä ohjelmia, joilla ratkaistaan matemaattisia ongelmia."

Arviointikriteerit arvosanoittain:
  • 5: Oppilas tunnistaa yksinkertaisen algoritmin askeleet ja testaa ohjattuna valmiita ohjelmia.
  • 7: Oppilas käyttää ehto- ja toistorakennetta ohjelmoinnissa sekä testaa ja tulkitsee ohjelmia.
  • 8: Oppilas soveltaa algoritmisen ajattelun periaatteita ja ohjelmoi pieniä ohjelmia.
  • 9: Oppilas hyödyntää ohjelmointia ongelmien ratkaisussa. Oppilas muokkaa ja kehittää ohjelmaa.

Näiden harjoitussivujen sisältöjen avulla oppilas voi opiskella arviointikriteerien mukaan tasoittain seuraavasti:
  • 5: Kertausta tyypeistä -sivun esimerkkeihin tutustuminen. Esimerkiksi oppilas osaa suullisesti selittää jotain, mitä koodissa tapahtuu.
  • 7: Edellisen lisäksi Kertausta rakenteista -sivun esimerkkeihin tutustuminen ja harjoitustehtävien ratkominen
  • 8: Edellisten lisäksi Funktiot -sivun esimerkkehin tutustuminen ja harjoitustehtävien ratkominen
  • 9: Edellisten lisäksi Moduulit -sivun esimerkkehin tutustuminen ja harjoitustehtävien ratkominen. Myös omaa kehittelyä.

Tavoitetasosta riippumatta erilaiselle kokeilemiselle ja yrityksen ja erehdyksen kautta oppimiselle on hyvä olla tilaa.

Kiitettävän ja erinomaisen tason ohjelmoinnissa lopullisen koodin tulee olla laadukas - pelkästään oikein toimiminen ei riitä. Laadukkaalle koodille on ominaista mm. seuraava:
  • se on viimeisteltyä: tarpeettomia tietorakenteita ei esiinny, muuttujat ja funktiot on nimetty tarkoituksenmukaisesti (Pythonissa tapaan: laske_lausekkeen arvo tai lausekkeen_arvo)
  • koodissa ei toisteta samaa asiaa vaan toistot on toteutettu esim. while- tai for-rakenteissa
  • koodi on jaettu osiin siten, ettei useita asioita toteuteta samassa osassa
    • varsinkin funktioissa toteutetaan kussakin yksi asia tai kokonaisuus - pääohjelmassa saattaa olla useampia asioita mutta ei useita kymmeniä ohjelmointirivejä

Erinomaisen arvosanan (10) kriteerinä tässä yhteydessä voi pitää edellisten sisältöjen kattavaa hallitsemista, niiden luovaa soveltamista sekä kykyä itsenäiseen opiskelemiseen, mikä on varsin tyypillistä ohjelmoinnissa. Pyrkimys itsenäiseen ongelmanratkaisuun ei saa kuitenkaan estää oppilasta kysymästä apua myös muilta ja opettajalta, sillä myös tiimityöskentely kuuluu ohjelmointiin! Sisältöjen hallitseminen tulee esille hyvin mm. opastettaessa toisia. Mikäli oppilas on ulospäinsuuntautunut, häntä kannattaa kannustaa hyödyntämään tätä piirrettään. Toisaalta sisäänpäinkääntynyt oppilas voi keskittyä kehittelemään osaamistaan erilaisissa omissa projekteissaan tai mahdollisesti etenemään kohti olio-ohjelmointia, jota varten virikkeitä on koottuna sivulle Olio-ohjelmointia.

Ohjelmoinnin arviointia koskee myös asenteiden ja työskentelyn taitojen arviointi (tavoitteet 2-9). Esimerkiksi tavoitteen 2 kiitettävän arvosanan kriteeri on: "Oppilas ottaa vastuuta ryhmän toiminnasta ja pyrkii kehittämään koko ryhmän osaamista." Tämä tarkoittaa mm. toisten auttamista ja aktiivista työrauhan ja työmoraalin edistämistä.