perjantai 3. maaliskuuta 2017

Matematiikan kai pitäisi olla matematiikkaa



Ymmärtämätön CAS-ohjelmistojen käyttö lukiomatematiikassa saattaa uhata matematiikan oppimista. Oheinen GeoGebra-kuvio voisi olla vastaus tehtävään, jossa annetaan yksi taso yhtälön avulla ja toinen kolmen pisteen avulla. Tehtävänä on määrittää toisenkin tason yhtälö ja tasojen välinen kulma.

GeoGebrassa niin kuin monessa muussakin CAS-ohjelmassa on tarjolla valmiita funktioita: Plane (suomeksi Taso) antaa tason yhtälön, kun argumentteina on kolme tason pistettä. Angle (Kulma) antaa tasojen välisen kulman radiaaneissa, kun argumentteina ovat yhtälöiden kertoimista saadut lukukolmikot. Tehtävän ratkaisemiseen riittää tietää, millaisia GeoGebra-funktioita on käytettävissä, niiden sisällä olevasta matematiikasta ei tarvitse tietää mitään. Radiaanit muunnetaan asteiksi maagisen näköisellä tempulla: kirjoitetaan kulman perään $/^\circ$.

Eihän tämä ole matematiikkaa. Kyseessä on erään ohjelman syntaksin ja makrojen opettelu.  Eikä ohjelmaa tarvitse enää missään, kun on valkolakin saanut. No, poikkeuksena matematiikan opettajat.

Yleensä ensimmäinen ajatus tilanteen korjaamiseksi on laatia ylioppilaskoetta varten säännöt, miten ohjelmaa saa tai ei saa käyttää ja millaisia lausumia tai perusteluja koesuoritukseen tulee sisällyttää. Matematiikan tunteja voidaan tietenkin käyttää näiden sääntöjen opetteluun, mutta ei sekään ole matematiikkaa.

Perusongelmana on, että matematiikan osaamista on perinteisesti testattu antamalla laskettavaksi joukko tehtäviä. Jos nämä on saatu edes likimain oikein, on katsottu, että matematiikan osaaminen on tullut näytetyksi. Laskentavälineiden aikakaudella näin ei kuitenkaan ole. Hyvillä ohjelmistoilla on mahdollista saada oikeita tuloksia mitään ymmärtämättä. Tosin myös täysiä päättömyyksiä.

Luontevaa olisi luopua ajatuksesta, että oikein laskettu lasku osoittaa ymmärtämistä.  Kysyttäköön sitä, mitä halutaan testata. Esimerkiksi on selostettava, millaisella algebrallisella menettelyllä saadaan tason yhtälö, kun kolme tason pistettä tunnetaan.  Mukaan itse laadittu esimerkki menettelyn soveltamisesta. Arvostelusta voi tulla vaikeampaa, mutta annetaanhan monissa reaaliaineissakin esseevastauksia.

Ohjelmakoodien kirjoittaminenkin soveltuisi tähän yhteyteen. Koodihan on tapa kuvata laskentamenettely.

Koulumaailmassa eniten käytettyjen CAS-ohjelmien (ei yksin GeoGebran) kehitys on ikävä kyllä edennyt väärään suuntaan. Valmiiden funktioiden, komentojen ja toimintojen määrä on suuri ja kasvaa jatkuvasti, mikä lisää kiusausta keskittyä matematiikan opinnoissa näiden opetteluun sen sijaan, että paneuduttaisiin peruskäsitteisiin ja -toimintoihin. Parempi olisi tyytyä melko harvoihin perustoimintoihin, joiden avulla tulisi itse ohjelmoida pidemmälle meneviä funktioita ja toimintoja. Tällöin opittaisiin asioita, joilla on käyttöä myöhemmässä elämässä.

Ohjelmakoodin kirjoittamisella on lisäksi kasvatuksellinen merkitys. Jos koodi ei toimi, se ei ole oikein. Virhe voi olla pieni, mutta se on korjattava eikä selitettävä tuotosta melkein oikeaksi.

5 kommenttia:

markku halmetoja kirjoitti...

Blogistin huoli kehityksestä on aito ja oikeutettu mutta myöhäsyntyinen. Eräät näkivät tulevan kehityksen jos silloin, kun CAS-härpäkkeet yllättäen sallittiin yo-kirjoituksiin. Laitevalmistajat kilpavarustautuvat ominaisuuksilla ja samalla värväävät "hyödyllisiä idiootteja" selittämään, että tylsät mekaaniset toimitukset ohittamalla päästään "oikeaan matematiikkaan". Käytännössä opiskelu muuttuu laitteen näpräämiseksi; osaamisen mitaksi tulee se, montako ominaisuutta laitteesta löytää. Oikeaa matemaattista osaamista voidaan testata laittamalla kokeisiin, myös yo-kokeeseen, todistus- ja johtamistehtäviä. Muistaakseni vuonna 1967 toisessa lyhyen matematiikan kokeessa ekatehtävänä oli johtaa kulmakertoimia koskeva ehto suorien kohtisuoruudelle. Tehtävä oli muotoiltu täysin verbaalisesti. Kokemukseni perusteella arvelen, että harva nykyinen pitkän matematiikan abi onnistuisi tästä yo-kokeessa kuusi pinnaa nappaamaan. CAS-laskinten sallimisessa ikäänkuin avattiin patoportit ja toivottiin veden sitten virtaavan ylöspäin. Turha toivo.

SKK kirjoitti...

Eikö opettajakunta sitten kykene muuhun kuin "hyödyllisten idioottien" perässä juoksemiseen? Näkemystä, taitoa ja kokemusta kai pitäisi olla.

Heikki Pokela kirjoitti...

Ajatus koodaamisesta lukiossa voisi olla kannatettavakin. Esimerkiksi yksiulotteisen lämpöyhtälön ratkaiseminen
haastaisi oppilaan. Siis laskettaisiin, kuinka yhdessä x-akselin pisteessä oleva lämpöpiikki lähtee ajan kuluessa
tasaantumaan ympärilleen (oletetaan x-akselille jokin lämmönjohtumisominaisuus). Oppilas tutkisi aika-askeleen
koon ja x-akselille asetettujen diskreettien laskentapisteiden tiheyden vaikutusta. Ehkä jopa päästäisiin tutustumaan
erilaisiin differentiaaliyhtälön (numeerisiin) ratkaisutapoihin ja niiden herkkyyteen käytetyistä
laskentaparametreista. Huomattaisiin perusasiat, kuten se, että tulos ei parane tietyn rajan yli, vaikka
aika-askelta kuinka pienennettäisiin, jos paikan suhteen tehty laskentapisteiden jako ei tihene vastaavasti jne.

Edellisen esimerkin koodaus iterointisilmukoineen olisi mielestäni lukiolaiselle parasta mahdollista koodausta,
sillä tässä laadittaisiin koodi peruspalikoista lähtien itse.

Ongelmiakin tulee. Pitää osata pohjalle matematiikkaa. Ja siihen tuskin saadaan apuja "koulumaailmassa
yleisimpien CAS-ohjelmistojen kehityssuunnasta" kuten blogisti itsekin pelkää.

Perusasiat pitää osata. On varmasti hyvä syy siihen, miksi TKK:n laajassa matematiikassa (joka on kahden
ensimmäisen vuoden matematiikan perusopinnot) vaadittiin osaaminen näytettäväksi välikokeissa ja tenteissä
ilman laskimia.

On helppo yhtyä blogistin näkemykseen, että nyt on vaarassa toteutua digiloikan riskit. Ehkä joitain päätöksiä
voitaisiin vielä ottaa uuteen tarkasteluun ja jopa perua. Ollaanhan Ruotsissakin palauttamassa asevelvollisuutta,
vaikka kyseisen velvollisuuden piti olla menneen maailman juttuja vielä kymmenisen vuotta sitten.

Laskentaohjelmiston apuun saisi turvautua vain silloin, kun periaatteessa osaisi asian kynällä ja paperilla - eli
kun aihetta on riittävästi harjoiteltu. Harvan lukiolaisen kohdalla toteutuu tuo "riittävästi".

Timo Salminen kirjoitti...

Koko monisatavuotisen matematiikan (koulu-)opetushistorian on pidetty selvänä sitä ajatuskulkua, että jos oppilas suoriutuu matemaattisesta laskentatehtävästä päätyen riittävän selvästi dokumentoitujen välivaiheiden kautta oikeaan tulokseen, se indikoi matemaattista osaamista eli täsmälleen sitä, mitä on haluttu mitata tai arvioida. Tämä on ollut täysin toimiva ratkaisu ja voisi olla sitä edelleenkin.

Kun CAS-laskimet sallittiin, alkoi ytl:lla muutaman vuoden etsikkoaika - joka itse asiassa taitaa jatkua vieläkin. Ei oikein tiedetä vieläkään millaiset tehtävät olisivat hyviä, kun käytössä on laskimet. Ja pahemmaksihan vaan menee, kun laite-/ohjelmistoarsenaali kasvaa. Tämä kaikki oli kyllä eräillä tiedossa jo uuden epookin alkaessa, mutta vaikka heidän annettiin sentään puhua, ei heitä silti kuunneltu. Nyt ehkä jo nähdään laajemminkin syntyneet ongelmat, mutta kuitenkaan ongelmaan ei haeta ratkaisua hyväksi havaitusta historiasta, vaan ollaan Concorde-efektin lumoissa.

Jos kaikesta huolimatta halutaan tekniikka mukaan, niin aivan oikein olisi, kuten kirjoittaja toteaakin, vaatia selostusta siitä mitä laskija on tekemässä ja miksi. Tämä on tietysti minimivaatimus, jos teknologian käyttö nykyisessä muodossaan on sallittuna.

Kirjoittajan ehdottama suunta kohti ohjelmointia ei kuitenkaan vaikuta hyvältä ratkaisulta. Miksi laskentamenettelyn kuvaaminen jollain erityisellä ohjelmointikielellä olisi parempi kuin sen kuvaaminen tavanomaisella matematiikalla? Siinä kirjoittaja on epäilemättä oikeassa, että samalla opittaisiin asioita, joilla on käyttöä myöhemmässä elämässä. Mutta niin on varmaan myös siinä, että kuvataan asia puhtaalla matematiikalla. Ohjelmointikieliä tulee lisää vähän väliä ja osa jää pois käytöstä (https://fi.wikipedia.org/wiki/Luettelo_ohjelmointikielist%C3%A4), kun taas matematiikan kieli ei ole juurikaan muuttunut. Blogin otsikkona on ”Matematiikan kai pitäisi olla matematiikkaa”. Niin minustakin – juuri siksi matematiikan ei pitäisi olla ohjelmointia.

SKK kirjoitti...

Totta on, että ohjelmointikieliä on paljon, ne kehittyvät ja muuttuvat. Matalan tason ohjelmointikieli monine määrittelyineen ja pikku nippelien viilauksineen ei varmasti matematiikan opiskeluun sovellu. On kuitenkin myös korkean tason kieliä, joissa keskitytään vain laskennan kuvaamiseen. En mainitse esimerkkejä, jotta keskustelu ei käänny kaupallisten tuotteiden eroihin.

Matemaattisen ajattelun kannalta näillä on myös etunsa. Puuroutuvien laskujen sijasta laskennan rakenne saadaan helpommin esiin eikä lausekkeiden mahdollisesta monimutkaisuudesta välttämättä tarvitse kantaa huolta. Graafisten esitysten tekeminen laskennan kontrolloimiseksi sujuu suhteellisen helposti. Edellytyksenä on, että taustalla olevaa matematiikkaa riittävästi osataan.

Voisin joskus yrittää palata blogissa tähän puoleen.