Lukiomatematiikan tehtävien automaattinen tarkastus testiarvoja kokeilemalla
Veisu, Antti (2012)
Veisu, Antti
2012
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2012-10-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201210051312
https://urn.fi/URN:NBN:fi:tty-201210051312
Tiivistelmä
Tietotekniikan rooli opetuksessa kasvaa ja erityisesti matematiikan opetukseen se tarjoaa mielenkiintoisia sovelluksia. Yksi sellainen on matemaattisten tehtävien automaattinen tarkastus. Matematiikan tarkka ja looginen luonne mahdollistaa matematiikan tehtävien koneellisen tarkastamisen syvällisemmän kuin monissa muissa oppiaineissa. Matemaattisten tehtävien automaattiseen tarkastukseen on olemassa useita ohjelmia, mutta monet niistä on tarkoitettu lähinnä opettajan avuksi arviointiin.
Tässä diplomityössä tarkastellaan opiskelijan avuksi tarkoitetun web-pohjaisen tarkastusohjelman suunnittelua ja toteutusta. Ohjelma rajoittuu lukiomatematiikan ensimmäisille kursseille tyypillisiin lasku- ja yhtälönratkaisutehtäviin. Laskutehtävissä matemaattinen lauseke saatetaan haluttuun muotoon ja yhtälönratkaisutehtävissä yhtälö tai epäyhtälö ratkaistaan jonkin muuttujan suhteen.
Ohjelman erityispiirteenä on, että sille voi syöttää välivaiheita. Tehtävien vastaukset ovat päättelyketjuja, joiden askeleet, eli välivaiheet, ohjelma tarkastaa.
Virheellisen välivaiheen löytäessään ohjelma osoittaa sen käyttäjälle. Se on ohjelman pääasiallinen tapa auttaa tehtävien ratkaisussa. Vastaukset syötetään tekstimuodossa noudattaen merkintätapaa, joka suunniteltiin muistuttamaan mahdollisimman paljon paperilla laskemista. Ohjelman toinen erityispiirre on, että se tarkastaa vastaukset kokeilemalla testiarvoja vastauksen muuttujille. Menetelmän hyöty on, että virheen löydyttyä käyttäjälle voidaan antaa esimerkkiarvot, joilla vastaus on väärin.
Välivaiheet sisältävän merkintätavan laatiminen ja sitä tulkitsevan ohjelman osan toteuttaminen osoittautui melko suoraviivaiseksi tehtäväksi. Testiarvojen kokeilemiseen perustuva tarkastus ei ole täysin varma, mutta testaus osoitti, että ohjelma löytää käytännössä suurimman osan virheistä. Osoittautui, että laskutehtävissä testiarvot voidaan valita hyvin vapaasti. Pienikin virhe tyypillisesti muuttaa lausekkeen arvoa merkittävästi kaikilla muuttujien arvoilla, jolloin ohjelma löytää virheen helposti. Yhtälönratkaisutehtävissä puolestaan testiarvot pitää valita huolella ja tehtävän oikea ratkaisu pitää tuntea, jotta voidaan valita testiarvot, joilla virheitä löydetään.
Tässä diplomityössä tarkastellaan opiskelijan avuksi tarkoitetun web-pohjaisen tarkastusohjelman suunnittelua ja toteutusta. Ohjelma rajoittuu lukiomatematiikan ensimmäisille kursseille tyypillisiin lasku- ja yhtälönratkaisutehtäviin. Laskutehtävissä matemaattinen lauseke saatetaan haluttuun muotoon ja yhtälönratkaisutehtävissä yhtälö tai epäyhtälö ratkaistaan jonkin muuttujan suhteen.
Ohjelman erityispiirteenä on, että sille voi syöttää välivaiheita. Tehtävien vastaukset ovat päättelyketjuja, joiden askeleet, eli välivaiheet, ohjelma tarkastaa.
Virheellisen välivaiheen löytäessään ohjelma osoittaa sen käyttäjälle. Se on ohjelman pääasiallinen tapa auttaa tehtävien ratkaisussa. Vastaukset syötetään tekstimuodossa noudattaen merkintätapaa, joka suunniteltiin muistuttamaan mahdollisimman paljon paperilla laskemista. Ohjelman toinen erityispiirre on, että se tarkastaa vastaukset kokeilemalla testiarvoja vastauksen muuttujille. Menetelmän hyöty on, että virheen löydyttyä käyttäjälle voidaan antaa esimerkkiarvot, joilla vastaus on väärin.
Välivaiheet sisältävän merkintätavan laatiminen ja sitä tulkitsevan ohjelman osan toteuttaminen osoittautui melko suoraviivaiseksi tehtäväksi. Testiarvojen kokeilemiseen perustuva tarkastus ei ole täysin varma, mutta testaus osoitti, että ohjelma löytää käytännössä suurimman osan virheistä. Osoittautui, että laskutehtävissä testiarvot voidaan valita hyvin vapaasti. Pienikin virhe tyypillisesti muuttaa lausekkeen arvoa merkittävästi kaikilla muuttujien arvoilla, jolloin ohjelma löytää virheen helposti. Yhtälönratkaisutehtävissä puolestaan testiarvot pitää valita huolella ja tehtävän oikea ratkaisu pitää tuntea, jotta voidaan valita testiarvot, joilla virheitä löydetään.