Sovellus: Derivoinnin osaamista testaava opetusohjelma

264 days ago by Lauri_Ruotsalainen

Sovellus: Derivoinnin osaamista testaava opetusohjelma

Lauri Ruotsalainen, 2011

Sagen vuorovaikutteisten toimintojen avulla voidaan kirjoittaa opetusohjelmia, jotka luovat satunnaisesti tehtäviä ja tarkistavat käyttäjän antaman vastauksen oikeellisuuden. Tämän tyyppiset ohjelmat soveltuvat mekaanisen laskuvalmiuden kehittämiseen ja opiskelijan taitotason itsearviointiin. Esimerkkinä esitetään ohjelma, joka pyytää käyttäjää derivoimaan ohjelman generoiman satunnaisen polynomifunktion. Ohjelma tarkistaa vastauksen symbolisesti ja antaa palautteen suorituksesta. Halutessaan käyttäjä voi pyytää ohjelmaa näyttämään oikean ratkaisun.

Kuva:


# Luodaan polynomirengas R ja alustetaan apumuuttujat R.<x> = ZZ[] funktio = R.random_element(3, -10,10) uusitehtava = True naytaratkaisu = True @interact def _(vastaus = input_box(), uusi = checkbox(default=False, label="Uusi tehtävä"), ratkaisu = checkbox(default=False, label="Näytä vastaus")): # Globaalit muuttujat. global funktio, uusitehtava, naytaratkaisu # Tarkistaa vastauksen oikeellisuuden. if vastaus == derivative(funktio(x)) or uusi == uusitehtava: uusitehtava = not uusi if vastaus == derivative(funktio(x)): html("$\\text{Oikein! Uusi tehtävä:}$") funktio = R.random_element(3, -10,10) elif vastaus and ratkaisu != naytaratkaisu and uusi != uusitehtava: html("$\\text{Virhe. Yritä uudestaan!}$") html("$\\text{Derivoi: }\;\;\;\;%s$<br>"%latex(funktio(x))) # Näyttää oikean vastauksen, jos rastilaatikon tila on muuttunut. if ratkaisu == naytaratkaisu: naytaratkaisu = not ratkaisu html("$\\text{Vastaus: }\;\;\;\;%s$<br>"%latex(derivative(funktio(x)))) 
       

Click to the left again to hide and once more to show the dynamic interactive window