Tapahtumat

Väitös tietotekniikan alalta, DI Teemu Lehtinen

Uudet automaattiset kysymykset tutkivat, kuinka ohjelmoinnin opiskelija ymmärtää tekemäänsä tietokoneohjelmaa.

Väitös Aalto-yliopiston perustieteiden korkeakoulusta, tietotekniikan laitokselta.
Ohjelmakoodi, kysymys muuttujan roolista ja vastauksen tuottava vuokaavio.

Väitöskirjan nimi: Questions About Learners' Code: Extending Automated Assessment Towards Program Comprehension

Tohtoriopiskelija: Teemu Lehtinen
Vastaväittäjä: professori Mikko-Jussi Laakso, Turun yliopisto
Kustos: professori Lauri Malmi, Aalto-yliopiston perustieteiden korkeakoulu, tietotekniikan laitos

Ohjelmointi ei ole vain tietokoneohjelmien kirjoittamista. Ohjelmien suunnittelun, rakentamisen, arvioinnin ja kunnossapidon eri vaiheet vaativat myös muita taitoja, kuten ohjelmakoodin lukemista, ymmärtämistä ja ohjelmakoodista keskustelua. Vaikka monet ohjelmoinnin alkeiskurssit pyrkivät kehittämään kaikkia oleellisia taitoja, tyypillinen ohjelmointiharjoitus pyytää kirjoittamaan annettua määritelmää vastaavan ohjelman. Monilla kursseilla on satoja opiskelijoita yhtä opettajaa kohden ja ne käyttävät siksi automaattisia järjestelmiä tuottamaan opiskelijoille palautetta heidän ohjelmistaan. Nykyiset järjestelmät tuottavat tyypillisesti palautetta, joka auttaa oppilaita askeleittain kohti hyväksyttävää ohjelmakoodia, mutta ei juuri tue oman ohjelmakoodin syvällistä ymmärtämistä tai ohjelmasta keskustelukykyä. 

Tämä väitöskirja kehittää automatisoituja yksilöllisiä kysymyksiä (QLC), jotka koskevat opiskelijoiden luomien, mahdollisesti ainutlaatuisten ohjelmien rakennetta ja logiikkaa. Tutkimuksemme mukaan jopa 20% hyväksyttävän ohjelman tehneistä opiskelijoista saattaa vastata väärin koskien käsitteitä, jotka ovat välttämättömiä ohjelman toiminnan selittämiseksi. Yli puolet aloittelevista opiskelijoista epäonnistuu simuloimaan ohjelmansa suorittamista mielessään, mikä toistaa aiemmat opiskelijan koodin sijasta esimerkkikoodilla saadut tulokset. Tuloksemme tukevat aiempia havaintoja, joiden mukaan opettajat saattavat aliarvioida aikaa, jonka opiskelijat tarvitsevat saavuttaakseen riittävän kognitiivisen kyvyn tehdä päätelmiä ohjelmakoodin toiminnasta. Opiskelijat, jotka testaavat äkillisiä muutoksia ohjelmaansa ja näyttävät selvittävän tehtävän läpäisykriteerit sattumalta, vastaavat usein väärin QLC-kysymyksiin ja menestyvät huonommin kurssilla. Siksi QLC-kysymykset voisivat tuottaa varhaisia varoituksia opiskelijoista, jotka tarvitsevat lisätukea ohjelmoinnin oppimiseen. 

Uudet tekoälyyn perustuvat ohjelmointityökalut näyttävät lisäävän tuotetun ohjelmakoodin määrää samalla, kun ihmiset useimmissa tapauksissa edelleen käsittelevät ja arvioivat tuotettua koodia. Tämä saattaa korostaa ohjelmien ymmärtämisen ja ohjelmista ihmis- tai tekoälykollegoiden kanssa keskustelemisen tärkeyttä. Vaikka tekoälymallit vastasivat luomiaan ohjelmia koskeviin QLC-kysymyksiin oikein useammin kuin keskimääräinen aloittelija, nekin tuottivat epäonnistuneita päätelmiä ennalta arvaamattomasti. Oppilaat voisivat tutkia tällaisia vastauksia ja oppia tekoälyn kriittisestä käytöstä.

Avainsanat: ohjelmoinnin alkeisopetus, automaattinen arviointi, tuottamaton menestys, ohjelman ymmärtäminen, hauras tieto, metakognitio 

Linkki väitöskirjan sähköiseen esittelykappaleeseen (esillä 10 päivää ennen väitöstä): https://aaltodoc.aalto.fi/doc_public/eonly/riiputus 

Yhteystiedot:

Sähköposti  [email protected]


Perustieteiden korkeakoulun väitöskirjat: https://aaltodoc.aalto.fi/handle/123456789/52 

  • Julkaistu:
  • Päivitetty: