Tietokonepeliavusteinen kognitiivinen terapia



Samankaltaiset tiedostot
Projektisuunnitelma: Tietokonepeliavusteinen kognitiivinen terapia

ELM GROUP 04. Teemu Laakso Henrik Talarmo

AS Automaatio- ja systeemitekniikan projektityöt

Järjestelmäarkkitehtuuri (TK081702)

Office 365 palvelujen käyttöohje Sisällys

Informaatiotekniikan kehitysyksikkö

Kaislanet-käyttöohjeet

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

opiskelijan ohje - kirjautuminen

Osallistavan suunnittelun kyselytyökalu

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Ristijärven metsästysseura tysseura osti lisenssin jahtipaikat.fi verkkopalveluun, jotta seuran

Tekninen suunnitelma - StatbeatMOBILE

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty:

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

Ohjeistus yhdistysten internetpäivittäjille

AS Automaatio- ja systeemitekniikan projektityöt

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Lohtu-projekti. Testaussuunnitelma

Kahoot - kyselytyökalu

ohjeita kirjautumiseen ja käyttöön

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU

opiskelijan ohje - kirjautuminen

MMSE Mini Mental State Examinationnumeroista. teoiksi. Äänekosken Arjen Tuki Testipatteristokoulutus Syksy 2015

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus

Lyseopaneeli 2.0. Käyttäjän opas

DXL Library ja DXL-kielen olemus. Pekka Mäkinen SoftQA Oy http/

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

Valppaan asennus- ja käyttöohje

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Kotopro käyttäjän ohje

Jos olet jo kirjautunut palveluun, näin pääset tilillesi: Anna sähköpostiosoitteesi ja salasanasi. Napsauta Sisäänkirjautuminen.

Action Request System

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

VIENET JULKAISUJÄRJESTELMÄLLÄ TOTEUTETTUJEN INTERNET-SIVUJEN YLLÄPITO-OHJE

Osallistavan suunnittelun kyselytyökalu

Office ohjelmiston asennusohje

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen

TENNISVARAUSJÄRJESTELMÄ. OHJEKIRJA v.1.0

MatTaFi projektin HAKA-pilotti

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

24h Admin V / 24h_Admin_v100.pdf 1/9

Tämän ohjeen avulla pääset alkuun Elisa Toimisto 365 palvelun käyttöönotossa. Lisää ohjeita käyttöösi saat:

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Uusi raporttityökalu emolehmätarkkailuun Petri Saarinen

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Luku 7 Uusien Mallien Tiedostot

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

SUOMEN KUNTALIITTO RY

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Yrjö Määttänen Kokemuksia SuLVInetin käytön aloituksen

Pikaopas. The New Black. Kesäkuu Datscha Pikaopas The New Black ( ) 1 (14)

Uusi Celianet

Tietotekniikan valintakoe

Share toiminto ja Seinä

Kertausta aivovammojen oireista

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

Luottamuksellinen sähköposti Lapin yliopistossa. Ilmoitusviesti

Ryhmäharjoitus III: Mitä on koodaaminen? A. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 20.3.

ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Kirje -tasolla viestiliikenne suojataan automaattisesti SSL-salauksella, sekä viesti lukitaan Deltagon MessageLock -tekniikalla.

Yksityiskohtaiset ohjeet. TwinSpacen käyttäminen

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

GOOGLE-SIVUSTOJEN KAÄ YTTOÄ OÄ NOTTO

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely. Taimikonhoidon ja istutuksen hankinnat

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

Meeting Plannerin käyttöohje

Näin rakennat mielenkiintoiset nettisivut

Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen

Arviointimenetelmät ja mittarit hyödyn raportoinnissa

SALITE.fi -Verkon pääkäyttäjän ohje

Tekninen suunnitelma - StatbeatMOBILE

Ohje vanhemmille - näin alkuun Päikyssä

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

NOPSA TM järjestelmä. Kulunvalvonta Käyttöohje, konttori. Käyttötuki: LogiNets Oy. All rights reserved.

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Luottamuksellinen sähköposti Trafissa

Testidatan generointi

RATKI 1.0 Käyttäjän ohje

Google Forms / Anna Haapalainen. Google Forms Googlen lomake-työkalu

Jos olet jo kirjautunut palveluun, näin pääset tilillesi: Anna sähköpostiosoitteesi ja salasanasi. Napsauta Sisäänkirjautuminen.

PROJEKTISUUNNITELMA. FotMana17

LOVe-verkkokoulutuksen käyttöohje Opiskelijan osio

Send-It ilmoittautumisjärjestelmä (judotapahtumat Suomessa)

Tietosuoja-portaali. päivittäjän ohje

Transkriptio:

Tietokonepeliavusteinen kognitiivinen terapia Ristomatti Karppanen & Mikko Mulari 1. Sisällysluettelo Tietokonepeliavusteinen kognitiivinen terapia 1. Sisällysluettelo 2. Projektin tavoite 3. Pelin rakenne 3.1 Yleistä 3.2 Muistipeli 5.3 Sana ja lausepeli 5.4 Assosiaatiopeli 4. Projektin tieteellinen perustelu 5. Tekninen toteutus 5.1 Yleistä 5.2 Pelit 5.3 Tunnistautuminen ja tietokanta 5.4 Tiedostorakenne 6. Aikataulu ja laajuus 7. Toteutuneet riskit 8. Yhteenveto ja jatkokehityskohteet 2

2. Projektin tavoite Työn tavoitteena oli toteuttaa kognitiivisen terapian ja seurannan apuväline tietokonepelimäisen lähestymistavan kautta. Kognitiivista terapiaa voidaan käyttää esimerkiksi aivovaurion jälkeisessä aivojen kuntoutuksessa tai dementoituneen vanhuksen mentaalisten kykyjen aktivoinnissa. Pelimäisen toteutustavan tausta ajatuksena on se, että asiakas pystyy itsenäisesti harjoittamaan mentaalisia taitojaan pelin avulla, ilman esimerkiksi sairaanhoitajan läsnäoloa. Suomessa tulevien vuosien aikana tapahtuvan ikärakentaan muutoksen, jossa ikääntyvän väestön osuus muusta väestöstä kasvaa, vuoksi tulee teknologiaa hyväksi käyttäen etsiä uusia lähestymistapoja ja innovaatioita, joiden avulla ikääntyvän väestön palvelut voidaan turvata ja niitä voidaan kehittää. Projektin tavoitteena oli, että peli toteutetaan kolmen opiskelijan yhteistyönä. Valitettavasti yksi ryhmän jäsen joutui jättämään projektin kesken aikataulullisten haasteiden takia, mikä tuli ilmi projektin loppuvaiheessa. 3. Pelin rakenne 3.1 Yleistä Projektissa toteutettiin web sovellus, joka koostuu kolmesta mentaalisia taitoja mittaavasta ja harjoittavasta pelistä: muistipelistä, sana ja lausepelistä sekä assosiaatiopelistä. Muistipelissä pelaajan tulee löytää kahden kuvat parit ripeästi ja vähin liikkein. Sana ja lausepelissä pelaajalle näytetään erilaisia lauseita, jotka hänen tulee ensiksi muistaa ja myöhemmin vastata lausetta koskevaan kysymykseen. Assosiaatiopelissä pelaajan tulee kyetä yhdistämään muuttamaton kuva tietyllä tavalla muokattuun kuvaan. Kukin peli on kuvattu tarkemmin seuraavissa kappaleissa. 3.2 Muistipeli Muistipelissä pelaajalle näytetään 20 kuvan ruudukko, jossa kuvat ovat aluksi väärinpäin. Kutakin kuvaa klikkaamalla kuva kääntyy oikeinpäin, jolloin varsinainen kuva tulee esille. Klikkaamisen jälkeen pelaajan tulee löytää ruudukosta sama toinen kuva klikkaamalla sitä heti ensimmäisen kuvan klikkaamisen jälkeen. Jos kuva löytyy, molemmat kuvat jäävät näkymään, ja jos ei löydy, kuvat kääntyvät takaisin väärinpäin. Peli päättyy kun kaikille kuville on löytynyt pari ruudukossa. Pelissä suoriutuminen arvioidaan sen perusteella, kuinka paljon pelin läpäisemiseen meni aikaa ja kuinka monta kuvaa pelaaja klikkasi pelin aikana. Alla olevassa kuvassa 1 on esitetty muistipelin käyttöliittymä. 3

Kuva 1. Lähes loppuun asti pelatun muistipelin käyttöliittymä. 5.3 Sana- ja lausepeli Sana ja lausepelissä pelaajalle näytetään 10 kpl suomalaisia sananlaskuja, joista alussa esitetyt lauseet ovat 3 5 sanaisia ja lopuksi esitetyt lauseet jopa 10 sanaisia. Peli siis vaikenee ajan myötä. Pelaajalle annetaan sanalaskun pituudesta riippuen tietyn verran aikaa painaa esitetty lause mieleen, jonka jälkeen lause poistuu näkyvistä. Piilotuksen jälkeen pelaajalle esitetään lauseeseen liittyvä kysymys, joka voi olla jokin seuraavista: 1. Mikä oli lauseen N. sana? (jossa N on numero) 2. Mikä sana oli lauseessa ennen sanaa X? (jossa X on jokin lauseen sanoista, mutta ei ensimmäinen) 3. Mikä sana oli lauseessa sanan X jälkeen? (jossa X on jokin lauseen sanoista, mutta ei viimeinen) 4. Mikä oli lauseen viimeinen / toiseksi viimeinen / kolmanneksi viimeinen sana? Kysymyksen (1) esittämisen todennäköisyys on 30%, kysymyksen (2) 20%, kysymyksen (3) 20% ja kysymyksen (4) 30%, joten pelaaja ei tiedä, mitä hänen tulee lauseesta muistaa. Esitettyyn kysymykseen valitaan oikea ratkaisu 3 9 vastausvaihtoehdosta. Pelissä suoriutuminen arvioidaan oikeiden vastausten osuudella kaikista vastauksista. Ajallinen suoriutuminen on peliin 4

sisäänrakennettu: sananlaskuja näytetään pelaajalle vain tietyn aikaa, joten ajallinen suoriutuminen heijastuu oikeuden vastausten osuuteen. Alunperin peli oli tarkoituksena toteuttaa siten, että pelaaja kirjoittaisi oikean vastauksen kuhunkin kysymykseen, mutta projektin edetessä päädyttiin ratkaisuun, jossa lause valitaan, koska erityisesti ikääntyvällä väestöllä voi olla haasteita tietokoneen käyttötaidoissa, jolloin oikean vastauksen tarkistaminen on huomattavasti luotettavampaa kun oikea vastaus valitaan eikä sitä kirjoiteta itse. Vastauksen valitseminen mahdollistaa myös pelin sujuvan käytön kosketusnäytöllisillä laitteilla kuten tablettitietokoneilla. Alla olevassa kuvassa 2 on esitetty lausepelin generoima kysymys eräästä lauseesta. Kuva 2. Eräs sana ja lausepelin generoima kysymys suomalaisesta sananlaskusta. 5

5.4 Assosiaatiopeli Assosiaatiopelissä pelaajalle näytetään sattumanvaraisesti valittu iso kuva sekä kolme sattumanvaraisesti valittua pienempää kuvaa. Pelaajan tulee valita kolmesta pienestä kuvasta se kuva, joka parhaiten vastaa isoa kuvaa. Pieniä kuvia on esimerkiksi käännetty väärinpäin, ne ovat peilikuvia tai niiden värimaailmaa on muutettu. Pelaajan on jollain tavalla kyettävä assosioimaan iso kuva johonkin pieneen kuvaan, jolloin pelaajan on löydettävä kuvista yhteisiä piirteitä, tai tulkitsemaan kuvien sisällöt ja yhdistämään tulkitut sisällöt. Pelissä suoriutuminen arvioidaan sillä, kuinka monta kuvaa pelaaja osasi yhdistää oikein. Alla olevassa kuvassa 3 on esitetty assosiaatiopelin toiminta eräiden kuvien osalta. Kuva 3. Assosiaatiopelin käyttöliittymä. Oikea vastaus kysymykseen on kolmas pieni kuva. Kaikista peleistä tallennetaan aiemmin kuvatut suoriutumista mittaavat tiedot tietokantaan. Pelin Tilastot osiossa pelaaja voi tarkastella omaa ja muiden pelaajien kehittymistä kussakin kolmessa pelissä. Muistipelin tilastoissa esitetään pelikohtaisten klikkauksien lukumäärä ja pelin kesto sekunteina. Lausepelin tilastoissa esitetään prosenttiosuus siitä, kuinka monta kysymystä meni oikein. Assosiaatiopelin tilastoissa esitetään, kuinka kauan pelin läpäiseminen kesti ja mikä oli oikeiden vastausten osuus prosentteina kaikista vastauksista. Tarkempaa tilastoanalyysia kunkin 6

pelaajan suoriutumisetsa voidaan tehdä hakemalla tiedot tietokannasta esimerkiksi Exceliin ja käyttämällä muiden sovellusten tilastoanalyysiin soveltuvia toimintoja. Tilastot osion käyttöliittymä on esitetty alla olevassa kuvassa 4. Kuva 4. Käyttäjätunnuksen demo kognitiivinen suoriutuminen muistipelissä ajan funktiona. 4. Projektin tieteellinen perustelu Peli perustuu soveltuvin osin Mini Mental State Examination (MMSE, lyhytaikaisen muistin testi) testiin. MMSE kehitettiin alunperin kliiniseen tarkoitukseen neurologisten ja psykiatristen potilaiden diagnostiikan avuksi. Perinteisten menetelmien tilalle kehitettiin nopea menetelmä, jonka avulla voitiin arvioida kognitiivisen toimintakyvyn ulottuvuuksia. Testin avulla voidaan kognitiivisten kykyjen arvioinnin lisäksi mm. erotella esimerkiksi dementoivia sairauksia sairastavat henkilöt skitsofreniapotilaista. Testiä ylläpitää Suomen muistitutkimusyksiköiden asiantuntijaryhmä (Alzheimer tutkimusseura). MMSE:n ulottuvuudet on esitetty taulukossa 1, missä kunkin ulottuvuuden mittaava peli tai toiminnallisuus on myös esitelty. 7

Taulukko 1. MMSE testin ulottuvuuden toteutetussa pelissä MMSE testin osa alue Asioiden mieleen painaminen ja mielestä palauttaminen Vastaava toiminnallisuus pelissä Kaikki pelit Huomioita Muistipelissä pelaajan tulee muistaa kuvia, jotka tulee myöhemmin muistaa. Pelaaja tietää etukäteen, missä muodossa annettu tieto tulee myöhemmin palauttaa mielestä. Lausepelissä pelaajan pyydetään painavan tietty lause mieleen, mutta hän ei tiedä, mitä lauseeseen liittyvää myöhemmin kysytään. Näin ollen pelissä ei voi menestyä muuten kuin todella muistamalla koko lauseen. Assosiaatiopelissä pelaaja myös painaa mieleensä alussa tietyn kuvan, joka hänen tulee pelin loputtua muistaa. Näin pelissä testataan lyhytaikaisen muistin lisäksi pidempiaikaista muistia. Tarkkaavaisuus Kaikki pelit Peleissä olevat kuvat ovat samankaltaisia ja lauseet ovat sananlaskuja, joten tarkkaavaisuutta tarvitaan peleissä menestymiseksi. Keskittymiskyky ja laskeminen Kaikki pelit ja Lausepeli Keskittymiskykyä tarvitaan kaikissa peleissä, koska käytetyllä ajalla on jokaisessa pelissä omanlaisensa merkitys. Muistipelissä ja assosiaatiopelissä käytetty aika vaikuttaa pisteytykseen. Lausepelissä kutakin lausetta näytetään aina vain rajoitetun ajan, jolloin pelaajan tulee painaa lause mahdollisimman tarkasti mieleensä. Kielelliset taidot Lausepeli Lausepeli vastaa kielellisten taitojen osalta MMSE testin nimeäminen, toistaminen ja lukeminen ulottuvuuksiin. Käsin kirjoittaminen ulottuvuus on rajattu pelin ulkopuolelle. Hahmottamiskyky ja kuvion kopiointi Orientaatio aikaan ja paikkaan Assosiaatiopeli Ulottuvuutta ei mitata peleissä Pelaajan tulee hahmottaa assosiaatiopelissä kuvan merkitys ja yhdistää se tietyllä tavalla muokattuun samantapaiseen kuvaan. 8

5. Tekninen toteutus 5.1 Yleistä Projekti toteutettiin web sovelluksena pääosin JavaScript ja HTML5 ohjelmointi ja merkkauskieliä käyttäen. Sivuston alustana käytettiin Djangoa, joka on kirjoitettu Python ohjelmointikielellä. Django mahdollistaa sivuston nopean pystyttämisen, jolloin projektissa pystyttiin etenemään nopeasti suoraan pelien kehittämiseen Djangoon liittyvien käytäntöjen omaksumisen jälkeen. Ryhmän jäsenten yhteistyön helpottamiseksi lähdekoodien hallinta toteutettiin hajautetulla GIT versionhallintaohjelmistolla, jonka avulla ryhmän jäsenet pystyivät esimerkiksi muokkaamaan samanaikaisesti samaa lähdekooditiedostoa. Djangon lisäksi sovelluksessa käytetään Javascriptiä ja sen suosittuja jquery, jquery UI sekä Chart.js kirjastoja. Näiden kirjastojen käyttö helpottaa kehitystä, sillä niissä on toteutettuna valmiiksi useita toiminnallisuuksia, joiden kehittäminen olisi työlästä ja vaikea toteuttaa useimmille selaimille yhtäaikaisesti. 5.2 Pelit Muistipelissä, sana ja lausepelissä ja assosiaatiopelissä toiminnan logiikka on teknisesti yhtenäinen: kuvat, kysymykset ja vastausvaihtoehdot generoidaan käyttäen JavaScriptiä. JavaScript on esimerkiksi PHP toteutusta ystävällisempi valinta käyttäjille ja ylläpidolle, koska sivustoa ei tarvitse aina jokaisen klikkauksen jälkeen ladata uudestaan, jolloin pelin pelaaminen on sujuvampaa ja serverille kohdistuvat pyynnöt vähenevät. Jokaisella pelillä ja tilastoilla on oma HTML sivu, oma javascript tiedosto, jossa on JavaScript koodi sekä oma CSS tyylitiedosto. Nämä HTML sivut sisältävät rungon pelien toiminnallisuuksille. Kaikki pelit käyttävät tavallisia HTML elementtejä, joihin jqueryn avulla saadaan interaktiivisuutta. Elementtien tyylit määritellään kyseisten pelien CSS tyylitiedostoissa. Tähän ratkaisuun päädyttiin toisen merkittävän HTML5 vaihtoehdon eli canvas elementin käyttämisen sijaan enimmäkseen siitä syystä, että pelien ulkoasua on helpompi muuttaa tyylitiedostojen avulla koskematta pelien koodiin. Jokainen.js päätteinen JavaScript tiedosto sisältää pelin koodin ja ne aktivoidaan HTML dokumentista sivun latauduttua. Pelit ovat perusrakenteeltaan samankaltaisia. Niiden latautuessa ensimmäisen kerran pelitilanne ja sivu alustetaan aloitustilaan. Tämän jälkeen pelit hyödyntävät pääasiallisesti jqueryn kuuntelija tapahtumia (listener), jotka aktivoituvat elementtejä klikatessa. Aktivointitilanteessa käsitellään tapahtuma tallentamalla esimerkiksi vastausvaihtoehto muistiin ja järjestämällä elementit uudestaan vastaamaan seuraavaa pelitilannetta. Pelin päätyttyä elementit häivytetään, tulokset tallennetaan ja selain ohjataan takaisin alkusivulle. Alkusivu on yksinkertainen HTML dokumentti, jossa on linkit pelisivuille sekä sisäänkirjautumista varten kentät syötteille. 9

5.3 Tunnistautuminen ja tietokanta Pelaajien tiedot ja pelissä suoriutumisen tilastot tallennetaan SQLite tietokantaan, mihin Djangosta löytyy sisäänrakennettuna hyvä tuki. Tietokanta on määritelty Djangon models asetuksissa, jossa tietokannan sisältö ja kentät on määritelty. Tämän jälkeen käyttämällä Djangon tietokantametodeja mallinnettuun tietokantaan voidaan tehdä lisäyksiä ja hakuja. Django hoitaa tietokannan ylläpidon muuten itsenäisesti ja estää esimerkiksi virheelliset syötteet. Pelaajien käyttäjätunnukset hyödyntävät Djangon auth moduulin User mallia, jonka ympärille on rakennettu käyttäjien tunnistautuminen. Pelaajat tunnistetaan käyttäjätunnuksella ja salasanalla, jotka lähetetään CSRF suojatulla http pyynnöllä. Jos tunnus on autentikoitu, niin sen hetkinen istunto tallennetaan muistiin. Selaimen kautta tapahtuvaa rekisteröintiä järjestelmään ei ole toteutettu, joten järjestelmänvalvoja lisää uudet tunnukset käsin tietokantaan Djangon konsolin kautta. Tiedon tallennusta sovelluksessa tapahtuuu käyttäen jqueryn json kutsua, jolla on mahdollista välittää ja hakea tietoa Djangolle ja tätä kautta saada yhteys tietokantaan. Kyselyiden avulla tietokannasta voidaan hakea tietoja tai tallentaa tietoa Djangon tallennusmetodeilla välittämällä niille tiedot parametreinä kutsussa. Lähetetty tieto parsitaan Djangon views metodeissa tietokannan mallinnuksen (models) mukaisesti ja tallennetaan tämän jälkeen. Tiedonhaku tapahtuu yksinkertaisilla kutsuilla, joissa määriteltyjä tietokannan kenttiä parsitaan, yleensä käyttäjätunnuksen perusteella, ja tieto palautetaan JavaScript json kutsun kautta takaisin ohjelmaan. Pelausdatan tilastointi ja kuvaajaesitys muodostetaan Chart.js kirjaston avulla. Edellisessä kappaleessa mainituin json kutsuin tietokannasta haetaan halutut tiedot, jotka Chart.js kirjaston piirtometodeilla muokataan esitysmuotoon. Huomattavaa on, että muistipeli ja assosiaatiopeli tallentavat tällä hetkellä enemmän dataa kuin graafisesti havainnollistetaan. 5.4 Tiedostorakenne Sovellus käyttää Djangon tiedostorakennetta. HTML tiedostot löytyvät /templates/home/ hakemistosta ja muut tiedostot vastaavasti /assets/css/, /assets/js/ ja /assets/gfx/ hakemistoista. Tiedostojen nimistä selviää mihin sovelluksen alueeseen ne kuuluvat. Peleissä käytettävät graafiset resurssit löytyvät /assets/gfx/ hakemistosta. Tietokanta löytyy juurihakemistosta nimellä sqlite3. Djangoon tehdyt koodit, jotka erityisesti liittyvät sovelluksen toimintaan löytyvät /home/ hakemistosta urls.py, models.py ja views.py tiedostoista. Git versionhallintaohjelmistossa tapahtuneen virheen takia sovelluksen uusin versio löytyy käyttäjätunnuksen risto haarasta. 10

6. Aikataulu ja laajuus Projektin laajuudeksi arvioitiin 3 opintopistettä kutakin opiskelijaa kohden, joita oli projektin alussa kolme henkilöä. Projektin varsinainen toteutus eli pelien koodaaminen viivästyi ryhmän jäsenten aikataulukiireiden takia merkittävästi marraskuun lopulle ja joulukuun alkuun. Alkuperäisen aikataulun pettäessä yksi ryhmän jäsenistä joutui jättämään projektin kesken, koska hänellä ei ollut riittävästi aikaa viimeisenä viikkona toteuttaa hänen vastuualueella olevaa peliä. Jäljelle jääneet kaksi ryhmän jäsentä päättivät kuitenkin saattaa projektin loppuun asti, ja he toteuttivat kolmannelle jäsenelle vastuutetut osat projektista muutaman intensiivisen päivän aikana. Vaikka kaikki suunnitellut keskeiset ominaisuudet on peliin toteutettu, projektin laajuuden muutos yhteensä 9 opintopisteestä 6 opintopisteeseen näkyy esimerkiksi siten, että peliin ei ole kehitetty kattavaa tilastollisiin menetelmiin pohjautuvia suoriutumisen arvioinnin mekanismeja. Lisäksi käyttäjien rekisteröinnin ominaisuus puuttuu, jolloin peliin on olemassa tällä hetkellä vain muutamat käyttäjätunnukset. Toisin sanoen, peli onkin oiva jatkokehityskohde tulevaisuudelle. Projektiryhmän kaksi jäsentä ovat käyttäneet projektiin kuvan 4 mukaisesti yhteensä 137,5 tuntia. Näistä tunneista Ristomatti Karppanen on käyttänyt 68 tuntia ja Mikko Mulari 54 tuntia, ja jäljelle jääneet 15,5 tuntia on projektin kesken jättänyt jäsen. Projektiin käytettyä työaikaa seurattiin päivätasolla opiskelijakohtaisesti, mutta työaikaa ei kohdennettu projektisuunnitelmissa esitetyille työpaketeille. Alle olevassa kuvassa 5 on esitetty tuntien kumulatiivinen kehittyminen (oranssi käyrä) ja suunniteltu kehittyminen (vihreä käyrä) Ristomatti Karppasen ja Mikko Mularin osalta. Kuva 5. Projektiin käytettyjen tuntien kumulatiivinen kehittyminen. 11

7. Toteutuneet riskit Oheisessa taulukossa 2 on esitetty projektisuunnitelmassa mainitut riskit ja niiden todennäköisyydet sekä analyysi riskien toteutumisesta. Taulukko 2. Projektille tunnistetut ja toteutuneet riskit. Todennäköisyys ja seurausten vaikutus Vähäinen vaikutus Keskinkertainen vaikutus Suuri vaikutus Vähäinen todennäköisyys Ei toteutunut: Valittujen teknologioiden osoittautuminen riittämättömiksi: voidaan välttää kattavalla perehtymisellä. Keskinkertainen todennäköisyys Ei toteutunut: Ryhmän jäsenten lyhytaikaiset sairastumiset: työtä voidaan tehdä joustavasti kunkin oman aikataulun mukaisesti Toteutui, vaikutti projektiin: Laboratorio ei kykene tarjoamaan laitteistoa projektille: hankitaan laitteisto jostain muualta Ei toteutunut: Ryhmän jäsenten teknologioiden osaamisen vaikutus siihen, että työt jakautuvat epätasaisesti Suuri todennäköisyys Toteutui osittain: Toiminnallisuuksien osien toteuttaminen on teknisesti haastavaa: mietitään yhdessä ratkaisuja ja tarvittaessa tehdään toisella tavalla Toteutui, vaikutti merkittävästi projektiin: Haasteet ryhmän jäsenten ajankäytössä: mahdollistetaan joustavat ajat edistää projektia, ei tarvetta fyysisille tapaamisille Toteutui osittain: Toiminnallisuuksien toteuttaminen vie enemmän tai vähemmän aikaa kuin on suunniteltu: suunnitelmasta karsitaan toiminnallisuuksia pois tai tehdään jatkokehitykseksi merkattuja toiminnallisuuksia Toteutuneet riskit liittyivät ajankäyttöön, missä oli haasteita sekä projektin alussa että lopussa. Projektin alkuvaiheessa ohjelmoinnin aloitus viivästyi noin kahdella viikolla, koska ryhmä ei saanut käyttöönsä laitteistoa, jolla projektia olisi voitu kehittää. Tilanteen pitkittyminen ratkaistiin 12

siten, että yksi ryhmän jäsenistä otti laitoksen tarjoaman palvelimen kotiinsa, jolloin projektissa voitiin edetä. Tämän riskin toteutumisella oli keskinkertainen vaikutus projektiin. Projektiryhmän jäsenten henkilökohtaisista kiireistä johtuen projekti ei edennyt juurikaan lokakuun lopun ja marraskuun alun aikana. Tilanteeseen herättiin vasta marraskuun lopussa, jolloin yksi ryhmän jäsenistä päätti jättää työn kesken, koska kuun vaihteen aikataulut eivät mitenkään sopineet hänelle. Jäljelle jääneet Ristomatti Karppanen ja Mikko Mulari päättivät jäsenen poistumisesta huolimatta saattaa projektin loppuun, vaikka viimeisinä päivinä jouduttiin tekemään hyvin pitkää päivää. Loppujen lopuksi peli saatiin kuitenkin valmiiksi. Tämän riskin toteutumisella oli suuri vaikutus projektiin. Molemmat ajankäyttöön liittyvät riskit tunnistettiin projektin suunnitteluvaiheessa, mutta riittäviä ennaltaehkäiseviä toimia ei tehty. Riskit olisi voitu välttää esimerkiksi siten, että joku kolmesta projektin jäsenestä olisi ottanut johtajan roolin ja siten vastuun projektin läpiviemisestä. 8. Yhteenveto ja jatkokehityskohteet Suomen ikärakenne tulee tulevina vuosikymmeninä muuttumaan siten, että ikääntyvän väestön osuus koko väestöstä tulee kasvamaan. Heikentynyt huoltosuhde asettaa haasteita vanhusten hoitopalveluiden rahoitukseen, kun työikäisten osuus väestöstä pienenee. Vanhustenhoito tulee myös tulevaisuudessa sitomaan enemmän henkilöstöä, jolloin työntekijöistä voi olla pulaa. Ikääntyvän väestön hoito on kuitenkin järjestettävä tavalla tai toisella, ja yhtenä osana tässä kokonaisuudessa on kasvava merkitys vanhusten ja muiden muistisairaiden itsehoidolle. Tässä projektissa toteutettu kognitiivisen terapian ja mentaalisten kykyjen aktivoinnin peli on yksi työkalu itsehoidon järjestämisessä. Nykyään dementia, aivovaurio ja muiden muistisairaiden potilaiden mentaalisia taitoja aktivoidaan ja arvioidaan lukuisilla testeillä, joissa hoitaja on tyypillisesti läsnä. Jos asiakkaat pystyisivät tekemään nämä testit itse, voitaisiin hoitohenkilöstöä käyttää enemmän muissa tehtävissä. Pelimäinen lähestymistapa mahdollistaa lisäksi merkittävästi tiuhemman mittausvälin testeille, jos pelaaminen on hauskaa ja pelaaja haluaa peliä pelata. Projektissa kehitetty peli jakaantui neljään osa alueeseen: muistipeliin, sana ja lausepeliin, assosiaatiopeliin sekä pelien tulosten mittaamiseen ja seurantaan. Pelin tieteellisenä pohjana käytettiin MMSE testiä (Mini Mental State Examination), joka mittaa muistamiseen ja merkityksien ymmärtämiseen liittyviä mentaalisia taitoja. Peliin kirjaudutaan sisään käyttäjätunnuksilla, jotta kunkin pelaajan tulosten kehitystä voidaan seurata. Merkittävin projektiin liittyvä toteutunut riski oli se, että yksi projektiryhmän jäsenistä päätti jättää työn kesken aikataulullisten kiireiden takia. Tämä näkyi kahden jäljelle jääneen jäsenen 13

työmäärässä projektin viimeisinä päivinä, mutta lopulta peli saatiin kuitenkin valmiiksi määräaikaan mennessä. Pelin mahdollisessa jatkokehityksessä voisi keskittyä adaptiivisuuden kehittämiseen: pelin vaikeusaste voisi muuttua sen mukaan, millaisia tuloksia pelaaja on aiemmin saanut. Toinen jatkokehityskohde liittyy pelin tulosten validointiin: tulosten merkitystä voitaisiin käydä läpi yhteistyössä hoitoalan asiantuntijan kanssa siten, että jokaisesta pelikerrasta saataisiin kokonaisvaltaisesti kliinistä tietoa pelaajan mentaalisista taidoista. Projektiryhmän jäsenillä ei ollut tässä projektissa käytettävissään riittävää kliinistä tietämystä arvioidakseen, miten merkityksellistä tietyt pelien tulokset ovat muihin tuloksiin verrattuna, joten tämän tyyppisen kokonaisarvioinnin tekeminen olisi ollut tieteellisesti tulkinnanvaraista. 14