20
OHJE KIRJAPAINOLLE: B5-arkin vasen- ja yläreuna kohdistetaan A4-arkin vasempaan ja yläreunaan. Näin pitäisi marginaaliksi tulla taitteen puolella noin 33 mm ja muualla noin 22 mm. Tietojenkäsittelytiede 29 Lokakuu 2009 sivut 17–36 c kirjoittaja(t) Toimittaja: Jorma Tarhio Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista Erkki Kaila, Teemu Rajala, Mikko-Jussi Laakso & Tapio Salakoski Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi Tiivistelmä Ohjelmasuorituksen visualisointi on potentiaalisesti käyttökelpoinen menetelmä ohjelmoinnin perusteiden opettamiseksi aloittelijoille. Sen vaikutuksia on kuiten- kin tutkittu melko vähän. ViLLE on Turun yliopistossa kehitetty ohjelmasuorituk- sen visualisointityökalu. Tässä artikkelissa esittelemme järjestelmän vaikutuksista tehtyjä tutkimuksia tuloksineen. Lisäksi esittelemme uusina kvalitatiivisina tulok- sina opiskelijoiden palautetta työkalun käyttöön liittyen. Tulokset ja palaute osoit- tavat, että ViLLEä voidaan hyödyntää tehokkaasti ohjelmoinnin alkeiden opetta- miseen aloitteleville ohjelmoijille. 1 Johdanto Ohjelmointitaitoa voidaan pitää eräänä tietojenkäsittelytieteen opintojen tärkeim- pänä yksittäisenä päämääränä — linjas- ta tai opintojen suuntauksesta riippumat- ta. Useiden tutkimusten (ks. esim. [8] tai [1]) mukaan opiskelijoilla on kuiten- kin huomattavia vaikeuksia peruskäsittei- den omaksumisessa. Niukkojen opettaja- resurssien ja suurten ryhmäkokojen vuok- si henkilökohtaisen ohjauksen mahdolli- suudet ovat yleensä vähäiset. Tästä joh- tuen tarve erilaisille opetuksen apuväli- neille — ja erityisesti sellaisille apuväli- neille, joita opiskelijat voivat käyttää itse- näisesti oppimisen apuna — on ilmeinen. Visualisoinnilla tarkoitetaan ohjelman tai algoritmin esittämistä graafisesti. Wig- ginsin [11] mukaan visualisoinnin tarkoi- tuksena on auttaa käyttäjää ymmärtämään mitä ohjelma tekee, miksi se tekee niin, miten se toimii ja mitä suorituksesta seu- raa. Visualisointijärjestelmien päämäärä- nä on siis konkretisoida ohjelmien ja al- goritmien suorituksen muuten abstrakteja piirteitä. Oletettavasti järjestelmien avul- la voidaan helpottaa ohjelmien ymmärtä- mistä ja näin ollen edelleen parantaa op- pimistuloksia. Algoritmeja visualisoivien järjestelmien käyttöä opetuksen apuna on- kin tutkittu kohtuullisen laajasti (ks. esim. [2] tai [4]); ohjelmasuorituksen visuali- soinnissa tilanne on toinen: vaikka erilai- sia järjestelmiä on kehitetty suhteellisen paljon, löytyy tutkimuksia oppimisvaiku- tuksista niukasti.

Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

OHJE KIRJAPAINOLLE: B5-arkin vasen- ja yläreuna kohdistetaan A4-arkin vasempaan jayläreunaan. Näin pitäisi marginaaliksi tulla taitteen puolella noin 33 mm ja muualla noin 22 mm.

Tietojenkäsittelytiede29 Lokakuu 2009 sivut 17–36 c© kirjoittaja(t)Toimittaja: Jorma Tarhio

Tuloksia ja kokemuksiaohjelmasuorituksen visualisoinnista

Erkki Kaila, Teemu Rajala, Mikko-Jussi Laakso & Tapio SalakoskiTurun Yliopisto, Informaatioteknologian laitos

&TUCS – Turku Centre for Computer Science

{ertaka,temira,milaak,sala}@utu.fi

Tiivistelmä

Ohjelmasuorituksen visualisointi on potentiaalisesti käyttökelpoinen menetelmäohjelmoinnin perusteiden opettamiseksi aloittelijoille. Sen vaikutuksia on kuiten-kin tutkittu melko vähän. ViLLE on Turun yliopistossa kehitetty ohjelmasuorituk-sen visualisointityökalu. Tässä artikkelissa esittelemme järjestelmän vaikutuksistatehtyjä tutkimuksia tuloksineen. Lisäksi esittelemme uusina kvalitatiivisina tulok-sina opiskelijoiden palautetta työkalun käyttöön liittyen. Tulokset ja palaute osoit-tavat, että ViLLEä voidaan hyödyntää tehokkaasti ohjelmoinnin alkeiden opetta-miseen aloitteleville ohjelmoijille.

1 Johdanto

Ohjelmointitaitoa voidaan pitää eräänätietojenkäsittelytieteen opintojen tärkeim-pänä yksittäisenä päämääränä — linjas-ta tai opintojen suuntauksesta riippumat-ta. Useiden tutkimusten (ks. esim. [8]tai [1]) mukaan opiskelijoilla on kuiten-kin huomattavia vaikeuksia peruskäsittei-den omaksumisessa. Niukkojen opettaja-resurssien ja suurten ryhmäkokojen vuok-si henkilökohtaisen ohjauksen mahdolli-suudet ovat yleensä vähäiset. Tästä joh-tuen tarve erilaisille opetuksen apuväli-neille — ja erityisesti sellaisille apuväli-neille, joita opiskelijat voivat käyttää itse-näisesti oppimisen apuna — on ilmeinen.

Visualisoinnilla tarkoitetaan ohjelmantai algoritmin esittämistä graafisesti. Wig-

ginsin [11] mukaan visualisoinnin tarkoi-tuksena on auttaa käyttäjää ymmärtämäänmitä ohjelma tekee, miksi se tekee niin,miten se toimii ja mitä suorituksesta seu-raa. Visualisointijärjestelmien päämäärä-nä on siis konkretisoida ohjelmien ja al-goritmien suorituksen muuten abstraktejapiirteitä. Oletettavasti järjestelmien avul-la voidaan helpottaa ohjelmien ymmärtä-mistä ja näin ollen edelleen parantaa op-pimistuloksia. Algoritmeja visualisoivienjärjestelmien käyttöä opetuksen apuna on-kin tutkittu kohtuullisen laajasti (ks. esim.[2] tai [4]); ohjelmasuorituksen visuali-soinnissa tilanne on toinen: vaikka erilai-sia järjestelmiä on kehitetty suhteellisenpaljon, löytyy tutkimuksia oppimisvaiku-tuksista niukasti.

Page 2: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

18 Tuloksia ohjelmasuorituksen visualisoinnista

Kuva 1: ViLLEn esimerkkieditori.

Tieteellisesti todistettujen oppimistu-losten saavuttaminen oli eräs lähtökoh-dista kehittäessämme ViLLE-nimistä oh-jelmasuorituksen visualisointijärjestelmääTurun Yliopistossa. Järjestelmää on pyrit-ty testaamaan mahdollisimman monipuo-lisesti, opiskelijoiden erilaiset lähtökohdathuomioiden. Tähän artikkeliin on koot-tu tähän mennessä julkaistuja tutkimuksiajärjestelmän käytöstä ohjelmoinnin ope-tuksessa tuloksineen, minkä lisäksi esit-telemme uusia tuloksia opiskelijoilta ke-rätyn palautteen pohjalta. Lisäksi esitte-lemme järjestelmän yleiset ominaisuudet

suhteellisen kattavasti, niin opettajan kuinoppijan kannalta, ja pohdimme järjestel-män tulevaisuutta. Artikkeli on julkaistuenglanniksi käännettynä lehdessä ”Infor-matics in Education” [3].

2 ViLLE2.1 Ominaisuudet yleisesti

ViLLE on Turun Yliopistossa kehitettyohjelmasuorituksen visualisointijärjestel-mä. Sen tarkoituksena on havainnollis-taa ohjelman tiloissa sen suorituksen aika-na tapahtuvat muutokset erilaisten graafis-

Page 3: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 19

Kuva 2: Kysymyseditori.

ten ja tekstimuotoisten elementtien avul-la. Järjestelmä tukee joustavasti eri ohjel-mointikieliä ja mahdollistaa uusien syn-taksien ja esimerkkien määrittelyn si-säänrakennettujen editorien avulla. Opet-taja voi lisäksi muodostaa esimerkkei-hin liittyen harjoitustehtäviä. Esimerkitja harjoitukset voidaan järjestelmän vien-titoimintoa hyväksikäyttäen tarjota hel-posti opiskelijoiden saataville esimerkik-si verkkoon tai muistitikulle. Integroimal-la harjoitukset TRAKLA2-palvelimeen[7] voidaan automaattisesti tarkastetta-vat tehtävät ottaa osaksi ohjelmointikurs-

sia, esimerkiksi korvaamaan (tai täyden-tämään) perinteiset demonstraatiot tai las-kuharjoitukset. Lisätietoa ViLLEstä löy-tyy järjestelmän kotisivuilta osoitteestahttp://ville.cs.utu.fi.

2.2 Ominaisuudet opettajankannalta

Opettajan näkökulmasta ViLLEn tärkeim-pänä ominaisuutena voidaan pitää sensoveltuvuutta erilaisiin kursseihin: käy-tettävä ohjelmointikieli (tai ohjelmointi-kielet), esimerkit ja tehtävät ovat kaikki

Page 4: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

20 Tuloksia ohjelmasuorituksen visualisoinnista

Kuva 3: ViLLEn syntaksieditori.

muokattavissa sisäänrakennettujen edito-reiden avulla. Tarkoituksena on sekä mah-dollistaa helppo integrointi mille tahan-sa ohjelmointikurssille että tarjota työka-lu, jolla opettaja voi toteuttaa joustavastiomaa opetusfilosofiaansa tarvitsematta si-toutua esimerkiksi määrättyyn ohjelmoin-tikieleen tai valmiisiin esimerkkeihin taitehtäviin.

2.2.1 Esimerkkien muokkaaminen

Esimerkit on jaettu aiheittain kategorioi-hin. Opettaja voi sekä muokata valmii-ta esimerkkejä että luoda kokonaan uusia

esimerkkejä esimerkkieditorin (kuva 1)avulla. ViLLE kääntää Javalla kirjoite-tun ohjelmakoodin automaattisesti kai-kille määritellyille kielille ja muodos-taa jokaisesta rivistä selitykset sekä vi-sualisoinnin kannalta tarpeelliset suoritus-tapahtumamäärittelyt. Työkalu tukee Ja-van määrittelyistä peruskurssien kannaltaolennaisimpia ominaisuuksia: painopisteon niissä ominaisuuksissa, jotka pystytäänhavainnollisesti visualisoimaan, ja jotkaesiintyvät yleisesti peruskursseilla käyte-tyissä ohjelmointikielissä; näin ollen esi-merkiksi oliotuki on rajallinen.

Page 5: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 21

Kuva 4: ViLLEn visualisointinäkymä.

2.2.2 Kysymykset ohjelmansuorituksesta

Opettaja voi määritellä kysymyksiä ohjel-man suorituksesta sitouttaakseen opiske-lijat seuraamaan visualisointia tiiviimmin.Nykyisellään järjestelmä tukee monivalin-takysymyksiä ja graafisia taulukkokysy-myksiä. Kysymykset määritellään kysy-myseditorin (kuva 2) avulla.

Kysymykset liitetään esimerkkiohjel-man suoritukseen ja ne esitetään opis-kelijalle automaattisesti tämän suoritet-tua ohjelman määrättyyn pisteeseen asti.TRAKLA-palvelinta käyttämällä voidaan

lisäksi pitää automaattisesti kirjaa opiske-lijan läpikäymistä tehtävistä ja oikeidenvastausten määrästä (ks. aliluku 2.4).

2.2.3 Ohjelmointikielten määrittely

Ohjelmointikielten syntakseja voidaanmääritellä ViLLEn syntaksieditorin (ku-va 3) avulla. Määriteltävä syntaksi on esi-tetty editorin oikeassa ikkunassa ja vas-taavat rivit Javan syntaksissa vasemmas-sa. Lisäksi alhaalla olevassa ikkunassa onesitetty editoitavan rivin syntaksin selitys.

Rivivastaavuus Java-kielen on kanssaon pakollinen kaikissa määritellyissä syn-

Page 6: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

22 Tuloksia ohjelmasuorituksen visualisoinnista

takseissa, jotta ohjelman suoritus ja mää-ritellyt kysymykset sijoittuvat oikeille pai-koilleen valitusta kielestä riippumatta. Ri-vien määrittely ei kuitenkaan ole pakollis-ta: näin esimerkiksi Pythonin lohkot voi-vat loppua tyhjään riviin Javan vastaa-vien lohkojen päättyessä sulkevaan aalto-sulkeeseen.

2.3 Ominaisuudet opiskelijankannalta

ViLLEn avainominaisuudet opiskelijankannalta voidaan jakaa seuraaviin katego-rioihin:

Ohjelman suorituksen visualisointi:ViLLE visualisoi esimerkkiohjelman suo-rituksen rivi kerrallaan (kuva 4). Ohjelma-rivien korostuksen lisäksi järjestelmä esit-tää omilla alueillaan mm. tiedon muuttu-jien arvoista ja näkyvyydestä, selityksensuoritettavasta rivistä ja ohjelman tulos-teet. Aliohjelmat ja niiden paluuarvot (sa-moin kuin aliohjelmille kuuluvat paikal-liset muuttujat) esitetään kutsujärjestyk-sessä omissa kehyksissään erillisessä kut-supinossa. Lisäksi järjestelmä esittää ha-luttaessa globaalit muuttujat (käytännössätaulukot) arvoineen omassa kehyksessään.

Kieliriippumattomuus: ViLLE visua-lisoi ohjelmat samalla tavalla ohjelmoin-tikielestä riippumatta. Opiskelija voi vaih-taa käytettävää ohjelmointikieltä missä ta-hansa suorituksen vaiheessa. Lisäksi jär-jestelmässä on erillinen rinnakkaisnäky-mä (kuva 5), jossa saman esimerkkiohjel-man suoritus esitetään yhtäaikaisesti kah-della valinnaisella ohjelmointikielellä.

Visualisoinnin kontrollit: Opiskelijavoi kontrolloida suorituksen etenemis-tä monipuolisesti: suorituksessa on mah-

dollista liikkua askel kerrallaan eteen- taitaaksepäin, minkä lisäksi ohjelma (tai osasiitä) voidaan suorittaa automaattisesti jat-kuvana halutulla nopeudella. Ikkunan ala-laidassa olevalla liukusäätimellä opiskeli-ja voi lisäksi halutessaan siirtyä suorituk-sessa mihin tahansa vaiheeseen nopeasti.Liukusäätimellä on myös sekundäärinenfunktio: sen askelista voidaan nopeastipäätellä ohjelman suoritukseen kuuluvienaskelten määrä, ja sopivilla esimerkeil-lä vertailla algoritmien (esimerkiksi kaksierilaista järjestelyalgoritmia) tehokkuuttavastaavilla syötteillä.

Vuorovaikutus: Kysymyksiin vastaa-misen (kuva 6) lisäksi opiskelijat pys-tyvät opettajan niin halutessa muokkaa-maan esimerkin koodia visualisointitilas-sa. Muutokset ohjelmakoodissa voidaanvisualisoida välittömästi kääntämisen jäl-keen. Koska ohjelmien muokkaus on kui-tenkin nykyisessä versiossa tehtävä ai-na esimerkkiohjelman Java-kieliseen ver-sioon, ei ominaisuus luonnollisesti sovellukaikkien kurssien käyttöön.

2.4 Automaattisesti arvioiduttehtävät

TRAKLA-palvelinta käyttämällä ViLLEntehtävät voidaan siirtää verkossa suori-tettavaksi kokonaisuudeksi (kuva 7). Pal-velin huolehtii opiskelijoiden kirjautumi-sista, pistemäärien ylläpidosta ja tehtävä-kierrosten avautumisesta ja sulkeutumi-sesta haluttuina ajankohtina. Opiskelijatvoivat suorittaa yksittäiset tehtävät niinmonta kertaa kuin haluavat. Lisäksi opet-taja voi asettaa kierrokselle minimipiste-määrän, joka opiskelijoiden on vähintäänsaavutettava kurssin läpäistäkseen. Ver-kossa suoritettavat ViLLE-tehtävät ovatnykyisellään käytössä useissa korkeakou-luissa Suomessa, ja palaute (ks. aliluku

Page 7: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 23

Kuva 5: ViLLEn rinnakkaisnäkymä.

3.4) opiskelijoilta on ollut pääsääntöisestierinomaista: järjestelmä näyttää täyttävänpaikkansa ohjelmakoodin lukutaidon pa-rantamisessa erityisesti ohjelmoinnin al-kutaipaleella.

3 Tutkimuksia ViLLEnkäytöstä

3.1 Järjestelmän tehokkuusopetuskäytössä

ViLLEn tehokkuutta opetuskäytössä tut-kittiin Turun Yliopiston ”Johdatus in-formaatioteknologiaan” -kurssilla. Tutki-mukseen osallistui 72 opiskelijaa (N=72),ja siinä haettiin vastausta kahteen tutki-musongelmaan: 1) ”Onko ViLLEstä apuaohjelmoinnin peruskäsitteiden oppimises-sa?” ja 2) ”Onko oppimisessa eroa, mi-

Page 8: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

24 Tuloksia ohjelmasuorituksen visualisoinnista

Taulukko 1: Esitestin tulokset.

Kysymys Vertailuryhmä (N = 40) Koeryhmä (N = 32) p-arvoKysymys 1 (K1) 5,20 (2,67) 6,19 (2,46) 0,111Kysymys 2 (K2) 2,70 (3,53) 2,13 (3,53) 0,494Kysymys 3 (K3) 2,68 (4,15) 2,09 (3,88) 0,546

Yhteensä 10,58 (8,64) 10,41 (7,18) 0,930

Taulukko 2: Jälkitestin tulokset.

Kysymys Vertailuryhmä (N = 40) Koeryhmä (N = 32) p-arvoJK1 (K1) 6,30 (2,81) 6,13 (2,69) 0,790JK2 (K2) 5,10 (4,35) 5,50 (4,50) 0,704

JK3 6,28 (3,75) 5,88 (3,75) 0,654JK4 (K3) 6,15 (4,56) 6,50 (4,42) 0,744

JK5 7,05 (3,78) 6,69 (4,08) 0,698Yhteensä (yhteiset) 17,55 (9,08) 18,13 (8,81) 0,788

Yhteensä (kaikki) 30,88 (15,20) 30,69 (15,08) 0,959Erotus JK1–K1 1,10 (2,60) -0,06 (2,81) 0,073Erotus JK2–K2 2,40 (3,30) 3,38 (4,02) 0,262Erotus JK4–K3 3,48 (4,81) 4,41 (4,53) 0,405

Erotus yhteensä 6,98 (6,81) 7,72 (6,76) 0,646

Page 9: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 25

Kuva 6: Taulukkokysymys ViLLEn visualisointinäkymässä.

käli aikaisempi ohjelmointikokemus ote-taan huomioon?”. Vastaavat nollahypotee-sit olivat, että ViLLEstä ei ole hyötyä oh-jelmoinnin oppimisessa, ja että vaikutuson sama aloittelijoille ja kokeneemmilleohjelmoijille. Tutkimus järjestettiin kurs-sin kolmannella viikolla, jolloin varsinais-ta ohjelmointiasiaa ei oltu vielä käsitelty.Opiskelijoille järjestettiin kuitenkin erilli-nen perehdytysluento, jonka aikana muunmuassa esiteltiin käytetty ohjelmointikie-li. Lisäksi kurssin toisella viikolla kurssinkotisivuille lisättiin linkki ViLLEen, jot-ta järjestelmä ja sen käyttö olisi opiskeli-

joille tuttua ennen tutkimusta. Tutkimus-ta varten opiskelijat jaettiin satunnaisestikahteen eri ryhmään: koeryhmään kuului32 oppilasta (N=32) ja vertailuryhmään40 (N=40). Molemmat ryhmät aloittivatkahden tunnin tietokoneluokkaharjoituk-sen suorittamalla esitestin viidentoista mi-nuutin aikana. Testin kolmessa kysymyk-sessä kussakin opiskelijoille esitettiin oh-jelmakoodilohko, ja pyydettiin määritte-lemään ohjelman tulostus. Esitestin jäl-keen molemmat ryhmät opiskelivat testis-sä esitettyjä aiheita käymällä vapaasti lä-pi html-muotoisen ohjelmointitutoriaalin.

Page 10: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

26 Tuloksia ohjelmasuorituksen visualisoinnista

Kuva 7: ViLLE-tehtäviä verkossa.

Koeryhmään kuuluvat opiskelijat pystyi-vät lisäksi suorittamaan tutoriaalissa ole-vat ohjelmointitehtävät ViLLEn avulla.Tutoriaalin läpikäynnin (45 minuuttia) jäl-keen molemmat ryhmät suorittivat jälki-testin puolen tunnin aikana. Jälkitestiinkuului esitestin kysymysten lisäksi kaksivaativampaa tehtävää, joista ensimmäises-sä opiskelijoiden piti itse muodostaa an-netun tehtävän suorittava ohjelma, ja toi-sessa päätellä rekursiivisen algoritmin si-sältävän ohjelman tuloste. Alku- ja jälki-testien tehtävät pisteytettiin nollasta kym-meneen siten, että nolla tarkoitti täysinväärää vastausta, ja jokainen piste tarkoit-ti 10% nousua vastauksen oikeellisuudes-sa. Maksimipistemäärä esitestissä oli näinollen 30 ja jälkitestissä 50 pistettä. Esi-testin pisteet molemmille ryhmille on esi-tetty taulukossa 1, mukaan lukien pistei-den keskiarvot, keskihajonta (suluissa) jakaksisuuntaisen t-testin avulla lasketut p-arvot ryhmien välillä.

Yhdessäkään kysymyksessä ei esiin-

tynyt tilastollisesti merkitsevää eroa. Ab-soluuttisella asteikolla vertailuryhmä suo-riutui paremmin kysymyksissä K2 ja K3,ja koeryhmä kysymyksessä K1.

Jälkitestin tulokset on esitetty taulu-kossa 2. Jokaisen kysymyksen yhteydessäon ilmoitettu suluissa vastaavan kysymyk-sen numero esitestissä. Yhteispisteistä onesitetty sekä jaettujen (eli kysymysten, jo-ka esiintyivät sekä esi- että jälkitestissä)että kaikkien pisteiden keskiarvo. Lisäksion esitetty vastaavien kysymysten esi- jajälkitestin pisteiden erotus.

Vertailtaessa sekä esi- että jälkitestissäesiintyneitä (l. yhteisiä) kysymyksiä huo-mataan, että vertailuryhmä suoriutui pa-remmin kysymyksessä JK1, ja koeryhmäkysymyksissä JK2 ja JK3. Joka tapaukses-sa erot ovat liian pienet, jotta nollahypo-teesi voitaisiin hylätä.

Taulukossa 3 on vertailtu esi- ja jäl-kitestien tuloksia ryhmien sisällä. Ku-ten taulukosta nähdään, molemmat ryh-mät suoriutuivat tilastollisesti merkitse-

Page 11: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 27

Taulukko 3: Esi- ja jälkitestin tulokset.

Pisteet Vertailuryhmä KoeryhmäEsitesti 10,58 10,41

Jälkitesti 17,55 18,13Erotus yhteensä 6,98 7,72

p-arvo 0,000 0,000

västi paremmin jälkitestissä kuin esitestis-sä (p-arvo < 0,01). Tästä voidaan päätel-lä, että järjestetyn kaltaisten tilaisuuksienavulla on mahdollista opiskella itsenäises-ti hyvinkin tehokkaasti ohjelmoinnin pe-ruskäsitteitä.

Toisena tutkimusongelmana selvitet-tiin onko aikaisemmalla ohjelmointikoke-muksella vaikutusta oppimistuloksiin. Tä-tä varten molemmat ryhmät jaettiin tulok-sia tarkastellessa edelleen kahtia: niihin,joilla ei ollut yhtään aikaisempaa ohjel-mointikokemusta (EAO), ja niihin, joil-la oli ennestään jonkin verran ohjelmoin-tikokemusta (JAO). Tuloksia tarkasteltiinaluksi ryhmien sisällä (inside groups).Esitestin tulokset ryhmittäin ohjelmointi-kokemus huomioiden on esitetty taulukos-sa 4. Taulukosta nähdään, että aikaisem-paa kokemusta omaavien tulokset ovat ti-lastollisesti merkitsevästi parempia vertai-luryhmässä (p ~0,001) ja lähes tilastolli-sesti merkitsevästi parempia koeryhmäs-sä (p ~0,051). Voidaan olettaa, että koke-neiden ohjelmoijien tulisi saada parempiapisteitä, joten tässä voitaisiin periaattees-sa käyttää myös luottamisväliä (p < 0,1).Vastaavat tulokset jälkitestistä on esitet-ty taulukossa 5. Taulukosta nähdään, et-tä vertailuryhmissä tilastollisesti merkit-sevä ero noviisien ja aikaisemmin ohjel-moineiden välillä säilyi myös lopputes-tissä. Koeryhmässä ero on kuitenkin ka-ventunut siten, että tilastollinen merkitse-vyys on hävinnyt (p-arvot 0,212 ja 0,151).

Koska tulos ei ole tilastollisesti veden-pitävä (koeryhmässä p ~0,051 esitestis-sä, vaadittava p < 0,05) vertailtiin tu-loksia myös ryhmien yli. YksisuuntainenANOVA-varianssianalyysi kaikkien nel-jän ryhmän yli esi- ja jälkitestin yhteis-ten kysymysten summille antoi F(3,68) =8,168 (esi) ja F(3,68) = 3,139 (jälki), p <0,05. Tämän jälkeen laskettiin post-hoc-analyysin avulla homogeeniset osajou-kot esi- ja jälkitestin tuloksille. Esitestis-sä luonnollisesti kahdeksi homogeenisek-si osajoukoksi muodostuivat ensinnäkinkoeryhmän EAO ja vertailuryhmä EAO(KEAO ja VEAO), ja toiseksi koeryh-män JAO ja vertailuryhmän JAO (KJAO jaVJAO). Jälkitestissä tilanne muuttui, silläKEAO kuului kumpaankin osajoukkoon,ja otti näin molempia JAO-ryhmiä kiin-ni. Näin ollen näyttää siltä, että ViLLEstäon erityisesti hyötyä kokemattomille oh-jelmoijille ja tulosta voidaan pitää merkit-tävänä, koska järjestelmän käyttöön varat-tu aika oli verrattain lyhyt. Esi- ja jälki-testin kysymyksille laskettiin Cronbachinalfa-luotettavuusarvot: arvot (esitestin =0,667 ja jälkitestin = 0,831) osoittavat, ettäinstrumenttia voidaan pitää erittäin luotet-tavana. Tutkimus on esitetty kokonaisuu-dessaan artikkelissa [10].

Page 12: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

28 Tuloksia ohjelmasuorituksen visualisoinnista

Taulukko 4: Esitestin tulokset aikaisempi ohjelmointikokemus huomioiden.

Vertailuryhmä KoeryhmäKysymys EAO

(N=23)JAO(N=17)

p-arvo EAO(N=20)

JAO(N=12)

p-arvo

K1 4,17(2,33)

6,59(2,53)

0,003 5,60(2,11)

7,17(2,76)

0,107

K2 1,22(1,78)

4,71(4,31)

0,005 1,00(2,22)

4,00(4,51)

0,049

K3 1,00(2,86)

4,94(4,62)

0,005 1,65(3,62)

2,83(4,34)

0,414

Yhteensä 6,39(4,68)

16,24(9,63)

0,001 8,25(5,44)

14,00(8,48)

0,051

Taulukko 5: Jälkitestin tulokset aikaisempi ohjelmointikokemus huomoioiden.

Vertailuryhmä KoeryhmäKysymys EAO

(N=23)JAO(N=17)

p-arvo EAO(N=20)

JAO(N=12)

p-arvo

JK1 (K1) 5,74(2,78)

7,06(2,75)

0,144 5,90(2,86)

6,50(2,43)

0,533

JK2 (K2) 3,39(3,97)

7,41(3,81)

0,003 4,70(4,58)

6,83(4,22)

0,199

JK3 5,30(4,06)

7,59(2,90)

0,045 5,05(3,65)

7,25(3,65)

0,109

JK4 (K3) 5,22(4,83)

7,41(3,94)

0,122 6,00(4,71)

7,33(3,94)

0,418

JK5 6,09(4,09)

8,35(2,96)

0,049 6,05(4,20)

7,75(3,82)

0,261

Yhteensä (yhteiset) 14,35(8,27)

21,88(8,51)

0,008 16,60(9,29)

20,67(7,64)

0,212

Yhteensä (kaikki) 25,74(14,44)

37,82(13,68)

0,011 27,70(15,49)

35,67(13,53)

0,151

Erotus JK1–K1 1,57(2,48)

0,47(2,70)

0,198 0,30(2,62)

-0,67(3,11)

0,354

Erotus JK2–K2 2,17(3,07)

2,71(3,65)

0,620 3,70(4,38)

2,83(3,46)

0,564

Erotus JK4–K3 4,22(4,73)

2,47(4,87)

0,261 4,35(4,73)

4,50(4,38)

0,929

Erotus yhteensä 7,96(5,80)

5,65(7,98)

0,295 8,35(7,98)

6,67(4,14)

0,439

Page 13: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 29

3.2 Vuorovaikutuksen merki-tys oppimisvaikutuksiin

Naps ym. [9] esittelivät vuorovaikutuk-sen taksonomian, jonka tarkoitus on jäsen-tää käyttäjän sitoutumisen määrää visuali-sointijärjestelmään. Taksonomia koostuukuudesta tasosta:

1. Ei-katsominen: Ei visualisointijär-jestelmää käytössä

2. Katsominen: Käyttäjä seuraa pas-siivisesti visualisointia. Nimestäänhuolimatta tasoon kuuluvaksi laske-taan kaikki havainnointi katsomisenlisäksi. Käyttäjä voi kontrolloida vi-sualisoinnin kulkua, muttei osallis-tu muuten aktiivisesti.

3. Vastaaminen: Käyttäjä vastaa vi-sualisoinnista esitettyihin kysy-myksiin.

4. Muokkaaminen: Käyttäjä muuttaavisualisointia, esimerkiksi muok-kaamalla visualisoitavaa ohjelma-koodia tai algoritmia.

5. Rakentaminen:Käyttäjä osallistuuaktiivisesti visualisoinnin muodos-tamiseen, esimerkiksi kirjoittamallaohjelmakoodin.

6. Esittäminen: Käyttäjä esittää vi-sualisoinnin muiden arvioitavaksi jaevaluoi sitä yhdessä ryhmän ja opet-tajan kanssa.

Luvussa 3.1 esitettyä tutkimusta laa-jennettiin siten, että esitettyjen ryhmien li-säksi mukaan otettiin kolmas ryhmä, jo-ka tutoriaalin lisäksi käytti ViLLEä koe-ryhmää alemmalla taksonomian tasolla.Käytännössä mukana oli siis kolme ryh-mää: ei-katsominen (N = 40), katsominen(N=65) ja vastaaminen (N = 32). Katso-misryhmän käyttämästä ViLLEn versiosta

oli poistettu kokonaan kysymykset ohjel-man suorituksesta. Tarkoituksena oli sel-vittää, saadaanko tutkimuksen avulla vah-vistettua Napsin ym. [9] hypoteesi, jon-ka mukaan visualisointijärjestelmän käy-töllä voidaan saavuttaa oppimisvaikutuk-sia vain jos sitä käytetään vuorovaikutuk-sen tasoilla kolmesta ylöspäin. Esi- ja jäl-kitestit ja tutkimuksen kulku olivat saman-sisältöiset kuin luvussa 3.1.

Yksisuuntaisen ANOVA-testin avullalasketut ryhmien väliset tilastolliset erotesi- ja jälkitestissä on esitetty taulukossa6. Kuten taulukosta nähdään — ja luvus-sa 3.1 jo todettiin — ei tilastollisia ero-ja ryhmien välillä esiintynyt. Myös kat-somisryhmän opiskelijat paransivat tulok-siaan tilastollisesti merkitsevästi tilaisuu-den aikana (p-arvo esi- ja jälkitestin tu-loksia verratessa ryhmän sisällä < 0,01).Tarkastellaan seuraavaksi noviisien ja oh-jelmointikokemusta omaavien opiskelijoi-den oppimistulosten eroja kaikkien ryh-mien sisällä. Tulokset on esitetty taulu-kossa 7. Esitestissä ei-katsomis- ja katso-misryhmien sisällä noviisien ja aikaisem-min ohjelmoineiden kesken oli tilastolli-sesti merkitsevä ero ja vastaamisryhmässälähes tilastollisesti merkitsevä ero. Kutenedellisessä luvussa huomattiin, vastaamis-ryhmältä ero oli hävinnyt lopputestissä.Katsomisryhmällä ero kuitenkin säilyi (p-arvo < 0,001). Tästä voidaan päätellä, ettäViLLEstä hyötyäkseen noviisien on käy-tettävä sitä katsomistasoa korkeammallavuorovaikutuksen tasolla. Edellisen var-mistamiseksi suoritettiin yksisuuntainenANOVA-varianssianalyysi jälkimittauksi-neen. Analyysin mukaan esitestin pistei-den perusteella muodostuu kaksi homo-geenista osajoukkoa siten, että kaikki no-viisit kuuluvat eri joukkoon kuin koke-neemmat (taulukko 8). Lopputestin tulok-sia vastaavalla tavalla analysoitaessa vas-taamisryhmän noviisit saivat kuitenkin ai-

Page 14: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

30 Tuloksia ohjelmasuorituksen visualisoinnista

Taulukko 6: Tilastolliset erot ryhmien välillä.

Ei-katsominen(N=40)

Katsominen(N=65)

Vastaaminen(N=32)

p-arvo

Esitesti yhteensä 10,58 (8,64) 10,85 (8,89) 10,41 (7,18) 0,968Jälkitestiyhteensä (yhteiset) 17,55 (9,08) 17,94 (9,53) 18,13 (8,81) 0,963

Erotus yhteensä 6,97 (6,81) 7,09 (6,63) 7,72 (6,76) 0,881

Taulukko 7: Esi- ja jälkitestien tulokset aikaisempi ohjelmointikokemus huomioiden.

Ei-katsominen

Katsominen Vastaaminen

Kysymys EAO(N=23)

JAO(N=17)

p-arvo

EAO(N=36)

JAO(N=29)

p-arvo

EAO(N=20)

JAO(N=12)

p-arvo

Esitestiyhteensä

6,39 16,24 0,001 6,81 15,86 0,000 8,25 14,00 0,051

Jälkitestiyhteensä(yhtei-set)

14,35 21,88 0,008 13,72 23,17 0,000 16,60 20,67 0,212

Erotusyhteensä

7,96 5,65 0,320 6,92 7,31 0,812 8,35 6,67 0,439

Jälkitestiyhteensä(kaikki)

25,74 37,82 0,011 24,72 39,90 0,000 27,70 35,67 0,151

Taulukko 8: Esitestin tulokset jaettuna homogeenisiin osajoukkoihin.

Ryhmä N Osajoukko alfa-arvolle 0,051 2

Ei-katsominen EAO 23 6,39Katsominen EAO 36 6,81Vastaaminen EAO 20 8,25Vastaaminen JAO 12 14,00Katsominen JAO 29 15,86

Ei-katsominen JAO 17 16,24

Page 15: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 31

Taulukko 9: Jälkitestin tulokset jaettuna homogeenisiin osajoukkoihin.

Ryhmä N Osajoukko alfa-arvolle 0,051 2

Katsominen EAO 36 13,72Ei-katsominen EAO 23 14,35

Vastaaminen EAO 20 16,60 16,60Vastaaminen JAO 12 20,67

Ei-katsominen JAO 17 21,88Katsominen JAO 29 23,17

kaisemmin ohjelmoineita ryhmiä kiinni(taulukko 9). Analyysi vahvistaa edelläesitettyä päätelmää: ViLLE on erityisenhyödyllinen noviiseille ohjelmoinnin pe-rusteiden oppimisessa, mutta vain, jos si-tä käytetään taksonomian korkeammallatasolla. Pelkkää passiivista visualisointiakäyttämällä vastaaviin oppimistuloksiin eipäästä.

3.3 Aikaisemman käyttökoke-muksen merkitys oppimis-vaikutuksiin

Halusimme myös tutkia järjestelmän ai-kaisemman käyttökokemuksen merkitys-tä oppimistuloksiin. Oletettavaa on, et-tä järjestelmään aikaisemmin tutustuneetopiskelijat pystyvät paremmin keskitty-mään opetettavaan asiaan, koska järjestel-män käyttöön liittyvä kognitiivinen taakkaon pienempi. Tutkimus järjestettiin kah-della samansisältöisellä lukion perusoh-jelmointikurssilla. Kurssien ainoana eronaoli se, että jälkimmäisellä kurssilla opis-kelijat tutustutettiin alusta alkaen ViLLEnkäyttöliittymään ja ominaisuuksiin. Oppi-mista testattiin samankaltaisella tilaisuu-della kuin aiemmissa luvuissa mainituis-sa tutkimuksissa, tosin esi- ja jälkitestis-sä olevat kysymykset muotoiltiin osittainuudestaan (mm. rekursio koettiin lukioi-

käisille liian monimutkaiseksi käsitteek-si). ViLLEä ennen käyttämättömät oppi-laat muodostivat vertailuryhmän (N=17)ja aikaisempaa kokemusta omaavat koe-ryhmän (N=7). Vaikka ryhmäkoot olivatmelko pieniä, tilastollisesti tulokset muo-dostuivat kuitenkin merkitseviksi.

Oppilaiden lähtötason yhteneväisyy-den varmistamiseksi tarkasteltiin heidänaikaisempien tietojenkäsittelyn ja mate-matiikan kurssiensa arvosanoja ennen tut-kimusta. Arvosanojen keskiarvot ja -hajonnat on esitetty taulukossa 10. Ryh-mien välillä ei esiintynyt arvosanoissa ti-lastollisesti merkitsevää eroa, ja absoluut-tisestikin erotus on vähemmän kuin yksipiste. Esi- ja jälkitestin tulokset ryhmittäinon esitetty taulukossa 11.

Esitestissä ryhmien välillä ei ollut ti-lastollisesti merkitsevää eroa, mutta jäl-kitestissä tilanne muuttui. Merkitsevä erolöytyy sekä jaetuissa (eli sekä esi- et-tä jälkitestissä esiintyvissä) että kaikissakysymyksissä. Tuloksista voidaan päätel-lä, että aikaisempi tutustuminen järjestel-mään vahvisti selvästi oppimisvaikutuk-sia. Voidaankin sanoa, että erilaisten jär-jestelmien oppimisvaikutuksia tutkittaes-sa on tärkeä tutustuttaa opiskelijat järjes-telmän käyttöön. Lisäksi tutkimus vahvis-ti edellisissä luvuissa mainittuja tuloksia,joiden mukaan ViLLEstä on hyötyä oh-jelmoinnin peruskäsitteiden oppimisessa:

Page 16: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

32 Tuloksia ohjelmasuorituksen visualisoinnista

Taulukko 10: Matematiikan ja tietojenkäsittelyn kurssienarvosanat (asteikko 4. . . 10).

Ryhmä Matematiikka TietojenkäsittelyVertailuryhmä 6,75 (1,60) 7,94 (1,09)

Koeryhmä 7,67 (2,25) 8,57 (1,62)

p-arvo 0,330 0,220

Taulukko 11: Esi- ja jälkitestin tulokset ryhmittäin.

Esitestiyhteensä

Jälkitestiyhteensä(yhteiset)

Jälkitestiyhteensä(kaikki)

Vertailuryhmä (N=17) 7,12 12,59 16,94Koeryhmä (N=7) 9,43 19,57 26,43

p-arvo 0,515 0,047 0,046

molemmat ryhmät saivat jälkitestissä ti-lastollisesti merkitsevästi paremmat pis-teet kuin esitestissä. Tulokset on esitet-ty kokonaisuudessaan artikkelissa Laaksoym. [5].

3.4 Opiskelijoiden mielipiteitäjärjestelmästä

Kvantitatiivisten testien lisäksi halusimmeselvittää opiskelijoiden mielipiteitä järjes-telmän käytöstä. Mielipiteet kerättiin Tu-run yliopiston Johdatus informaatiotekno-logiaan -kurssin osallistujilta kurssin lo-pussa. ViLLE oli olennaisena osana kurs-sin suoritusta, sillä kurssin demonstraa-tiot suoritettiin kokonaisuudessaan ViL-LEn automaattisesti tarkastettavien ohjel-makoodin lukutaitotehtävien avulla. Ky-selyyn vastasi yhteensä 114 (N=114) opis-kelijaa ja se jakaantui kolmeen osaan:yleiset kysymykset järjestelmästä, järjes-telmän hyödyt eri käsitteiden oppimisessaja mielipiteet järjestelmän eri ominaisuuk-sista.

Ensimmäisessä osuudessa esitettiin

kuusi väittämää järjestelmästä ja pyydet-tiin opiskelijoita arvioimaan seitsenportai-sella asteikolla (1: täysin eri mieltä, 7:täysin samaa mieltä) niiden todenmukai-suutta. Vastausten perusteella opiskelijatnäyttävät olevan sitä mieltä, että järjestel-mä soveltuu hyvin ohjelmoinnin alkeiso-petukseen (kaikkien vastaajien keskiarvo5,64), on helppokäyttöinen (ka. 5,49) jahelpottaa ohjelmointiin liittyvien käsittei-den oppimista (ka. 5,41).

Toisessa osuudessa kysyttiin olikoViLLEstä hyötyä erilaisten ohjelmointikä-sitteiden oppimisessa (taulukko 12); käy-tössä oli sama seitsenportainen asteik-ko. Opiskelijoiden vastausten perusteel-la ViLLE koettiin hyödylliseksi kaikkienkysyttyjen käsitteiden ymmärtämisessä —ainoastaan taulukoiden osalta vastausenkeskiarvo jäi alle viiden (ka. 4,73). Avoin-ten palautekommenttien perusteella, tämäjohtuu suurelta osin taulukkokysymyksiinvastaamiseen liittyneestä käytettävyyson-gelmasta.

Kolmanneksi kysyttiin mielipiteitäViLLEn eri ominaisuuksien hyödyllisyy-

Page 17: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 33

Taulukko 12: ViLLEn hyöty ohjelmointikäsitteiden ymmärtämisessä.

Ohjelmointikäsite Hyöty (asteikolla 1. . . 7)Muuttujat ja asetuslauseet 5,41 (1,37)

Valintalauseet 5,52 (1,15)Toistolauseet 5,61 (1,19)

Totuusarvolausekkeet 5,38 (1,23)Aliohjelmien määrittely 5,38 (1,25)

Aliohjelmakutsut 5,34 (1,32)Aliohjelmaparametrit 5,24 (1,33)

Taulukot 4,73 (1,58)

destä (taulukko 13). Vastausten keskiha-jonnat on merkitty sulkeisiin. Lukuun ot-tamatta ohjelmien visualisointia useallaeri kielellä, kaikkien kysyttyjen ominai-suuksien hyödyllisyys arvioitiin yli vii-deksi. Erityisesti muuttujien tilojen vi-sualisointi ja tehtävien automaattinen ar-viointi arvioitiin hyödyllisiksi (keskiarvot5,90 ja 5,80). Useilla kielillä visualisoin-nin muita heikompi keskiarvo johtuneeainakin osittain siitä, että opiskelijat ei-vät todennäköisesti käyttäneet koko omi-naisuutta. Muutenkin ominaisuudesta onvarmasti eniten hyötyä silloin, kun jonkinohjelmointikielen perusteet ovat jo hallus-sa, ja aloitetaan uuden ohjelmointikielenopiskelu.

Lisäksi opiskelijoita pyydettiin arvioi-maan asteikolla 1–7 (1 = liian vähän,7 = liian paljon) ViLLE-tehtävien koko-naismäärää kurssilla (ka. 4,48, keskiha-jonta 0,96), ja kysymysten määrää yksit-täistä tehtävää kohden (ka. 4,13, keskiha-jonta 0,76). Keskiarvojen perusteella opis-kelijoiden mielestä kurssilla oli sopivastiViLLE-tehtäviä ja tehtäviin liittyi sopivamäärä kysymyksiä.

Opiskelijoilla oli myös mahdollisuusantaa vapaamuotoista palautetta. Palauteoli pääosin positiivista, mutta myös joitainnegatiivisia kommentteja saatiin. Positii-visina puolina mainittiin esimerkiksi seu-

raavat:

• ”Mielestäni oli tehokkaampaa op-pimisen kannalta tehdä ViLLE-tehtäviä kuin käydä asioita luennol-la läpi.”

• ”Koin ViLLEn kurssilla todella hyö-dylliseksi! Sen avulla pystyi hah-mottamaan ohjelmointia aivan eritavalla kuin luennolla.”

• ”Kynnys tehtävien tekemiseen onmatala, erilaisia harjoituksia onpaljon ja tehtävät voi tehdä missäja milloin huvittaa.”

Negatiiviset kommentit liittyivätyleensä ohjelman käyttöliittymän toimin-nallisuuteen:

• ”Kysymysten kohdalla olisi kätevääpäästä lukemaan ohjelman suori-tuksen historiaa sekä muistitilojenkehityksen.”

• ”Kaikki oleellisimmat asiat eivätmahdu kuvaruudulle. Miksi ihmees-sä ViLLEen pitää loggautua?”

• ”Ärsyttävää, kun ViLLE ikkunaa eivoinut rullata alas- tai ylöspäinsuorituksen aikaisten kysymysten il-mestyessä ruutuun.”

Page 18: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

34 Tuloksia ohjelmasuorituksen visualisoinnista

Taulukko 13: ViLLEn hyöty ohjelmointikäsitteiden ymmärtämisessä.

Ominaisuus Hyöty (asteikolla 1. . . 7)Ohjelman visualisointi useilla eri kielillä 4,93 (1,46)

Aliohjelmakutsujen visualisointi kutsupinossa 5,35 (1,24)Muuttujien tilojen visualisointi 5,90 (1,17)Ohjelmakoodirivin selitysteksti 5,40 (1,49)

Suorituksen aikaiset kysymykset 5,50 (1,24)Tehtävien automaattinen arviointi 5,80 (1,28)

Lisäksi osa opiskelijoista kaipasiViLLE-harjoitusten rinnalle (tai sijasta)perinteisempää opiskelua, esim. yhteistenmikroluokkaharjoitusten muodossa:

• ”Hyvä työkalu opiskeluun, muttatoivoisin enemmän pienryhmähar-joittelua.”

• ”Ihan hyvä ohjelmoinnin alkeidenopetteluun, mutta luennoista sainsilti enemmän irti.”

Kokonaisuutena opiskelijoilla tuntuiolevan hyvinkin positiivinen kuva ViL-LEn hyödyllisyydestä, mutta parannet-tavaa luonnollisesti löytyi. Mielipiteidenperusteella opiskelijat näyttäisivät pitävänmielekkäimpänä kurssia, jossa ViLLE-tehtävät on nivottu perinteisempien opis-kelumetodien sekaan. Kohtuullisen run-sas palaute ohjelman käyttöliittymään liit-tyvistä ongelmista on myös otettu huo-mioon järjestelmää edelleen kehitettäessä,ja mm. taulukkokysymyksiin vastaaminentoimii nykyisellään (toivottavasti) loogi-semmin kuin versiossa, josta mielipiteeton kerätty.

4 Järjestelmäntulevaisuus

ViLLE on käytössä ohjelmoinnin opetuk-sessa useassa eri yliopistossa Suomessa,

ja lisäksi kevään 2009 aikana se on otettukäyttöön Monashin yliopistossa Austra-liassa. Tarkoituksenamme on tulevaisuu-dessa kehittää järjestelmää käyttäjäkoke-muksien ja mielipiteiden perusteella jatutkia edelleen minkälaisia vaikutuksiasillä on ohjelmoinnin oppimiseen. Tavoit-teena on lisätä uusia ominaisuuksia tu-kemaan myös vuorovaikutuksen taksono-mian korkeampia tasoja. Lisäksi järjes-telmään kehitetään parhaillaan tehtävä-pohjia, joiden avulla tehtäviä voidaan sa-tunnaistaa. Tehtäväpohjien avulla voidaanesimerkiksi ohjelmien muuttujat ja nii-den lähtöarvot arpoa satunnaisesti, jolloinsamojen tehtävien uudelleen tekeminenmuuttuu mielekkäämmäksi. Myös erilais-ten tehtävätyyppien lisääminen on työn al-la: tarkoituksena on lisätä ainakin koo-dirivin järjestelytehtäviä, joissa koodirivitannetaan sekoitettuna, ja opiskelijan pitääjärjestää ne tietyn tuloksen aikaansaavaanjärjestykseen.

5 Johtopäätökset

Kerättyjen tutkimustulosten, kokemustenja palautteen perusteella voidaan yhteen-vetona esittää seuraavat johtopäätöksetViLLEstä:

• ViLLEä käyttämällä aloittelijat voi-vat saavuttaa parempia oppimistu-

Page 19: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

Kaila, Rajala, Laakso, Salakoski 35

loksia lyhyenkin harjoitustilaisuu-den aikana . . .

• . . . mutta vain, mikäli työkalua käy-tetään korkeammalla vuorovaiku-tuksen taksonomian tasolla. Pelk-kä visualisointien seuraaminen (elityökalun käyttö katsomistasolla) einäytä riittävän tulosten saavuttami-seen; tulokset siis vahvistavat Nap-sin ym. [9] hypoteesin.

• Oppimishyötyjen saavuttamiseksiopiskelijat pitää lisäksi tutustuttaajärjestelmään riittävän perinpohjai-sesti etukäteen, jotta fokus voidaansuunnata asioiden oppimiseen jär-jestelmän käytön opettelun sijasta.

• Suurin osa opiskelijoista pitää ViL-LEä hyödyllisenä perusteiden ope-tuksen kannalta, osan mielestä senparas käyttömuoto olisi kuitenkintyökalun käytön integrointi muuhunopetukseen ja riittävän henkilökoh-taisen ohjauksen tarjoaminen senrinnalla.

• ViLLE tarjoaa opiskelijoille mah-dollisuuden opetella ja harjoitel-la itsenäisesti sellaisia perusasioita,joihin luennoilla ei aikarajoitustentakia voida keskittyä kaikkien opis-kelijoiden kannalta riittävällä laa-juudella.

• ViLLEn fokus on vahvasti ohjel-makoodin lukutaidon opettamises-sa. Lopezin ym. [6] mukaan opis-kelijoiden koodinlukutaito korreloisuoraan ohjelmakoodin kirjoitustai-don kanssa.

• Opettajan kannalta järjestelmän tär-keimpänä ominaisuutena voidaanpitää sen joustavuutta, erityisestikäytettävän ohjelmointikielen va-linnan suhteen.

Kaiken kaikkiaan kokemukset järjestel-mästä vaikuttavat tähän mennessä posi-tiiviselta: sekä oppimistulokset että opis-kelijoiden mielipiteet vahvistavat käsitys-tä siitä, että ViLLE on aidosti hyödylli-nen apuväline opetettaessa ohjelmoinninperusteita aloittelijoille. Kun aloittavienopiskelijoiden ohjelmointitaidot vaikutta-vat vuosi vuodelta huonommilta, on sel-vää, että järjestelmälle löytyy käyttöä tu-levaisuudessakin.

Viitteet

[1] Ala-Mutka, K. 2005. Ohjelmoinninopetuksen ongelmia ja ratkaisuja.Tekniikan opetuksen symposium 20.-21.10.2005. Helsinki University ofTechnology. http://www.dipoli.tkk.fi/ok/p/reflektori/verkkojulkaisu/in-dex.php?p=verkkojulkaisu.

[2] Hundhausen, C.D., Douglas, S.A. &Stasko, J.D. 2002. A Meta-study ofAlgorithm Visualization Effectiveness.Journal of Visual Languages and Com-puting, 13, 259–290.

[3] Kaila, E., Rajala, T., Laakso, M.-J. &Salakoski, T. 2009. Effects, Experiencesand Feedback from Studies of a Pro-gram Visualization Tool. Informatics inEducation, 8, 1, 17–34.

[4] Laakso, M.-J., Myller, N. & Korhonen,A. 2008a. Comparing learning perfor-mance of students using algorithm vi-sualizations collaboratively on differentengagement levels. Ilmestyy teoksessaJournal of Educational Technology andSociety.

[5] Laakso, M.-J., Rajala, T., Kaila, E. & Sa-lakoski, T. 2008b. The Impact Of PriorExperience In Using A VisualizationTool On Learning To Program. Teokses-sa Proceedings of CELDA 2008, Frei-burg, Germany.

Page 20: Tuloksia ja kokemuksia ohjelmasuorituksen visualisoinnista · Turun Yliopisto, Informaatioteknologian laitos & TUCS – Turku Centre for Computer Science {ertaka,temira,milaak,sala}@utu.fi

36 Tuloksia ohjelmasuorituksen visualisoinnista

[6] Lopez, M., Whalley, J., Robbins, P. &Lister, R. 2008. Relationships betweenreading, tracing and writing skills inintroductory programming. TeoksessaProceeding of the fourth internationalworkshop on Computing education re-search, September 06-07, 2008, Sydney,Australia, 101–112.

[7] Malmi, L., Karavirta, V., Korhonen, A.,Nikander, J., Seppälä, O. & Silvasti,P. 2004. Visual Algorithm SimulationExercise System with Automatic Assess-ment: TRAKLA2. Informatics in Educa-tion, 3, 2, 267–288.

[8] McCracken, M., Almstrum, V., Diaz,D., Guzdial, M., Hagan, D., Kolikant,Y., Laxer, C., Thomas, L., Utting, I.& Wilusz, T. 2001. A Multi-National,Multi-Institutional Study of Assessmentof Programming Skills of First-year CSStudents. ACM SIGCSE Bulletin, 33, 4,125–140.

[9] Naps, T. L., Rößling, G., Almstrum, V.,Dann, W., Fleischer, R., Hundhausen,C., Korhonen, A., Malmi, L., Mcnal-ly, M., Rodger, S. & Velázquez-Iturbide,J. Á. 2002. Exploring the Role of Vi-sualization and Engagement in Compu-ter Science Education. Teoksessa Wor-king Group Reports from ITiCSE on In-novation and Technology in ComputerScience Education, 35, 2, 131–152.

[10] Rajala, T., Laakso, M.-J., Kaila, E. & Sa-lakoski, T. 2008. Effectiveness of Pro-gram Visualization: A Case Study withthe ViLLE Tool. Journal of Informa-tion Technology Education: Innovationsin Practice, 7, 15–32.

[11] Wiggins, M. 1998. An overview ofprogram visualization tools and sys-tems. Teoksessa Proceedings of the 36thannual Southeast regional conference,194–200.