Visuaalinen algoritmisimulaatio ja sen sovelluksia
|
|
- Siiri Leppänen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Tietojenkäsittelytiede 23 Kesäkuu 2005 sivut Toimittaja: Antti Valmari c kirjoittaja(t) Visuaalinen algoritmisimulaatio ja sen sovelluksia Ari Korhonen Teknillinen korkeakoulu Tietotekniikan osasto Ari.Korhonen@hut.fi Tiivistelmä Ohjelmistojen havainnollistaminen on eräs ohjelmistotekniikan tutkimussuunnista. Sen sovellusalueita ovat mm. integroidut ohjelmointiympäristöt, visuaalinen testaus ja virheenjäljitys sekä opetuskäyttö. Eräs keskeinen tutkimuksen kohde tällä hetkellä on kehittyneiden vuorovaikutustekniikoiden tuominen osaksi havainnollistamiseen liittyvää prosessia. Tällöin työkalujen ja sovellusten käyttäjä ei ole pelkästään passiivinen sivustakatsoja, vaan hänellä on aktiivinen rooli esimerkiksi visualisaation tuottamisessa. Tällaisille vuorovaikutustekniikoille on käyttöä mm. opiskelussa, jolloin oppijan tehtävänä voi olla esimerkiksi algoritmianimaation tuottaminen. Tuotetun animaation oikeellisuutta voidaan verrata vastaavaan algoritmisesti tuotettuun animaatioon ja käyttäjälle voidaan antaa tämän perusteella automaattisesti palautetta suorituksesta. Eräs aktivoiva vuorovaikutustekniikka on algoritmisimulaatio, jossa käyttäjä manipuloi kuvaruudulla graafisia elementtejä simuloiden jonkin algoritmin toimintaa. Tässä artikkelissa raportoidaan Teknillisessä korkeakoulussa saatuja tuloksia, kun tätä tekniikkaa on sovellettu tietorakenteiden ja algoritmien opetuksessa käytetyissä TRAKLA- ja TRAKLA2-oppimisympäristöissä. Tutkimuksissa on mm. havaittu, että menetelmä sopii erityisen hyvin verkko-opiskeluun eikä oppimistuloksissa ole eroa verrattuna opiskelijoihin, jotka tekevät vastaavia tehtäviä luokkaopetuksessa. 1 Johdanto Nykyaikaisissa käyttöliittymissä grafiikan ja animaatioiden käyttö on arkipäivää. Hyvänä esimerkkinä niiden täysimittaisesta käytöstä ovat pelit. Kyse ei ole pelkästään esteettisistä arvoista, vaan visuaalisuus tuo mukanaan lisäarvoa, jota ei perinteisillä tekstipohjaisilla käyttöliittymillä voi saavuttaa. Tässäkin pätee vanha viisaus: kuva kertoo enemmän kuin tuhat sanaa. Osa ohjelmoijista työskentelee kuitenkin edelleen ohjelmointiympäristöissä, joissa ohjelmakoodi esitetään yhdellä yksivärisellä kirjasintyypillä, sitä muokataan yhdessä ikkunassa ja ohjelman suoritusta yritetään seurata kirjoittamalla printlauseita ohjelmakoodin sekaan. Ohjelmistojen havainnollistaminen (Software Visualization) on ohjelmistotekniikan haara, joka tutkii erilaisten ha- 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.
2 Korhonen 43 vainnollistamistekniikoiden käyttöä tietorakenteiden ja algoritmien sekä ohjelmakoodin ja sen kontrollivuon esittämiseen [25]. Tällä hetkellä tutkimus on vilkasta erityisesti visuaalisten esitystekniikoiden saralla, jossa keskeisinä keinoina ovat mm. grafiikan ja animaation käyttö. Olen kuitenkin valinnut käännökseeni sanan havainnollistaminen ( visualisointi sijasta) painottamaan sitä tosiasiaa, että englannin kielen sana visualization ei rajaa myöskään esimerkiksi äänen hyödyntämistä pois [23]. Havainnollistaminen saa siis tässä laajemman merkityksen kuin pelkkä visualisointi. Käytän jatkossa sanaa visualisointi suppeammassa merkityksessä tarkoittamaan erityisesti kuvien käyttämistä havainnollistamiseen. Lisäksi käännöksessä ohjelmisto-sana on monikossa alleviivaamassa sitä seikkaa, että kyse ei ole pelkästään yksittäisten ohjelmien tai algoritmien tasolla tapahtuvasta tarkastelusta vaan tutkimuskohteena ovat myös laajojen ohjelmistojen havainnollistamistarpeet. Ohjelmia ja niiden toimintaa on käytännössä pyritty havainnollistamaan yhtä kauan kuin ohjelmia on puettu tietokoneen ymmärtämään muotoon. Tästä esimerkkinä Goldsteinin ja von Neumannin vuokaavioesitykset konekielen havainnollistamiseen [2]. Kun ihminen kirjoittaa tietokoneohjelmaa, hänellä on mielessään jokin mentaalinen malli eli käsitys siitä kuinka ohjelma toimii. Ohjelmien havainnollistamisen perusideana voidaankin ajatella olevan tämän mentaalisen mallin selittäminen visuaalisin keinoin. Toisaalta tavoitteena on muodostaa visualisaation avulla mentaalinen malli visualisoinnin kohteesta. Visualisaation lähtökohtana voi olla esimerkiksi valmis ohjelma, jolloin pyrkimyksenä on havainnollistaa epäsuorasti se mentaalinen malli, joka ohjelmoijalla oli alun perin ohjelmaa kirjoittaessaan. Myös alkuperäinen ohjelmoija voi hyötyä tästä monin eri tavoin. Visualisaatio voidaan tuottaa automaattisesti lähdekoodista [9], jolloin se voi toimia osana ohjelman dokumentaatiota. Toisaalta, mikäli tuotettu visuaalinen malli ei vastaakaan ohjelmoijan omaa mentaalista mallia, on jossakin kohtaa prosessia tullut todennäköisesti virhe. Mitä aikaisemmassa vaiheessa virhe havaitaan, sitä parempi. Menetelmät visualisaatioiden tuottamiseen voidaan jakaa karkeasti kahteen joukkoon. Staattiset visualisaatiot, kuten edellä mainittu vuokaavio, ovat olleet jo pitkään arkipäivää ja lähes kaikki nykyaikaiset ohjelmakoodin kirjoittamiseen tarkoitetut tekstinkäsittelyohjelmat tukevat ainakin joitakin tällaisia visualisointitekniikoita. Esimerkkeinä mainittakoon automaattinen sisentäminen; ohjelmointikielen varattujen sanojen, muuttujien, jne. näyttäminen eri väreillä; tai vaikkapa olio-ohjelmointikielellä toteutetun ohjelman luokkien välisten riippuvuuksien esittäminen verkkona. Toisaalta, pelkkä käännösaikainen tieto ohjelmasta ei kerro kaikkea ohjelman toiminnasta, jolloin luonnollinen seuraava askel kehityksessä on tarkastella myös ohjelman suorituksen aikaista tilaa. Näin päädytään dynaamisiin visualisaatioihin, joiden tarve havaittiin myös hyvin varhaisessa vaiheessa [7, 8]. Niiden kehityksessä tehtiin kuitenkin todellinen harppaus vasta 1980-luvulla, jolloin graafiset päätteet alkoivat yleistyä. Syntyi uudenlainen tutkimusalue, jossa yksittäisten algoritmien toimintaa pyrittiin havainnollistamaan suorituksenaikaisesti. Kuuluisin esimerkki lienee Sorting out Sorting -video [1], jossa vertaillaan monipuolisesti eri järjestämismenetelmiä toisiinsa. Toinen tapa luokitella erilaisia visualisaatioita on tarkastella sitä abstraktiotasoa, jolla ohjelman toimintaa pyritään ku-
3 44 Visuaalinen algoritmisimulaatio ja sen sovelluksia vaamaan. Jos lähtökohtana on ohjelmakoodi ja sen (yksityiskohtainen) kuvaaminen, voidaan puhua ohjelmien visualisoinnista (program visualization). Toisaalta esimerkiksi edellä mainittu Sorting out Sorting -video ei keskity niinkään ohjelmakoodin esittämiseen vaan näyttää kuinka tietoaineisto järjestyy annetulla järjestämismenetelmällä askel askeleelta. Abstraktiotaso on korkeampi kuin ohjelmien visualisoinnissa ja tällöin puhutaankin algoritmien visualisoinnista. Video on lisäksi luonteeltaan dynaaminen visualisaatio, jolloin voidaan puhua algoritmianimaatiosta (algorithm animation). Edellä mainitun videon tekemiseen meni tekijöiden mukaan kolme vuotta, joten erääksi haasteeksi algoritmianimaatioiden tuottamisessa onkin noussut ajankäytön minimointi esitysmateriaalia valmistettaessa. Tänä päivänä vastaava voitaisiin tehdä esimerkiksi luentotilanteessa mielivaltaisilla syötteillä reaaliaikaisesti [6]. Motivaationa sekä varhaisissa ohjelmistojen havainnollistamiseen pyrkivissä esityksissä että nykyaikaisissa välineissä on siis ohjelman toiminnan ymmärtäminen ja selittäminen. Toisin sanoen tavoitteena on, että ihminen kykenee seuraamaan sitä logiikkaa, jolla ohjelma suoriutuu sille asetetusta tehtävästä (tai vaihtoehtoisesti miksi se ei suoriudu). Tästä seuraa, että ohjelmien havainnollistamiseen kykeneviä työkaluja voidaan soveltaa mm. ohjelmien kehittämiseen, niiden suunnitteluun ja määrittelyyn, testaukseen, virheenjäljitykseen, opiskeluun ja opetukseen. Monet integroidut kehitysympäristöt (IDE, Integrated Development Environment) sisältävät jo nyt komponentteja, joilla voidaan havainnollistaa työn alla olevan ohjelmiston toimintaa. Voidaan kuitenkin todeta, että niiden osalta viimeaikaisen tutkimuksen siirtyminen käytäntöön antaa odottaa itseään. Opetuspuolella tulokset tuntuvat siirtyvän käytäntöön nopeammin. Tähän on luonnollisena selityksenä se, että suuri osa alan tutkimusryhmistä tekee tutkimusta yliopistoissa ja harjoittaa myös opetusta, jolloin tekijän on helppo siirtää omat tutkimustuloksensa suoraan käytäntöön. Alkuperäinen motivaatio tutkia alaa onkin usein lähtöisin omakohtaisista tarpeista. Myös opetuspuolella on kuitenkin omat haasteensa mm. tulosten saamiseksi laajaan käyttöön, koska tyypillisesti välineet leviävät yliopistoista toiseen hyvin hitaasti. Toisaalta opetuksen avuksi kehitettävien järjestelmien vaatimukset voivat olla hyvin erilaisia kuin yleisesti ohjelmistotekniikan tarpeisiin suunnitelluilla järjestelmillä, vaikka perusperiaatteet olisivatkin samat. Tämä näkyy erityisesti käyttäjän ja järjestelmän välisessä vuorovaikutuksessa ja siinä palautteessa, jota käyttäjän (opettaja tai opiskelija) tulee saada järjestelmältä. Tarkastelen seuraavassa erään opetuskäyttöön tarkoitetun järjestelmän kehitysprojektia. Lähtökohtana on ollut opiskelijan aktivoiminen opiskelutilanteessa toteuttamalla ympäristö, jossa oppija voi ratkoa tietorakenteisiin ja algoritmeihin liittyviä tehtäviä visuaalisessa ympäristössä. Oppija ei ainoastaan katsele algoritmianimaatioita, vaan hänen tehtävänään on tuottaa oikeanlainen animaatio annetun tehtävän puitteissa. Tutkimuksen tavoitteena on ollut kehittää aivan uudentyyppinen vuorovaikutustekniikka käyttäjän ja havainnollistamiseen kykenevän järjestelmän välillä. Käytämme siitä nimeä visuaalinen algoritmisimulaatio. Luvussa 2 kuvataan tämä vuorovaikutustekniikka ja esitellään toteutettu sovelluskehys, joka mahdollistaa visuaalisen algoritmisimulaation. Luvussa 3 kuvataan sovelluskehyksen avulla toteutetun varsinaisen järjestelmän toimintaperiaate sekä
4 Korhonen 45 sen ympärille kehitetty toimintaympäristö. Järjestelmän soveltuvuutta opetuskäyttöön on tutkittu kokeellisesti ja luvussa 4 esitetään saadut keskeiset tulokset. Lopuksi esitetään johtopäätökset ja eräitä jatkotutkimusaiheita luvussa 5. 2 Visuaalinen algoritmisimulaatio 2.1 Periaate Visuaalisessa algoritmisimulaatiossa [11] keskeisessä asemassa on vuorovaikutus käyttäjän ja ohjelman välillä. Menetelmä voidaan nähdä algoritmianimaation laajennuksena, jossa tieto kulkee myös vastakkaiseen suuntaan eli käyttäjältä ohjelmalle verrattuna pelkkään algoritmianimaatioon, jossa se kulkee ohjelmalta käyttäjälle. Algoritmianimaatio on keskeisessä asemassa tässä vuorovaikutuksessa, koska visuaalisen algoritmisimulaation tuloksena voidaan nähdä syntyvän juuri algoritmianimaatio. Algoritmianimaatio on prosessi, jossa algoritmi muokkaa suorituksen aikaisesti joukkoa tietorakenteita ja nämä muutokset havainnollistetaan käyttäjälle sopivalla käsitteellisellä tasolla. Algoritmianimaatio voi sisältää myös koodianimaation, jossa algoritmin suoritus kytketään askel askeleelta tietorakenteissa tapahtuviin muutoksiin. Tähän tarkoitukseen on kehitetty suuri määrä järjestelmiä, joista mainittakoon esimerkkeinä Animal [24], JAWAA [22] ja Jeliot 3 [21]. Visuaalinen algoritmisimulaatio on prosessi, jossa käyttäjä muokkaa joukkoa todellisia tietorakenteita oletetun algoritmin suorituksen mukaisesti sopivan graafisen käyttöliittymän avulla. Tyypillisesti tämä tarkoittaa graafisten entiteettien kuten esimerkiksi verkon solmujen, niissä olevien avainten ja solmujen välisten kaarien operoimista vedä ja pudota -tekniikalla. Käyttäjä ei kuitenkaan muokkaa pelkästään käyttöliittymän graafisia elementtejä vaan epäsuorasti myös todellisia tietorakenteita, jolloin käyttäjän tekemä operaatio välittyy alla olevalle tietorakenteen toteutukselle, jonka jälkeen sitä vastaava visualisaatio päivittyy automaattisesti. Operaatioiden toiminnallisuutta ei ole mitenkään rajoitettu, koska alla olevaan tietorakenteeseen voidaan kohdistaa mikä tahansa sitä muokkaava algoritmi, jonka käyttäjä voi aktivoida yksinkertaisella käyttöliittymäoperaatiolla. Käyttäjä voi esimerkiksi lisätä uusia avaimia AVLpuun tyhjiin lehtisolmuihin tai aktivoida sopivilla painikkeilla AVL-puun rotaatiooperaation (palaamme tähän esimerkkiin myöhemmin kuvan 1 yhteydessä). Kannattaa huomata, että visuaalisessa algoritmisimulaatiossa käyttäjä ei kirjoita lainkaan ohjelmakoodia. Toisaalta, mikäli simulaation seurauksena syntyisi ohjelmakoodia, voitaisiin puhua visuaalisesta ohjelmoinnista. Algoritmisimulaation seurauksena syntyy algoritmianimaatio vastaavalla tavalla kuin jos tietorakenteita olisi muokannut jokin tietokoneohjelma. Tällöin kaikki se toiminnallisuus, joka on totuttu näkemään algoritmianimaatioiden yhteydessä, on yhtä lailla käytettävissä myös ympäristöissä, joissa keskeisenä vuorovaikutustekniikkana on visuaalinen algoritmisimulaatio. Esimerkiksi opetuskäytössä eräs keskeinen toiminnallisuus on animaation ajaminen etu- ja takaperin. Tästä on hyötyä kun halutaan tarkastella jotakin yksittäistä kohtaa (tietorakenteen peräkkäisiä tiloja) algoritmin suorituksessa. Edelliseen tilaan ja siitä takaisin on helppo siirtyä suorittamatta koko algoritmia uudelleen (kuten tyypillisesti on tapana esimerkiksi virheenjäljittimissä).
5 46 Visuaalinen algoritmisimulaatio ja sen sovelluksia 2.2 Matrix Visuaalisen algoritmisimulaation käyttömahdollisuudet ovat laajat. Tästä syystä Teknillisen korkeakoulun (TKK) Tietojenkäsittelyopin laboratoriossa lähdettiin 2000-luvun vaihteessa kehittämään eräässä projektissa sovelluskehystä ei pelkästään yhden, vaan usean sovelluksen tarpeisiin. Ensisijainen motiivi oli kuitenkin kehittää opiskelijoille tarjottavien automaattisesti tarkastettavien kotitehtävien tarkastukseen sopiva järjestelmä Tietorakenteet ja algoritmit -kurssille. Tätä varten kehitettiin ensin Matrixsovelluskehys, jonka pohjalta syntyi uusi TRAKLA2-järjestelmä korvaamaan viime vuosikymmenen alussa käyttöön otettu TRAKLA 1. [18] Matrix on Javalla toteutettu sovelluskehys, joka mahdollistaa mm. algoritmisimulaatiotehtävien teettämisen opiskelijoilla TRAKLA2-ympäristössä. Menetelmä perustuu visuaaliseen algoritmisimulaatioon, jossa oppijan tehtävänä on simuloida algoritmin toimintaa sopivalla syötteellä. Esimerkiksi tehtävänä voi olla annettujen avainten lisääminen yksi kerrallaan alun perin tyhjään AVL-puuhun kuten kuvassa 1. Tehtävä ratkaistaan lisäämällä avaimet yksi kerrallaan oikeisiin paikkoihin visualisaatiossa, joka esitetään binääripuuna. Rotaatiot voidaan tehdä jokaisen lisäyksen jälkeen joko päivittämällä solmujen välisiä kaaria (tähän on itse asiassa erillinen tehtävä, jossa harjoitellaan vain rotaatioita) tai annetulla valmiilla rutiinilla, jolloin käyttäjän tulee valita hiirellä alin epätasapainoinen solmu ja painikkeella oikea rotaatio. Jotta jokaista tietorakennetta tai tehtävää varten ei tarvitsisi toteuttaa uutta visualisaatiota on Matrix-sovelluskehyksen perusperiaatteena tarjota sovellusohjelmille kattava joukko erilaisia visualisaatioita ja niitä vastaavat tietorakenteiden toteutukset, joista käytämme nimeä talletusrakenteet. Talletusrakenteita on mahdollista luoda lisää toteuttamalla uudelle tietorakenteelle haluttuja visualisaatioita vastaavat rajapinnat. Nykyinen talletusrakenteiden joukko riittää kuitenkin kattamaan lähes kaikki mahdolliset tietorakenteiden toteutukset. Kyse on lähinnä esitystavasta. Järjestelmä tarjoaa myös mahdollisuuden räätälöidä tietorakenteiden esitystapaa paremmin tarkoitukseen sopivaksi, mutta koska rakenne piirretään ruudulle automaattisesti, niin on luonnollista, että aivan kaikkia tarpeita on mahdotonta tyydyttää. Esitysmuotojakin on toki mahdollista lisätä, mutta se on huomattavasti työläämpää kuin valmiiden komponenttien uudelleenkäyttö. Tällä hetkellä talletusrakenteina on valmiiksi toteutettu taulukko, linkitetty lista, binääripuu, yleinen puu, sekä verkko. Näiden avulla voidaan toteuttaa teoriassa mikä tahansa abstrakti tietotyyppi, koska rakenteet voivat sisältää rekursiivisesti toisia rakenteita. Esimerkiksi edellä mainittu AVL-puu voidaan toteuttaa helposti binääripuun avulla laajentamalla vastaavan talletusrakenteen toiminnallisuutta. Kuvassa 2 esitetty B- puu on puolestaan toteutettu sisäkkäisten talletusrakenteiden avulla siten, että jokainen B-puun solmu (yleinen puu) sisältää taulukon. 1 TRAKLA on akronyymi sanoista TietoRakenteet ja Algoritmit; KotiLaskujen Arvostelu.
6 Korhonen 47 Kuva 1: TRAKLA2-tehtävä, jossa tehtävänantona on Lisää taulukon avaimet annetussa järjestyksessä taulukon alla olevaan AVL-puuhun. Jos sama avain esiintyy useampaan kertaan, niin se tulee sijoittaa edellisen oikealle puolelle. Simulaatiossa käyttäjä on lisännyt ensin kolme avainta (E, I ja P) alun perin tyhjään AVL-puuhun sekä tehnyt tarvittavan rotaation juuressa valitsemalla ensin solmun E ja sen jälkeen painikkeen Single rotation left. Tämän jälkeen tehtävä on jatkunut avainten D, K, F, G ja M lisäämisellä, jolloin on saavutettu kuvan tilanne. Rakenne tasapainotettaisiin valitsemalla solmu P ja painike LR double rotation. Etualalla on tehtävän malliratkaisun (Model answer) lopputila. Muita kuin näkyvissä olevia tiloja voi selata sekä omassa että malliratkaisussa rakenteiden yläpuolella olevilla Backward-, Forward-, Beginja End-painikkeilla, jolloin omaa ratkaisua voi verrata malliratkaisuun. Malliratkaisun katsomisen jälkeen tehtävää ei voi enää palauttaa (painike Submit ei ole enää aktiivinen) ennen kuin tehtävä on alustettu uusilla alkuarvoilla (Reset).
7 48 Visuaalinen algoritmisimulaatio ja sen sovelluksia 3 TRAKLA2 TRAKLA2 on verkkoympäristö tietorakenteisiin ja algoritmeihin liittyvien algoritmisimulaatiotehtävien jakeluun, tehtävien ratkomiseen ja palauttamiseen, tehtävien automaattiseen tarkastamiseen ja palautteen antamiseen, tehtäviin liittyvän oppimateriaalin levittämiseen, pistekirjanpitoon jne. Järjestelmä otettiin TKK:lla käyttöön vuonna 2003 ja se korvasi kokonaan vanhemman TRAKLA-järjestelmän vuonna 2004, jolloin se oli ensimmäistä kertaa käytössä myös Turun yliopistossa (TY) sekä testikäytössä Åbo Akademissa. [16] Tehtävien tekemiseen tarkoitettu osa järjestelmää perustuu Matrixsovelluskehykseen. Sen ympärille on rakennettu verkkoympäristö, josta tehtävät voidaan ladata Java-sovelmana (ks. kuva 1). Sovelma ottaa yhteyttä palvelimeen, jolle tehtävät myös palautetaan. Palvelin on yhteydessä verkkoympäristön perustana olevaan tietokantaan, jonne talletetaan mm. opiskelijan saamat pisteet tehtävistä. Näin opiskelija voi seurata omaa etenemistään verkkosivuston kautta. TRAKLA2-ympäristössä opiskelija kirjautuu järjestelmään opiskelijanumerolla ja itse valitsemallaan salasanalla. Pääsivulla kerrotaan millä kurssilla opiskelija on ja mitä tehtäväkierroksia kurssiin kuuluu. Tyypillisesti tehtävät on jaettu kierroksiin aihepiireittäin. Jokaisella tehtäväkierroksella on määräaika, johon mennessä tehtävät tulee palauttaa. Tällä hetkellä tehtäviä on mm. seuraaviin aihepiireihin: perusalgoritmit, järjestämisalgoritmit, prioriteettijonot, hakupuut, hajautus ja verkot. Liitteessä A on tarkempi luettelo tehtävistä selityksineen. Kunkin kierroksen tehtävät voi tehdä haluamassaan järjestyksessä. Valitsemalla tehtävän opiskelija siirtyy Java-sovelmaan, jossa tehtävä alustetaan henkilökohtaisilla alkuarvoilla. Kuvassa 1 näitä alkuarvoja vastaavat taulukossa olevat avaimet, jotka on valittu siten, että tehtävässä esiintyy aina vähintään yksi yksinkertainen rotaatio ja yksi kaksinkertainen rotaatio. Tehtävän ratkaistuaan opiskelija palauttaa sen palvelimelle. Samalla tehtävä arvioidaan automaattisesti vertaamalla opiskelijan ratkaisua malliratkaisuun, joka on tuotettu algoritmisesti. Palautteena opiskelija saa oikeiden simulaatioaskelien lukumäärän sekä ratkaisun oikeellisuuden perusteella annetun pistemäärän. Järjestelmien (sekä TRAKLA että TRAKLA2) ympärillä on toteutettu useita erilaisia koeasetelmia ja tutkimuksia. Käyttökokemuksia ja saavutettuja pisteitä on seurattu lähes vuosittain. Sen lisäksi on järjestetty laajempia kyselyjä erityisesti vuosina, jolloin järjestelmää on voimakkaasti kehitetty. Seuraavassa on lueteltu tärkeimmät tutkimukset: 1991 Käyttäjäkysely ja tenttiarvosanojen vertailututkimus edelliseen vuoteen, jolloin vastaavaa järjestelmää ei vielä ollut [3] Käyttäjätyytyväisyyskysely, jolloin järjestelmään tuotiin ensi kertaa verkkopohjainen käyttöliittymä [10, 12] Interventiotutkimus, jossa seurattiin opiskelijoiden oppimistuloksia kolmessa satunnaisesti valitussa ryhmässä. Yksi ryhmä teki tehtäviä verkossa ja oppimistuloksia verrattiin toiseen vastaavia tehtäviä luokkaopetuksessa tekevään ryhmään. Lisäksi kolmas ryhmä teki vaativampia tehtäviä (joita ei voida tarkastaa automaattisesti) luokkaopetuksessa [14].
8 Korhonen 49 D H B F J L N A C E G I K M O P Kuva 2: B-puu (2-3-4-puu), jonka esitysmuoto koostuu yleisestä puusta, jonka solmuihin on upotettu 3-paikkaisia taulukoita. Taulukoiden alkioina on avaimia. Kuva on tuotettu MatrixPro-työkalulla [5] (joka myös perustuu Matrix-sovelluskehykseen) tallentamalla näkymä texdraw-formaatissa [4]. Lopputulos voitiin liittää tähän artikkeliin sellaisenaan ilman mitään jatkokäsittelyvaiheita Käyttäjätyytyväisyys- ja vertailukysely (TRAKLA2:n koekäyttö TRAKLA:n rinnalla) [15] Käyttäjätyytyväisyyskysely sekä verkkopohjaiseen opiskeluun liittyvä asennekysely TY:ssä ja käytettävyystutkimus ÅA:ssa [16] Meneillään on vuoden 2001 koeasetelman kaltainen tutkimus TRAKLA2:lla (tosin vain 2 ryhmällä). Lisäksi järjestelmää seurataan jatkuvasti pitkittäistutkimuksen avulla [20], jossa opiskelijoiden saavuttamia suhteellisia pistemääriä tilastoidaan vuosittain. Ennen vuotta 2003 laaditut tilastot liittyvät vanhaan TRAKLA-järjestelmään. Vuoden 2003 jälkeen tehdyt tilastot liittyvät puolestaan uuteen TRAKLA2-järjestelmään. Vuonna 2003 käytössä olivat molemmat järjestelmät. Alusta asti on ollut selvää, että opettajan näkökulmasta järjestelmä tuo sellaista lisäarvoa opetukseen, jota perinteisillä menetelmillä ei voida saavuttaa: opiskelijoilla voidaan teettää suuri määrä pakollisia harjoitustehtäviä, vaikka kurssin opiskelijamäärä olisi erittäin suuri. Kyse ei ole pelkästään rahasta vaan myös muista resursseista. Kontaktiopetus vaatii asiantuntevaa työvoimaa ja salitilaa, jota ei välttämättä ole tarjolla vaikka rahaa lähiopetuksen toteuttamiseen olisikin. Vaikka automaattisesti tarkastettavan tehtävän toteuttamiseen meneekin paljon enemmän aikaa kuin perinteisiä laskuharjoituksia suunniteltaessa 2, maksaa vaiva itsensä helposti takaisin, koska järjestelmä tarkastaa vastaukset automaattisesti. Lisäksi tehtävät ovat käytettävissä vuodesta toiseen, koska jokaiselle opiskelijalle voidaan räätälöidä yksilöllinen tehtävä. Näin esimerkiksi perinteisiin harjoituksiin liittyviä plagiointiongelmia ei ole. Viime vuosina järjestelmän tuomaa lisäarvoa on yhä enemmän lähdetty arvioimaan myös oppijan kannalta. Järjestelmästä kerätään palautetta systemaattisesti, jolloin mahdolliset epäkohdat on voitu korjata jo kurssien aikana. Mm. tästä syystä järjestelmästä saatava palaute käyttäjätyytyväisyyskyselyissä on ollut erittäin kiittävää. 2 TRAKLA2-järjestelmässä tämä aika vaihtelee tehtävästä riippuen muutamasta päivästä (tyypillinen tilanne) muutamaan viikkoon (täysin uudentyyppisen tehtävän toteuttaminen).
9 50 Visuaalinen algoritmisimulaatio ja sen sovelluksia Taulukko 1: Ryhmien perustiedot. Opiskelijoiden lukumäärä ryhmässä on merkitty sarakkeeseen N. Jokainen ryhmä jaettiin lisäksi pienryhmiin, joiden lukumäärä on ilmoitettu sarakkeessa s ja joiden keskimääräinen koko vastaavasti sarakkeessa k. Tutkimuksessa tutkittavana muuttujana oli opetusmenetelmä. Ryhmä N s k Opetusmenetelmä A 372 algoritmisimulaatiotehtävät verkossa B algoritmisimulaatiotehtävät luokassa C analyyttiset laskuharjoitukset luokassa 550 Toisaalta uuden järjestelmän myötä myös opiskelijalle tehtävästä annettavan palautteen laatuun on alettu kiinnittää huomiota. Esimerkiksi tehtävien mallivastaukset voidaan esittää askel askeleelta algoritmianimaatioina (ks. ikkuna etualalla kuvassa 1), kun aikaisemmin ne olivat tekstimuodossa ja sisälsivät vain lopputilan. Oppijan kannalta mahdollisuus saada palaute välittömästi on myös eräs etu, jota perinteinen luokkaopetus ei voi ainakaan tässä laajuudessa tarjota. Tehtävän ei myöskään tarvitse päättyä palautteen saamiseen, vaan opiskelija voi halutessaan (esimerkiksi mikäli vastaus oli virheellinen tai kertauksena myöhemmin) ratkaista tehtävän uudelleen uusilla lähtöarvoilla, jolloin mallivastauksen näkeminenkään ei pilaa oppimiskokemusta. Tutkimuksilla on osoitettu, että itseopiskeluna verkossa suoritettavat tehtävät eivät johda ainakaan huonompiin oppimistuloksiin kuin mitä perinteinen opetus mahdollistaisi [14, 16]. Kun tähän lisätään vielä aika- ja paikkariippumattomuus voidaan todeta, että verkossa tapahtuva opiskelu algoritmisimulaatiotehtävien avulla tuottaa huomattavaa lisäarvoa myös oppijan näkökulmasta. 4 Tulokset Tarkastelen seuraavassa erityisesti edellä mainittuja vuoden 2001 interventiotutkimusta, pitkittäistutkimusta sekä vuoden 2004 käytettävyystutkimusta. Kaikissa tutkimuksissa tulokset ovat olleet hyvin samansuuntaisia. 4.1 Interventiotutkimus Vuonna 2001 kurssilla järjestettiin koeasetelma, jossa seurattiin opiskelijoiden oppimistuloksia kolmessa satunnaisesti valitussa ryhmässä A, B ja C. Ensimmäinen ryhmä ( A = 372 opiskelijaa) teki tehtäviä verkossa ja oppimistuloksia verrattiin toiseen vastaavia tehtäviä luokkaopetuksessa tekevään ryhmään ( B = 77). Lisäksi kolmas ryhmä ( C = 102) teki vaativampia tehtäviä (analyyttisiä laskuharjoitustehtäviä, joita ei voida tarkastaa automaattisesti) luokkaopetuksessa. Ryhmät valittiin satunnaisesti opiskelijanumeron viimeisen merkin (tarkastusmerkki) mukaan. Luokkaopetukseen osallistuvat ryhmät jaettiin vielä pienempiin ryhmiin luokkatilan koon mukaan. Jokaista pienryhmää ohjasi kerralla kaksi tuntiassistenttia. Taulukkoon 1 on koottu ryhmien perustiedot.
10 Korhonen 51 Taulukko 2: Interventiotutkimuksen tulokset. Sarakkeissa K 1 ja K 2 ovat prosenttiosuudet opiskelijoista, jotka keskeyttivät kurssin heti alussa palauttamatta yhtään tehtävää sekä opiskelijoista, jotka keskeyttivät kurssin aikana, vastaavasti. K 3 on prosenttiosuus opiskelijoista, jotka läpäisivät tehtävät, mutta joko eivät osallistuneet tenttiin tai eivät läpäisseet sitä. P tentti on prosenttiosuus opiskelijoista, jotka läpäisivät sekä tehtävät että tentin. T P on kunkin ryhmän keskimääräiset tenttipisteet (max = 70). Ryhmä K 1 K 2 K 3 P tentti T P A 4,6% 8,9% 4,8% 81,7% 33,04 B 0,0% 11,7% 5,2% 83,1% 32,74 C 8,9% 25,7% 2,0% 63,4% 39,56 Taulukossa 2 on esitetty interventiotutkimuksen tulokset, jossa tarkasteltiin kahta muuttujaa ryhmien A, B ja C osalta. Ne olivat keskeyttäneiden opiskelijoiden määrä ja eri ryhmiin osallistuneiden opiskelijoiden tenttimenestys kurssin lopuksi. Ryhmien A ja B välillä ei ole merkitseviä eroja keskeyttäneiden kokonaismäärässä eikä oppimistuloksissa (t-testi, p = 0, 871; p ilmoittaa sen todennäköisyyden, että jos ryhmien välillä ei ole eroa, niin mittauksiin tulee silti sattumien vuoksi ainakin testissä havaitun suuruinen ero). Sen sijaan jos oppimistuloksia vertaa ryhmään C, havaitaan että ryhmien välillä on merkitsevät erot (p AC = 0,000 ja p BC = 0,005). Näiden ryhmien vertailu käy kuitenkin mahdottomaksi valikoivan kadon 3 myötä, joka näkyy ryhmän C suuressa keskeyttäneiden määrässä ja vastaavasti paremmissa arvosanoissa. 4.2 Pitkittäistutkimus Järjestelmää ja kurssia on kehitetty voimakkaasti vuosien saatossa ja siihen on kohdistunut lukuisia muutoksia, jolloin on luonnollista, että näiden muutosten seurauksia on tarkasteltu myös tilastollisesti. Seuraavaan listaan on kerätty tärkeimmät muutokset kurssilla vuosina TRAKLA-järjestelmän tekstipohjainen (sähköpostiin perustuva) käyttöliittymä oli vakiintunut kurssin laskuharjoitustehtävien käyttöön. Kunkin tehtäväkierroksen tehtävät tuli palauttaa määräaikaan mennessä, jonka jälkeen niistä sai automaattisesti palautetta pisteinä. Saavuttamalla 90% tehtävien maksimipisteistä saattoi korottaa kurssin kokonaisarvosanaa yhdellä numerolla (arviointi 0 5). Arvosanoja 0 tai 5 ei kuitenkaan voinut korottaa Luennoija vaihtui. Tehtävien uudelleenpalautus tuli mahdolliseksi, jolloin yksittäisen tehtävän saattoi palauttaa 3 5 kertaa siten, että välissä järjestelmä antoi palautetta ratkaisun oikeellisuudesta pisteinä. Järjestelmän www-selaimella toimiva graafinen käyttöliittymä otettiin koekäyttöön (37,5% opiskelijoista käytti uutta käyttöliittymää) [10] Kurssin arviointiperusteet muuttuivat siten, että tehtävistä saatu ar- 3 Ryhmässä C tenttimään tuli suhteellisesti muita ryhmiä enemmän aiemmissa opinnoissaan menestyneitä opiskelijoita (taustamuuttuja, jonka suhteen satunnaisesti valituissa ryhmissä ei ollut aluksi eroja).
11 52 Visuaalinen algoritmisimulaatio ja sen sovelluksia vosana vaikutti 30% kurssin kokonaisarvosanaan. Kaikista kurssin osasuorituksista piti kuitenkin saada hyväksytty arvosana. Graafinen käyttöliittymä tuli ensisijaiseksi käyttöliittymäksi (n. 70% opiskelijoista käytti sitä). Tehtävävalikoimaa laajennettiin ja vaikeutettiin (mm. tasapainotettuja hakupuita käsittelevät tehtävät tulivat uusina mukaan ja joitain helppoja tehtäviä jätettiin pois) Kurssin työmäärää lisättiin ottamalla ohjelmaan laskuharjoitustehtävien lisäksi ryhmätyönä tehtävä suunnittelutehtävä, josta sai palautetta ja jonka kurssin muut opiskelijat arvioivat vertaisarviointina Interventiotutkimus. Ainoa vuosi, jolloin kaikki opiskelijat eivät tehneet samoja tehtäviä vaan mm. ryhmä C teki haastavampia analyyttisiä laskuharjoituksia luokassa Luennoija vaihtui ja erilliset kurssit pääaineopiskelijoille (T-kurssi) ja muille (Y-kurssi) eriytettiin toisistaan sisällön osalta. T-kurssilla suunnittelutehtävästä luovuttiin ja se korvattiin perinteisillä luokassa pidettävillä analyyttisillä laskuharjoituksilla, joissa jokainen opiskelija teki tehtävät itsenäisesti TRAKLA2 oli testikäytössä kahdella tehtäväkierroksella TRAKLA2 korvasi kokonaan vanhan TRAKLA-järjestelmän. Tehtävälle sallittujen palautusten määrän yläraja poistettiin. Opiskelijoiden suoriutumista tehtävistä voidaan tarkastella karkeasti jakamalla opiskelijat neljään joukkoon: opiskelijat, jotka 1) eivät saavuta tehtävistä vaadittavia minimipisteitä (50% maksimipisteistä), 2) saavuttavat minimipisteet, mutta eivät parasta arvosanaa (vähintään 50%, mutta alle 90% pisteistä), 3) saavuttavat parhaaseen arvosanaan vaadittavat pisteet, mutta eivät maksimipisteitä (vähintään 90%, mutta alle 100% pisteistä) ja 4) saavat täydet pisteet (100% pisteistä). Tätä aineistoa on kerätty systemaattisesti aina vuodesta 1993 lähtien ja se on esitetty kuvassa 3. Pitkittäistutkimuksessa normaali vuosittainen vaihtelu ja siitä poikkeavat muutokset neljässä joukossa erottuvat selkeästi. Vuosien jakaumissa ei ole tilastollisesti merkitseviä eroja (χ 2 -testi, p = 0, 50). Ensimmäiset selkeät erot ajoittuvat vuosien väliin. Vuonna 1998 ensi kertaa merkittävä määrä opiskelijoista kuului joukkoon 4. Lisäksi joukon 2 koko pieneni ja joukon 3 koko suureni. Näihin muutoksiin vaikuttivat seuraavat kolme eri seikaa yhdessä: i) vuonna 1997 järjestelmän graafinen käyttöliittymä otettiin ensi kertaa testikäyttöön ja samalla ii) mahdollistettiin tehtävien uudelleenpalauttaminen kesken kierroksen, saadun palautteen (pistemäärä) perusteella ja iii) vuonna 1998 kurssin arviointiperusteita muutettiin siten, että tehtävien tekeminen vaikutti huomattavasti enemmän (30%) kokonaisarvosanaan aikaisempaan verrattuna (jolloin arvosanaan lisättiin 1, jos ylsi joukkoihin 3 tai 4). Vuosien 1997 ja 1998 välistä eroa (χ 2 - testi, p < 0,001) ei voi selittää tehtävien helpottumisella itse asiassa ne vaikeutuivat, koska osa tehtävistä muuttui graafisen käyttöliittymän ansiosta lähes triviaaleiksi, jolloin ne poistettiin ja tilalle otettiin vaativampia tehtäviä (mm. tasapainotettuja hakupuita käsittelevät tehtävät).
12 Korhonen % 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Kuva 3: TRAKLA- ja TRAKLA2-tehtävistä saatujen arvosanojen jakauma. Opiskelijat on jaettu neljään joukkoon sen mukaan mihin heidän pistemääränsä yltävät. Vuosien jakaumissa ei ole tilastollisesti merkitseviä eroja (χ 2 -testi, p = 0,32). Kuitenkin vuonna 2001 näyttäisi olevan poikkeuksellisen paljon keskeyttäneitä, mikä voidaan selittää koeasetelmalla. Saadun palautteenkin perusteella interventiotutkimuksen ryhmässä C olleet opiskelijat kokivat tehtävät vaikeammiksi verrattuna muiden ryhmien tehtäviin. Koeasetelma siis vaikutti saatuihin tuloksiin. Kato ryhmissä A ja B on täysin normaali verrattuna aikaisempiin vuosiin. Joukkoon 1 on vuoden 1997 jälkeen kuulunut reilut 15% opiskelijoista. Tämä on hyvin linjassa sen kanssa, että ryhmiin A ja B osallistuneista vain noin 18% ei läpäissyt kurssia (tenttiä tai TRAKLAtehtäviä) 4. Vuosien 2003 ja 2004 välillä on tilastollisesti merkitsevä ero pistemäärien jakaumassa (χ 2 -testi, p < 0,001). Kyseessä on siirtyminen kokonaan TRAKLA2- järjestelmään. Samalla uudelleenpalautuspolitiikkaa muutettiin siten, että kun aikaisemmin opiskelija sai palauttaa tehtävään vastauksen vain rajoitetun määrän kertoja, vuonna 2004 siirryttiin käytäntöön, jossa mitään ylärajaa ei ollut. Sen sijaan tehtävän alkuarvot muuttuivat joka yrityksellä opiskelija siis saattoi katsoa myös tehtävän mallivastauksen kesken kierroksen, mutta joutui sen jälkeen ratkaisemaan tehtävän kokonaan uusilla lähtöarvoilla. Nähty mallivastaus ei siis enää kelvannut uuden tehtävän ratkaisuksi. Aikaisemmin mallivastauksen sai vasta kierroksen päätyttyä. Seurauksena uudelleenpalautuspolitiikan muutoksesta kuvassa 3 nähdään muutos erityisesti maksimipisteet saaneiden osuudessa: lähes kolmannes opiskeli- 4 Aineistossa on huomioitu vain kurssien ensimmäiset tentit, joten todellinen kurssin läpipääsemättömien joukko on ilmoitettua pienempi ja todelliset erot vielä pienempiä.
13 54 Visuaalinen algoritmisimulaatio ja sen sovelluksia joista sai maksimipisteet vaikka siihen ei ollut mitään ulkoista motivaatiota (esimerkiksi suoraa vaikutusta arvosanaan). Uudelleenpalautuspolitiikan muuttaminen ei ollut kuitenkaan täysin ongelmatonta. Suuri tai rajoittamaton määrä palautuskertoja aiheuttaa lieveilmiön, jossa eräät opiskelijat palauttavat tehtävän kerta toisensa jälkeen lyhyen ajan sisällä saamatta sitä silti oikein. TRAKLA2:n osalta hypoteesi oli ja on edelleen, että kyseistä lieveilmiötä ei esiintyisi, koska tehtävän alkuarvot vaihtuvat joka kerta. Lisäksi opiskelija saa tehtävästä palautetta ja ohjausta pisteiden sekä mallivastauksen muodossa. Näiden seikkojen ansiosta ilmiötä esiintyi vain vähän, joskin ongelma on edelleen olemassa [19]. Tämä ja edellisessä kappaleessa mainittu ilmiö (maksimipisteiden tavoittelu) ovatkin yhdessä mielenkiintoinen tulevaisuuden tutkimuskohde. 4.3 Asenne- ja käytettävyystutkimus Vuoden 2004 keväällä TRAKLA2- järjestelmä otettiin käyttöön myös TY:ssä. Käyttöönottoa seurattiin mm. asennekyselyllä, jossa opiskelijoiden suhtautumista verkko-opetukseen kysyttiin ennen kurssia ja sen jälkeen. Kurssi oli toteutettu korvaamalla osa perinteisistä laskuharjoitustilaisuuksista TRAKLA2-kierroksilla verkossa. Lisäksi myöhemmin syksyllä ÅA:ssa järjestettiin käytettävyystutkimus, jossa tehtävien ratkaisemiseen tarkoitettua sovelmaa tutkittiin laboratorioolosuhteissa havainnoimalla sen käyttöä tilanteessa, jossa oppija ratkaisi jälkijärjestystehtävää [16]. Viikko ennen käytettävyystestiä järjestettiin jälkijärjestyksiä koskeva esitentti ja viikko testin jälkeen jälkitentti, joiden tuloksia verrattiin toisiinsa. TY:ssä tehtävistä saatujen pisteiden jakauma on vuoden 2004 osalta hyvin samankaltainen kuin TKK:lla. Itse asiassa siellä vielä suurempi osuus opiskelijoista kuului joukkoon 4, joskin kokonaisarvosana määräytyi hiukan eri perustein kuin TKK:lla. Vastaavia järjestelmiä ei ole TY:ssä aikaisemmin ollut käytössä, joten mielenkiinto kohdistui opiskelijoiden asenteisiin ympäristössä, jossa verkko-opetukseen liittyvät perinteet eivät vaikuttaneet mielipiteenmuodostukseen. Opiskelijoilta kysyttiin ennen kurssia (N = 96) ja kurssin jälkeen (N = 81) i) mitä opiskelutapaa he suosivat henkilökohtaisesti ja ii) millainen opiskelutapa on heidän mielestään oppimisen kannalta tehokkain. Vaihtoehtoina olivat A) luokkaopetus, B) verkko-opetus (TRAKLA2) ja C) jokin näiden sekamuoto. Ennen kurssia mielipiteet jakautuivat lähes tasan kaikkien vaihtoehtojen kesken, joskin verkko-opetus sai vain 15% kannatuksen oppimistehon kannalta katsottuna. Kurssin jälkeen muutos oli selkeä: vahtoehto C voitti sekä ensimmäisessä kysymyksessä (50%) että toisessa kysymyksessä (73%). Verkko-opiskelu koetaan siis opiskelijoiden keskuudessa erittäin hyödylliseksi, mutta sen rajoitteet ymmärretään myös hyvin. Sillä ei ainakaan vielä voida korvata kokonaan perinteisiä laskuharjoituksia eli tehtäviä, joita ei voida automaattisesti tarkastaa. Kaiken edellä mainitun lähtökohtana lienee kuitenkin järjestelmän käytettävyys. Tehdyssä käytettävyystutkimuksessa ei havaittu merkittäviä puutteita. Suurin osa ajasta (80%) käytettiin varsinaisen tehtävän tekemiseen, joten järjestelmän käyttö on helppoa ja helposti opittavissa. Esi- ja jälkitenttien perusteella järjestelmä myös soveltui asian opiskeluun. Esitentissä vain yksi koehenkilö viidestä osasi ratkaista tehtävän täysin oikein (ja
14 Korhonen 55 yksi osittain) ja jälkitentissä 4/5 (ja sama yksi osittain). 5 Johtopäätökset ja tulevaisuus Ohjelmistojen havainnollistaminen on vilkas ohjelmistotekniikan tutkimusalue, jonka sovellukset ovat moninaiset. Tässä kirjoituksessa on esitelty visualisointitekniikoiden soveltamista opetusvälineiden kehittämiseen. Erityisesti on esitelty Matrix-sovelluskehys, jonka lähtökohtana on ollut aivan uudentyyppisen vuorovaikutuksen mahdollistaminen käyttäjän ja visualisointijärjestelmän välillä. Tätä visuaaliseksi algoritmisimulaatioksi kutsuttua menetelmää on sovellettu TRAKLA2- järjestelmässä, jonka perusidea kiteytyy algoritmisimulaatiotehtävissä. Järjestelmää ei ole pelkästään toteutettu, vaan sen soveltuvuutta tarkoitukseensa on tutkittu useiden koeasetelmien avulla. Suurilla satunnaisesti valituilla opiskelijaryhmillä tehty interventiotutkimus on osoittanut, että oppimistuloksissa ei ole eroja ryhmien välillä, kun samoja tehtäviä teetetään joko verkossa itseopiskeluna tai luokkaopetuksessa tuntiassistenttien ohjauksessa. Myöskään kurssin keskeyttäneiden määrissä ei ole eroa. Sen sijaan teetettävillä tehtävillä on merkitystä. Tämä johtopäätös on tehtävissä myös asennekyselystä, jossa opiskelijoiden mielipidettä kysyttiin suhteessa verkkoopiskeluun ja perinteiseen kontaktiopetukseen. Kontaktiopetuksesta ei oltu valmiita luopumaan ainakaan vielä, koska kaikenlaisia tehtäviä ei voida arvioida automaattisesti, joskin osa tehtävistä on selkeästi luonteeltaan sellaisia, että ne halutaan tehdä juuri verkossa eikä lähiopetuksessa. Tuloksia voidaan yleistää pohtimalla sitä kuinka hyvin tehtävät kattavat laajuudeltaan ja syvyydeltään annetun kurssin. Mikäli tehtävillä voidaan kattaa koko kurssi, oppimisen kannalta ei ole merkitystä sillä tehdäänkö tehtävät verkossa vai lähiopetuksessa. Verkko-opiskelu tuo kuitenkin mm. aika- ja paikkariippumattomuuden ja palautteen nopeuden myötä sellaista lisäarvoa, että sitä suositaan tapauksissa, joissa sen järjestäminen on mahdollista. Parhaaksi vaihtoehdoksi koettiin järjestely, jossa molempien menetelmien hyvät puolet on yhdistetty. Järjestelmän kehittymistä on seurattu myös pitkittäistutkimuksen avulla. Kurssin keskeyttäneiden osuus on muuttunut eri vuosina vähiten riippumatta järjestelmään tai kurssiin tehdyistä muutoksista. Ilmeisesti joka vuosi kurssille ilmoittautuu suhteellisesti sama määrä opiskelijoita, joilla ei todellisuudessa ole aikaa tai motivaatiota kurssille, joten järjestelmä ei helpota heidän tilannettaan. Tehtävät vaativat aikaa riippumatta siitä tehdäänkö niitä verkossa vai lähiopetuksessa. Toisaalta automaattinen palaute, mahdollisuus palauttaa tehtäviä useaan kertaan ja kannustava arviointipolitiikka yhdessä ovat synnyttäneet mielenkiintoisella tavalla motivoituneen opiskelijaryhmän: tavoitteena on saada maksimipisteet kaikista tehtävistä, vaikka sillä ei olisikaan suoraa vaikutusta kurssin arvosanaan. Ulkoinen motivaatio saattaa vaikuttaa kuitenkin tähänkin, koska kurssin perinteisessä tentissä on tyypillisesti ollut myös ainakin yksi simulaatiotehtävä. Monet algoritmien visualisointiin kehitetyt järjestelmät ovat jääneet prototyypeiksi, joiden käyttö on rajoittunut siihen (tyypillisesti akateemiseen) ympäristöön, jossa väline on alun perin kehitetty. Eräs keskeinen haaste onkin tuotteistaa järjestelmiä niin pitkälle, että niitä voi-
15 56 Visuaalinen algoritmisimulaatio ja sen sovelluksia taisiin helposti ottaa käyttöön myös muualla. Opetusvälineistön osalta tähän kysymykseen nivoutuu myös kysymys oppimateriaalien vaihdosta. Eräs TRAKLA2- ympäristön kohdalla saatu tulos on se, että sitä on käytetty ja evaluoitu myös muissa yliopistoissa kuin TKK:lla, jossa se on alun perin kehitetty. Järjestelmä otettiin käyttöön Turun yliopistossa vuonna 2004 ja Åbo Akademissa sitä evaluoitiin käytettävyystestissä samana vuonna. Palaute on ollut erittäin myönteistä ja yhteistyö jatkuu. Seuraavassa on lueteltu joitain keskeisiä tutkimussuuntauksia, joita parhaillaan tutkitaan tai on tarkoitus tutkia tulevaisuudessa: 1. Parhaillaan on meneillään vuoden 2001 koeasetelman kaltainen tutkimus TRAKLA2:lla kahdella eri opiskelijaryhmällä. 2. TRAKLA2-järjestelmän tehtävistä suurin osa on luonteeltaan sellaisia, että oppija simuloi annettua algoritmia annetulla syötteellä. Sovelluskehys mahdollistaa myös muunlaisten tehtävien toteuttamisen, jonka taustalle on kehitetty erityinen simulaatiotehtävien luokittelu [13]. Tämän luokittelun mukaisten tehtävien toteuttaminen järjestelmään on alkanut. Esimerkkinä mainittakoon tehtävä, jossa tulee värittää annettu (riittävän tasapainoinen) binäärinen hakupuu punamustaksi puuksi. Vastaukseksi kelpaa mikä tahansa mahdollinen väritys eikä ratkaisun tuottamiseksi tarvitse simuloida jotakin tiettyä algoritmia. 3. Tehtävistä saatava palaute perustuu oikeiden simulaatioaskeleiden määrään alusta laskettuna. Palautteen edelleenkehittämiseksi on perustettu tutkimushanke Automatic Assessment and Feedback on Algorithm Simulation, jossa tutkitaan mahdollisuuksia antaa yksityiskohtaisempaa palautetta ja mm. jatkaa ratkaisun arviointia virheellisen tilan jälkeen. Tämä mahdollistaisi humaanimman palautteen, jossa esimerkiksi yksittäinen huolimattomuusvirhe ratkaisun alussa ei veisi tehtävää kokonaan nollille. Toisaalta on kuitenkin pidettävä huoli, että virheen vuoksi triviaaliksi muuttuvasta tehtävästä ei anneta pisteitä (esimerkiksi lisättäessä alkioita AVL-puuhun täytyy silti tapahtua sekä yksinkertainen että kaksinkertainen rotaatio, jotta siitä voidaan antaa täydet pisteet). Tämä ja edellinen kohta edellyttävät uudenlaista algoritmiikkaa, joilla tehtäviä voidaan tarkastaa. 4. ÅA:n käytettävyystutkimuksessa käytettiin vain yhtä tehtävää. Jatkossa käytettävyyttä on tarkoitus tarkastella koko järjestelmässä ja kehittää saadun palautteen perusteella sitä eteenpäin. Tähän liittyen on esitetty aloitteita myös Joensuun yliopiston taholta. 5. Matrix-sovelluskehys mahdollistaa muitakin sovelluksia kuin TRAKLA2-tyyppisen oppimisympäristön. Sen pohjalta on jo kehitetty MatrixPro-ohjelmisto [5], jolla opettaja voi havainnollistaa tietorakenteita ja algoritmeja luentotilanteessa sekä MVT (Matrix Visual Tester) [17] visuaaliseen testaukseen ja virheenjäljitykseen. Näiden järjestelmien ja ideoiden jatkokehitys on työn alla.
16 Korhonen 57 Kiitokset Kiitokset Kimmo Stålnackelle ja Jan Lönnbergille hyödyllisistä kommenteista tämän kirjoituksen aikaisempaan versioon. Kiitos myös Antti Valmarille monista selventävistä parannusehdotuksista lopulliseen versioon. Viitteet [1] R. M. Baecker. Sorting out sorting. Elokuva, 30 minuuttia, [2] H. H. Goldstein & J. von Neumann. Planning and coding problems of an electronic computing instrument. Collected Works, ss , [3] J. Hyvönen & L. Malmi. TRAKLA A system for teaching algorithms using and a graphical editor. Proceedings of HYPERMEDIA in Vaasa, ss , [4] P. Kabal. TEXdraw PostScript drawings from TEX. Verkkosivu, ( ). il/cc/sivut/docs/tex / texdraw_toc.html. [5] V. Karavirta, A. Korhonen, L. Malmi & K. Stålnacke. MatrixPro A tool for on-the-fly demonstration of data structures and algorithms. Proceedings of the Third Program Visualization Workshop, ss , The University of Warwick, UK, [6] V. Karavirta, A. Korhonen, J. Nikander & P. Tenhunen. Effortless creation of algorithm visualization. Proceedings of the Second Annual Finnish / Baltic Sea Conference on Computer Science Education, ss , [7] K. C. Knowlton. L 6 : Bell telephone laboratories low-level linked list language. 16 mm mustavalkoinen äänielokuva, 16 minuuttia, [8] K. C. Knowlton. L 6 : Part II. an example of L 6 programming. 16 mm mustavalkoinen äänielokuva, 30 minuuttia, [9] D. E. Knuth. Computer-drawn flowcharts. Communications of the ACM, 6: , [10] A. Korhonen. World wide web (www) tietorakenteiden ja algoritmien tietokoneavusteisessa opetuksessa. Diplomityö, Teknillinen korkeakoulu, [11] A. Korhonen. Visual Algorithm Simulation. Väitöskirja, Teknillinen korkeakoulu, [12] A. Korhonen & L. Malmi. Algorithm simulation with automatic assessment. Proceedings of The 5th Annual SIGC- SE/SIGCUE Conference on Innovation and Technology in Computer Science Education, ss , Helsinki, Suomi, ACM Press, New York. [13] A. Korhonen & L. Malmi. Taxonomy of visual algorithm simulation exercises. Proceedings of the Third Program Visualization Workshop, ss , The University of Warwick, UK, [14] A. Korhonen, L. Malmi, P. Myllyselkä & P. Scheinin. Does it make a difference if students exercise on the web or in the classroom? Proceedings of The 7th Annual SIGCSE/SIGCUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 02, ss , Århus, Tanska, ACM Press, New York. [15] A. Korhonen, L. Malmi & P. Silvasti. TRAKLA2: a framework for automatically assessed visual algorithm simulation exercises. Proceedings of Kolin Kolistelut / Koli Calling Third Annual Baltic Conference on Computer Science Education, ss , Joensuu, Suomi, [16] M.-J. Laakso, T. Salakoski, L. Grandell, X. Qiu, A. Korhonen & L. Malmi. Multi-perspective study of novice learners adopting the visual algorithm simulation exercise system TRAKLA2. Informatics in Education, 4(1):49 68, 2005.
17 58 Visuaalinen algoritmisimulaatio ja sen sovelluksia [17] J. Lönnberg, A. Korhonen & L. Malmi. MVT a system for visual testing of software. Proceedings of the Working Conference on Advanced Visual Interfaces, ss , Gallipoli, Italia, ACM Press, New York. [18] L. Malmi. Automaattinen tarkastaminen opetuksen apuvälineenä. Tietojenkäsittelytiede, 17:24 35, Tietojenkäsittelytieteen Seuran julkaisu. [19] L. Malmi & A. Korhonen. Automatic Feedback and Resubmissions as Learning Aid. Proceedings of 4th IEEE International Conference on Advanced Learning Technologies, ss , Joensuu, Suomi, [20] L. Malmi, A. Korhonen & R. Saikkonen. Experiences in automatic assessment on mass courses and issues for designing virtual courses. Proceedings of The 7th Annual SIGCSE/SIGCUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 02, ss , Århus, Tanska, ACM Press, New York. [21] A. Moreno, N. Myller, E. Sutinen & M. Ben-Ari. Visualizing programs with Jeliot 3. Proceedings of the International Working Conference on Advanced Visual Interfaces, ss , Gallipoli, Italia, ACM Press, New York. [22] W. Pierson & S. Rodger. Web-based animation of data structures using JAWAA. Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education, ss , Atlanta, GA, USA, ACM Press, New York. [23] B. A. Price, R. M. Baecker & I. S. Small. A principled taxonomy of software visualization. Journal of Visual Languages and Computing, 4(3): , Elsevier. [24] G. Rößling, M. Schüler & B. Freisleben. The ANIMAL algorithm animation tool. Proceedings of the 5th Annual SIGC- SE/SIGCUE Conference on Innovation and Technology in Computer Science Education, ITiCSE 00, ss , Helsinki, Suomi, ACM Press, New York. [25] J. T. Stasko, J. B. Domingue, M. H. Brown & B. A. Price. Software Visualization: Programming as a Multimedia Experience. MIT Press, Cambridge, MA, 1998.
18 Korhonen 59 LIITE A: Tehtävät TRAKLA2-järjestelmän kehittämiseen tähtäävän tutkimussivuston kautta löytyy ajantasaisin luettelo mahdollisista tehtävistä, katso fi/research/trakla2/exercises/ index.shtml. Seuraavassa on luettelo tämän hetken tehtävävalikoimasta. Perusalgoritmit 1 Puolitushaku 2 Interpolaatiohaku 3 Esijärjestys 4 Esijärjestys pinon avulla 5 Sisäjärjestys 6 Jälkijärjestys 7 Tasojärjestys Järjestämisalgoritmit 8 Rekursiivinen pikajärjestäminen 9 Rekursiivinen Radix Exchange Sort Prioriteettijonot 10 Keon rakentaminen: lineaarisessa ajassa toimiva algoritmi 11 Binäärikeko: lisäys ja pienimmän alkion poisto Hakupuut Binäärinen hakupuu: haku, lisäys ja poisto 15 Virheellisesti toimiva binäärinen hakupuu 16 Digitaalinen hakupuu: lisäys 17 Radix search trie: lisäys 18 Yksinkertainen rotaatio 19 Kaksoisrotaatio 20 AVL-puu: lisäys 21 Punamusta puu: lisäys 22 Punamustan puun värittäminen 23 B-puu: lisäys Hajautus 24 Lineaarinen kokeilu 25 Neliöllinen kokeilu 26 Kaksoishajautus Verkkoalgoritmit 27 Leveyssuuntainen haku 28 Syvyyssuuntainen haku 29 Primin algoritmi 30 Dijkstran algoritmi
Trakla2-opetusympäristö
Trakla2-opetusympäristö TRAKLA: TietoRakenteet ja Algoritmit; KotiLaskujen Arvostelu TEKNILLINEN KORKEAKOULU Informaatio- ja luonnontieteiden tiedekunta Tietotekniikan laitos Esityksen rakenne Katsaus
Sijaintialgoritmitehtävien automaattinen tarkastaminen
Sijaintialgoritmitehtävien automaattinen tarkastaminen Jussi Nikander Teknillinen korkeakoulu Ohjelmistotekniikan laboratorio jtn@cs.hut.fi Tiivistelmä Sijaintialgoritmit ja tietorakenteet ovat tärkeä
DIPLOMITYÖ ARI KORHONEN
DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja
Ajankäyttötutkimuksen satoa eli miten saan ystäviä, menestystä ja hyvän arvosanan tietojenkäsittelyteorian perusteista
Ajankäyttötutkimuksen satoa eli miten saan ystäviä, menestystä ja hyvän arvosanan tietojenkäsittelyteorian perusteista Harri Haanpää 18. kesäkuuta 2004 Tietojenkäsittelyteorian perusteiden kevään 2004
Algoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
Algoritmit 2. Luento 2 Ke Timo Männikkö
Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento
Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina
Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella
Tietotekniikan perusopetuksen kehittäminen
Tietotekniikan perusopetuksen kehittäminen Kokemuksia ja suuntaviivoja Lauri Malmi Teknillinen korkeakoulu ivät 1 Sisält ltö 1. Taustaa 2. Erää ään n kurssin kokemuksia 3. Havaintoja kokemuksista 4. Entä
Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.
Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,
Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka monivalinta aihio > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka monivalinta aihio > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Tietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
Suomen virtuaaliammattikorkeakoulu Boolen operaattorit v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Boolen operaattorit v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
A274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.
Algoritmit 1. Luento 8 Ke Timo Männikkö
Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin
Lahden, Pohjois Karjalan ja Kemi Tornion AMK Effective Reading > 80 % 80 60 % 60 50 % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Lahden, Pohjois Karjalan ja Kemi Tornion AMK Effective Reading > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Oulun ja Pohjois Karjalan ammattikorkeakoulu Virtuaalivasikan kasvatuspeli v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Oulun ja Pohjois Karjalan ammattikorkeakoulu Virtuaalivasikan kasvatuspeli v. 0.5 > 80 % 80 60 % 60 50 % < 50
Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka: Voima ja sen komponentit > 80 % % % < 50 %
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka: Voima ja sen komponentit > 80 % 80 60 % 60 50 %
Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014
Työpaja Työpaja on vertaisarviointiin soveltuva työkalu. Työpaja mahdollistaa töiden palautuksen ja niiden jakelun opiskelijoiden arvioitavaksi sekä arvioinnin antamisen. Laita Muokkaustila päälle ja lisää
OPISKELUTYÖN MITOITUS Opetuksen suunnittelun työväline, jolla arvioidaan opiskelijan työmäärää suhteessa 1 PERUSTIEDOT
OPISKELUTYÖN MITOITUS Opetuksen suunnittelun työväline, jolla arvioidaan opiskelijan työmäärää suhteessa 1 PERUSTIEDOT Tiedekunta Laitos Yksikkö Taso (kandidaatti, maisteri, jatkoopinnot) Moduuli Kurssikoodi
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.
Algoritmit 2. Luento 4 Ke Timo Männikkö
Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4
kertaa samat järjestykseen lukkarissa.
Opetuksen toistuva varaus ryhmällee TY10S11 - Tästä tulee pitkä esimerkki, sillä pyrin nyt melko yksityiskohtaisesti kuvaamaan sen osion mikä syntyy tiedon hakemisesta vuosisuunnittelusta, sen tiedon kirjaamiseen
Algoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
Matematiikan opetuksen kehittäminen avoimen lähdekoodin ohjelmistojen avulla Petri Salmela & Petri Sallasmaa
Matematiikan opetuksen kehittäminen avoimen lähdekoodin ohjelmistojen avulla 21.04.2010 Petri Salmela & Petri Sallasmaa Tutkimusorganisaatio Åbo Akademin ja Turun yliopiston tutkimusryhmät Pitkä yhteistyötausta
Suomen virtuaaliammattikorkeakoulu VPN peli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu VPN peli > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.
Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla
VirtuaaliAMK Miten osallistun ryhmäkeskusteluun? > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Miten osallistun ryhmäkeskusteluun? > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka templateaihio > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka templateaihio > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
HAMK Pähkinäkori > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain HAMK Pähkinäkori > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien Valmis/
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
Suomen virtuaaliammattikorkeakoulu Tietojohtaminen rakennus prosesseissa > 80 % 80 60 % 60 50 % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Tietojohtaminen rakennus prosesseissa > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Helsingin ammattikorkeakoulu Stadia Verkkosivujen silmäiltävyys ja selailtavuus v. 0.9 > 80 % % % < 50 %
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Helsingin ammattikorkeakoulu Stadia Verkkosivujen silmäiltävyys ja selailtavuus v. 0.9 > 80 % 80 60 % 60 50 %
Suomen virtuaaliammattikorkeakoulu XML_mark_up_language > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu XML_mark_up_language > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Tietojenkäsittelytieteiden opetuksen kehittämisseminaari
Tietojenkäsittelytiede 28 Joulukuu 2008 sivut 66 75 c kirjoittaja(t) Seuran toimintaa Tietojenkäsittelytieteiden opetuksen kehittämisseminaari Ari Korhonen Teknillinen korkeakoulu Tietotekniikan laitos
Suomen virtuaaliammattikorkeakoulu Villan keritseminen, karstaus ja kehrääminen v.0.5 > 80 % % % < 50 %
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Villan keritseminen, karstaus ja kehrääminen v.0.5 > 80 % 80 60 % 60 50 %
Suomen virtuaaliammattikorkeakoulu Teknillinen mekanikka fem tutorials > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekanikka fem tutorials > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Algoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
VirtaaliAMK Virtuaalihotelli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtaaliAMK Virtuaalihotelli > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien
Vertaisvuorovaikutus tekee tiedon eläväksi Avoimen opiskelijoiden kokemuksia hyvästä opetuksesta
Vertaisvuorovaikutus tekee tiedon eläväksi Avoimen opiskelijoiden kokemuksia hyvästä opetuksesta Avoimen yliopiston pedagoginen kahvila 3.3.2010 Saara Repo Tutkimusaineisto Avoimen yliopiston opiskelijat,
Aktivoiva matematiikan opetus Aalto-yliopistossa
Aalto-yliopistossa Helle Majander ja Linda Havola Matematiikan ja systeemianalyysin laitos Aalto-yliopisto, Perustieteiden korkeakoulu helle.majander@aalto.fi 23. elokuuta 2011 Johdanto Esittelemme kaksi
Aktivoiviin opetusmenetelmiin perustuvat matematiikan opetuskokeilut Aalto-yliopistossa
Aktivoiviin opetusmenetelmiin perustuvat matematiikan opetuskokeilut Aalto-yliopistossa Linda Havola, Helle Majander, Harri Hakula ja Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto,
Tampereen ammattikorkeakoulu Verkkokeskustelu > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Tampereen ammattikorkeakoulu Verkkokeskustelu > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Diakonia ammattikorkeakoulu Päihdetyön historia > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Diakonia ammattikorkeakoulu Päihdetyön historia > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Sikarodut > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain 6.11.2006 Sikarodut > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien Valmis/
T harjoitustyö, kevät 2012
T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,
(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
VirtuaaliAMK Ympäristömerkkipeli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Ympäristömerkkipeli > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien
TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)
TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille
Tentti erilaiset kysymystyypit
Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että
Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen
Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE Kirjautuminen Moodleen ja työtilan valitseminen 1. Verkko-osoite: http://moodle.metropolia.fi 2. Kirjautuminen: omat verkkotunnukset 3. Oma Moodlessa näkyvät
Suomen virtuaaliammattikorkeakoulu Vedenpuhdistus > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Vedenpuhdistus > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012
Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata
Virtuaaliammattikorkeakoulu Seksuaaliterveyden edistäminen v. 0.9 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Virtuaaliammattikorkeakoulu Seksuaaliterveyden edistäminen v. 0.9 > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Suomen virtuaaliammattikorkeakoulu Metso hyökkää Miksi? v. 0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Metso hyökkää Miksi? v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Tietorakenteet ja algoritmit CSE- A1140 (5 op)
Tietorakenteet ja algoritmit CSE- A1140 (5 op) Syksy 2015 Ari Korhonen 10.9.2015 CSE-A1140, Ari Korhonen 1 1. Kurssikuvaus 1.0 Yleistä 1.1 Esitiedot 1.2 Ilmoittautuminen 1.3 Tavoitteet 1.4 Opetuksen järjestelyt
Virtuaaliammattikorkeakoulu Taide kasvatus taidekasvatus > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Virtuaaliammattikorkeakoulu Taide kasvatus taidekasvatus > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2
Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,
Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
Savonia ammattikorkeakoulu Miten tilintarkastajan tulee toimia? v. 0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Savonia ammattikorkeakoulu Miten tilintarkastajan tulee toimia? v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
Menetelmiä jatkuvaan opiskeluun kannustamiseen ja oppimisen seurantaan
Menetelmiä jatkuvaan opiskeluun kannustamiseen ja oppimisen seurantaan Matemaattiset menetelmät, syksy 2012 Lassi Korhonen, Oulun yliopisto, Matematiikan jaos 4.12.2012 1 Lähtökohta, opiskelijan näkökulma
private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;
Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden
Tentin asetukset. Tentin lisääminen. Tentin asetukset
Tentin asetukset Moodlen tentti-aktiviteetin perusasetukset käydään läpi tällä sivulla. Jos etsit ohjetta kysymysten luomiseen, katso erillinen ohjesivu kysymyspanki sta. Tentti soveltuu "perinteisen tenttimisen"
Suomen virtuaaliammattikorkeakoulu Kestävää kehitystä etsimässä v. 0.9 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Kestävää kehitystä etsimässä v. 0.9 > 80 % 80 60 % 60 50 % < 50 % Arviointialue
Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla
Kyselytutkimus opiskelijoiden ajankäytöstä tietojenkäsittelyteorian peruskurssilla Harri Haanpää Peda-forum 2004 AB TEKNILLINEN KORKEAKOULU Tietojenkäsittelyteorian laboratorio T 79.148 Tietojenkäsittelyteorian
VirtuaaliAMK Työsopimuksella sovitaan pelisäännöt? V.1.0 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Työsopimuksella sovitaan pelisäännöt? V.1.0 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit
TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen
Saksan sanastopainotteinen kurssi. Helsingin yliopiston kielikeskus, syksy 2007, Seppo Sainio
Oppimispäiväkirja. Nimi: Saksan sanastopainotteinen kurssi. Helsingin yliopiston kielikeskus, syksy 2007, Seppo Sainio Huomaa että oppimispäiväkirjan tekeminen on huomioitu kurssin mitoituksessa osaksi
Oulun seudun ammattikorkeakoulu Aineistojen polku kirjastoon > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Oulun seudun ammattikorkeakoulu Aineistojen polku kirjastoon > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
opiskelijan ohje - kirjautuminen
opiskelijan ohje - kirjautuminen estudio on Edupolin kehittämä e-oppimisympäristö koulutusryhmän verkkoalustana perinteisen luokkaopetuksen tukena. etäopiskelussa ja -opetuksessa kotoa tai työpaikalta.
Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan
Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan
v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.
Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.
Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita
Suomen virtuaaliammattikorkeakoulu Mobile IP > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Mobile IP > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Flippausta 3 korkeakoulun opiskelijoille
Pedaforum 2018 16.8.2018 Erkki Pesonen, yliopistonlehtori, Erkko Sointu tutkijatohtori Flippausta 3 korkeakoulun opiskelijoille UEF // University of Eastern Finland What is coming? Opintojakson sisältö
Tentti erilaiset kysymystyypit
Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset
Moodle-oppimisympäristö
k5kcaptivate Moodle-oppimisympäristö Opiskelijan opas Sisältö 1. Mikä on Moodle? 2. Mistä löydän Moodlen? 3. Kuinka muokkaan käyttäjätietojani? 4. Kuinka ilmoittaudun kurssille? 5. Kuinka käytän Moodlen
815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
lineitä oppimisen tueksi
Moodlen välineitv lineitä oppimisen tueksi Ennakkotehtävä Sinulle: 1. Mieti valmiiksi aihe, josta alat laatia verkkokurssia tai kurssin osaa. Verkko tutuksi -kurssilla on tavoitteena suunnitella joko kokonainen
Suomen virtuaaliammattikorkeakoulu Business in The EU v. 0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Business in The EU v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta
AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja
VirtuaaliAMK Työhyvinvointi > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Työhyvinvointi > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien
11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
Suomen virtuaaliammattikorkeakoulu Vetokoe v.0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Vetokoe v.0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue
Suomen Virtuaaliammattikorkeakoulu Kasvinsuojelu ruiskutustekniikka v. 0.5 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen Virtuaaliammattikorkeakoulu Kasvinsuojelu ruiskutustekniikka v. 0.5 > 80 % 80 60 % 60 50 % < 50 % Arviointialue
A TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE KLO 12:00
A274101 TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE 9.2.2005 KLO 12:00 PISTETILANNE: www.kyamk.fi/~atesa/tirak/harjoituspisteet-2005.pdf Kynätehtävät palautetaan kirjallisesti
Algoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017
VirtuaaliAMK Potilaan polku tietojärjestelmässä v.2ver8 > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Potilaan polku tietojärjestelmässä v.2ver8 > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien
Algoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja
Kysymyksiä koko kurssista?
Kysymyksiä koko kurssista? Lisää kysymyksesi osoitteessa slido.com syötä event code: #8777 Voit myös pyytää esimerkkiä jostain tietystä asiasta Vastailen kysymyksiin luennon loppupuolella Tätä luentoa
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
Näkökulmia tietoyhteiskuntavalmiuksiin
Näkökulmia tietoyhteiskuntavalmiuksiin Tietotekniikka oppiaineeksi peruskouluun Ralph-Johan Back Imped Åbo Akademi & Turun yliopisto 18. maaliskuuta 2010 Taustaa Tietojenkäsittelytieteen professori, Åbo