T SEPA diary. Santtu Järvi (57729J), Matti Lehtomäki (55065D) 2. maaliskuuta 2008

Koko: px
Aloita esitys sivulta:

Download "T-76.5158 SEPA diary. Santtu Järvi (57729J), Matti Lehtomäki (55065D) 2. maaliskuuta 2008"

Transkriptio

1 T Santtu Järvi (57729J), Matti Lehtomäki (55065D) 2. maaliskuuta

2 Sisältö 1 Johdanto 3 2 Käytännön toteutussuunnitelma Yleiskuvaus Tekniset tarkastelukohteet Tehokkaat ja tehottomat pariohjelmoinnin kohteet Erilaisten työpisteiden vaikutus tehokkuuteen Päätelaitteiden vaikutukset ja mahdolliset ongelmat Psykologiset tarkastelukohteet Ohjelmointivuoron pituus Taukojen määrä ja niiden pituus Palautteen määrän vaikutus Yleisen keskustelun määrä ja häiriötekijät Huumorin vaikutus Parien vaihtaminen ja mahdolliset ongelmatilanteet Havainnot ja muutokset Suunnitteluvaihe Toteutusvaihe Yleiskuva Muutokset toteutussuunnitelmaan Havainnot Toteutusvaihe Yleiskuva Muutokset toteutussuunnitelmaan Havainnot Yhteenveto /11

3 1 Johdanto Sovellusohjelmointi on tyypillisesti taito, jota tuskin kukaan pystyy soveltamaan ilman jatkuvaa virheiden tekemistä. Koska ihmiset ovat vain ihmisiä, inhimillisten virheiden todennäköisyys ohjelmoitaessa on sitä suurempi, mitä monimutkaisempia ja suurempia ongelmia pyritään ratkomaan ohjelmallisesti. Ihminen on tyypillisesti myös helposti taipuvainen soveltamaan heti ensimmäisenä mieleensä tullutta ratkaisua tiettyyn ongelmaan ajattelematta välttämättä sen kummemmin sen järkevyyttä. Toisaalta joku saattaa taas jäädä tunneiksi miettimään ongelmanratkaisua pääsemättä asiassa juurikaan eteenpäin. Usein ratkaisuvaihtoehtojen määrä jää vähäiseksi ja ongelmaa lähestytään vain yhdestä tai parista eri näkökulmasta. Myös tietotaito on ohjelmoitaessa valttia ja monesti lahjakkaan ohjelmoijan kyvykkyydestä ei ole muille ohjelmoijille muuta hyötyä kuin laadukas koodi, mikäli hän harrastaa ohjelmointia täysin itsenäisesti. Jokainen vähän tai hieman enemmänkin ohjelmoinut on varmasti kohdannut edellä mainittuja ongelmatilanteita ja miettinyt miten ne saisi ratkaistua. Yksi hyväksi todettu ja tehokas ratkaisu on hyödyntää ohjelmistoprojekteissa pariohjelmointia. Pariohjelmoinnilla tarkoitetaan lyhykäisyydessään kahden ihmisen tiivistä yhteistyötä ohjelmakoodin tuottamisessa saman näyttöpäätteen ääressä. Toinen ohjelmoijista toimii vuorollaan ajajana ja toinen vieressä navigaattorina. Ajajan tehtävänä on tuottaa koodia mahdollisimman tehokkaasti ja nopeasti kiinnittämättä enempää huomiota yksityiskohtiin. Navigaattorin tehtävänä taas on linjata suoritettavaa ohjelmointitehtävää ja tarkkailla aktiivisesti ajajan tuottamia koodirivejä virheitä etsien sekä antaa palautetta puutteista ohjelmakoodissa. Laurie Williams ja Robert Kessler ovat kiteyttäneet onnistuneesti pariohjelmoinnin mentaliteetin ja periaatteet artikkelissaan All I Really Need to Know about Pair Programming I Learned In Kindergarten [1]. Siinä on kuvattu erittäin selkeällä ja helposti omaksuttavalla tavalla pariohjelmointi psykologisesta näkökulmasta ja keskitytty käytännön ongelmiin, joita kahden ihmisen välisessä kanssakäymisessä saattaa ilmaantua ohjelmoinnin merkeissä. 2 Käytännön toteutussuunnitelma 2.1 Yleiskuvaus Useassa projektissa on tullut vastaan koodin sekavuus useamman ohjelmoijan työskennellessä saman koodin parissa yhtäaikaa. Projektin edetessä huomataankin usein, että jokainen ymmärtää vain oman alueensa, mikä tekee ohjelmoinnin koordinoinnista hyvin hankalaa. Tähän ongelmaan on jo aiemmin kokeiltu ratkaisua, jossa ohjelmoidaan yhdessä internet-puhelun mahdollistaman keskustelun tukemana. Vaikeimmissa kohdissa on tullut myös testattua muita etätyökaluja, joilla esimerkiksi jokainen ohjelmoija voi muokata samanaikaisesti tiedostoja, koska kaikki näkevät reaaliajassa toistenkin tekemät muokkaukset. Tulos näissä ohjelmointitesteissä on ollut hyvin positiivinen ja tämän takia pariohjelmointi kiinnostaa käytännössä hyvin paljon. Pariohjelmointia tullaan projektin aikana käyttämään jatkuvasti alkaen ensimmäisestä iteraatiosta. Koska pariohjelmointi vaatii kaksi ohjelmoijaa, keskitytään erityisesti asioihin, jotka olennaisesti vaikuttavat tehokkaan pariohjelmoinnin toteuttamiseen sekä teknisessä 3/11

4 että psykologisessa mielessä. 2.2 Tekniset tarkastelukohteet Tehokkaat ja tehottomat pariohjelmoinnin kohteet Koodin kommentointi ja täysin triviaalit muokkaukset eivät voi mitenkään olla parhaita pariohjelmoinnin kohteita, joten nämä asiat sivuutetaan tekniikkaa testatessa. Olennainen asia pariohjelmoinnissa on löytää ohjelmoinnin osa-alueet, joissa tekniikan soveltaminen on järkevää. Tämän takia pyritäänkin järjestämään eri suuruisia ja vaikeusasteisia ohjelmointitehtäviä, jotta pariohjelmoinnin todellinen hyötyalue tulisi esiin Erilaisten työpisteiden vaikutus tehokkuuteen Pariohjelmoinnissa on erittäin tärkeää, että työpiste olisi mahdollisimman ergonominen. On tärkeää huomioida, että vuoron vaihtaminen tapahtuu näppärästi vain näppäimistöä ja hiirtä liikuttamalla. Mikäli jokaisen vuoron vaihdon yhteydessä tuoleja ruvetaan siirtelemään, tähän kuluu turhaa aikaa ja vaivaa varsinkin mikäli vuoron pituus on lyhyt. Erilaisten työtuolien lisäksi myös erimuotoisia pöytiä tullaan kokeilemaan niiden aikaansaamien vaikutusten esiintuomiseksi Päätelaitteiden vaikutukset ja mahdolliset ongelmat Kun kaksi ihmistä tuijottaa yhtä näyttöpäätettä samanaikaisesti, näyttöpäätteen laatu ja katselukulmat ovat erityisen tärkeässä asemassa. Eri tekniikalla toteuttuja ja erikokoisia näyttöpäätteitä tullaankin kokeilemaan mahdollisuuksien mukaan. 2.3 Psykologiset tarkastelukohteet Ohjelmointivuoron pituus Koska aikaisempaa kokemusta varsinaisesta pariohjelmoinnista ei juurikaan ole, tullaan sitä testaamaan erilaisilla aikajaksoilla. Jokaisella viikolla pyritään testaamaan eri mittaisia vuoroja ajajan ja navigaattorin rooleissa. Aluksi testaan ainakin 15, 30 ja 45 minuutin mittaisia jaksoja, ja tämän jälkeen pyritään vielä hakemaan hienosäätöä kaikista parhaimman jakson pituuden löytämiseksi. Yleisesti parhaimmaksi vuoron pituudeksi on todettu noin puoli tuntia, jota pidetään lahtökohtaisena parhaana arvona Taukojen määrä ja niiden pituus Tauot ovat olennainen osa kaikkea työtä ja varsinkin tiivistä yhteistyötä tehdessä niiden merkitys varmasti korostuu. Tämän takia onkin mielenkiintoista kokeilla, kuinka yhteistyö sujuu pitämättä tuskin yhtään taukoa. Toisaalta on varsin mielekästä kokeilla myös usein toistuvia parin minuutin mittaisia taukoja työskentelytehokkuuden kannalta. 4/11

5 2.3.3 Palautteen määrän vaikutus Palautteen antaminen on hyvin olennainen osa pariohjelmointia. Liian nopeasti annettu palaute saattaa ruveta ärsyttämään toista ja toisaalta taas hitaasti reagoiva navigaattori saattaa aiheuttaa sekaannusta ajajan ohjelmoidessa, mikäli hän raportoi esimerkiksi ajajan tekemästä kirjoitusvirheestä turhan myöhään. Kirjoittamaton sääntö sanoo, että navigaattorin tulisi puuttua koodirivin sisältöön vasta kun ajaja on painanut rivinvaihtoa. Tätä sääntöä tullaan ehdottomasti testaamaan myös käytännössä. Kaiken kaikkiaan palautteen annon nopeutta ja määrää tullaankin testaamaan ääripäästä toiseen pyrkien löytämään optimaalinen taso Yleisen keskustelun määrä ja häiriötekijät Koska pariohjelmointi on tiivistä yhteistyötä, on sitä käytännössä mahdoton toteuttaa olemalla hiljaa. Tämän takia tullaan kiinnittämään huomiota muiden samassa huoneessa olevien ohjelmoijien antamaan palautteeseen keskustelun ja kommentoinnin häiritsevyydestä. Yleisesti ottaen tullaan myös kiinnittämään huomiota siihen, kuinka suuri vaikutus on navigaattorin pysymisellä asiassa ajajan ohjelmoidessa. On mielenkiintoista nähdä kuinka helposti ajajan ote koodinkirjoittamiseen herpaantuu, jos navigaattori ei kommentoi loogisesti ajajan työskentelyä tai hyppii ajatuksissaan epäloogisesti paikasta toiseen Huumorin vaikutus Huumorilla on melkoinen merkitys hyvän ilmapiirin luomisessa. Tämän takia tullaan pitämään ohjelmointipäiviä, jolloin lähes kaikki ohjelmointiin liittyvät asiat pyritään esittämään pilke silmäkulmassa ja sitten taas testataan myös toista ääripäätä, jolloin asiat esitetään vakavasti ja asiallisesti. Erilaisella huumorin määrällä voi olla yllättävä vaikutus ohjelmoinnin tehokkuuteen Parien vaihtaminen ja mahdolliset ongelmatilanteet Pariohjelmointia aiotaan testata aluksi vain yhdellä parilla, mutta myöhemmin mahdollisesti useammalla, mikäli vain muiden ohjelmoijien aikataulu tämän sallii. Parien vaihto tuo varmasti mukanaan psykologisia seikkoja, joita vain yhden ja saman parin työskennellessä ei välttämättä tule esiin. Jokainen ihminen on yksilö ja onkin täysin mahdollista, että henkilökemiat eivät kohtaa ollenkaan. 3 Havainnot ja muutokset 3.1 Suunnitteluvaihe Projektin suunnitteluvaiheessa pariohjelmointia ei voitu luonnollisesti soveltaa, koska ohjelmointityötä tehdään vasta toteutusvaiheissa. 3.2 Toteutusvaihe Yleiskuva Ensimmäisessä toteutusvaihessa tarkoituksena oli rakentaa viestipohjainen taustajärjestelmä käyttäen Python-ohjelmointikieltä. Python ei kielenä ollut kovin 5/11

6 tuttu kummallekaan, mutta parin päivän ohjelmoinnin jälkeen kieli alkoi sujua luontevasti ja mitään kovin monimutkaista Python-kielessä ei tullut vastaan. Pariohjelmointia ryhdyttiin soveltamaan heti kehitystyökalujen asennuksen jälkeen ja sitä käytettiin iteraation loppuun saakka. Kappaleeseen on koottu havaintoja ja kokemuksia pariohjelmoinnin soveltuvuudesta tehokkaalla ohjelmointikielellä toteutetun ohjelman luomiseen ilman olemassa olevaa pohjaa Muutokset toteutussuunnitelmaan Ainoa selkeä muutos toteutussuunnitelmaan ensimmäisessä toteutusvaihessa oli, että pariohjelmointia kokeiltiin myös erityistä tarkkaavaisuutta vaativan dokumentaation tuottamiseen. Tästä on kerrottu lisää kappalessa kohdassa Tehokkaat ja tehottomat pariohjelmoinnin kohteet Havainnot Tehokkaat ja tehottomat pariohjelmoinnin kohteet Pariohjelmoinnin huomattiin sopivan erityisen hyvin sellaiseen ohjelmointiin, jossa kaikki on suunniteltu alusta asti itse ja suunnitelma on selkeä. Alusta asti itse suunniteltu järjestelmä aikaansaa sen, että molemmilla on hyvä tietämys järjestelmästä ja sitä on mukava ohjelmoida pariohjelmoiden. Itse ohjelmointikielestä ei välttämättä molemmilla ole yhtä paljon tietämystä, mutta pariohjelmointi auttaa myös jakamaan tietoa. Erityisen hyvin pariohjelmointi sopii myös ohjelmointikieleen, jossa ei ole tyypitystä. Kun virheelliset metodikutsut huomataan tulkin toimesta ohjelmallisesti vasta ajettaessa ohjelmaa, on paljon tehokkaampaa, mikäli virheet pystytään pariohjelmoinnin avulla huomaamaan jo koodinkirjoitusvaiheessa. Tämä toimi hienosti. Toinen erittäin hyvä kohde pariohjelmoinnille on rekursiot ja for-lauseet. Näissä tulee helposti virheitä raja-arvojen kanssa, mikä pystytään valppaan navigaattorin avulla usein tehokkaasti estämään. Debuggaaminen on hieman kaksijakoinen kohde pariohjelmoitaessa. Mikäli sekä ajajalla että navigaattorilla on yhtä hyvä tuntemus järjestelmään, debuggaaminen on usein tehokkaampaa kahden silmäpärin voimin. Toisaalta taas vaikeasti paikannettaviin ongelmiin ja tuntemattoman järjestelmän debuggamiseen pariohjelmointi ei välttämättä ole tehokkain keino, koska ongelmien ratkominen saattaa tällöin viedä kohtuuttoman paljon aikaa johtuen koodin kääntämisestä. Tällöin on usein tehokkaampaa hajauttaa pari debuggaamaan ongelmaa kahdella eri koneella, kumpikin yrittäen ratkoa ongelmaa erilaisilla lähestymistavoilla. Alkuperäisestä suunnitelmasta poiketen pariohjelmointia sovellettiin myös tarkkuutta vaativaan dokumentointiin. Tarkemmin sanoen kohteena oli järjestelmässä kulkevien viestien dokumentointi, mikä vaati hyppimistä koodissa sekä leikkaa-liimaa operaatiota eri ikkunoiden välillä. Koska viestien dokumentaation tuli olla korrektia ja vastata täysin koodia, ylimääräinen silmäpari ei todellakaan ollut pahitteeksi dokumentaatiota kirjoitettaessa. Eli tämän tyyppiseen dokumentointiin pariohjelmointi soveltui varsin hyvin. Tehottomia kohteita pariohjemoinnille paljastui olevan lähinnä täysin triviaalien container-tyyppisten luokkien tekeminen, missä luokan rajapinta vain sisältää GetXXX() ja SetXXX() -tyyppisiä metodeita. Tähänkin tosin löytyi aivan projektin loppuvaiheessa kehitystyökalun puolelta automatisoitu ratkaisu, 6/11

7 minkä hyödyntäminen heti alusta lähtien olisi säästänyt jonkin verran aikaa ja vaivaa, sekä poistanut ainoan selkeän miinuksen pariohjelmoinnin soveltuvuuslistalta ohjelmoitaessa Python-kielellä. Erilaisten työpisteiden vaikutus tehokkuuteen Työpisteillä huomattiin olevan enemmän vaikutusta kun aluperin kuviteltiinkaan. Aivan aluksi kokeiltiin nurkkatyöpistetta, joka oli kovera 90 asteen nurkka. Molemmat kokivat tämän varsin ahdistavaksi työasennoksi ja se hylättiin välittömästi. Seuraavaksi kokeiltiin toista ääripäätä, eli 90 asteen kuperaa nurkkaa. Se oli muuten melko toimiva, mutta asento ei tuntunut täysin luontevalta ja lisäksi päätä piti koko ajan kääntää näytön suuntaan korostetusti. Lisäksi näppäimistön siirtäminen toiselle ei ollut kovin helppoa vuoron vaihtuessa. Näin ollen parhaimmaksi testatuksi vaihtoehdoksi muodostui suora pöytä, jossa molemmat istuvat rinnakkain. Tällöin päätä ei juurikaan tarvinnut kääntää näytön suuntaan ja näppäimistön sai helposti liu utettua kaverille. Ideaalimaailmassa paras työpiste olisi kupera, noin 30 asteen kulma, jolloin voisi käytännössä katsoa kokoajan suoraan eteenpäin ja näppäimistön saisi silti siirrettyä pienellä vaivalla. Päätelaitteiden vaikutukset ja mahdolliset ongelmat Päätelaitteen vaikutus korostui heti ensimmäisenä testipäivänä. Kun pariohjelmoinnissa joutuu käyttämään 14 LCD näyttöä, se ei missän nimessä voi olla kovinkaan miellyttävää. Suurimmaksi ongelmaksi muodostui kehnot katselukulmat, jonka takia näyttöä joutui viemään kauemmaksi kuin olisi ollut miellyttävää. Tästä taas seurasi, että näytön tekstiä joutui kokoajan hieman tihrustamaan, eivätkä silmät saaneet levätä. Joka tapauksessa parhaaksi sijoituspaikaksi pienelle LCD-näytölle asettui noin 80 cm:n etäisyys silmistä suoraan edessä. Tällöin katselukulmat eivät juurikaan häirinneet ja teksti oli silti vielä luettavissa. Olisi ollut mielenkiintoista kokeilla myös isompaa päätelaitetta ja parempia katselukulmia, mutta tähän ei tarjoutunut mahdollisuutta. Ohjelmointivuoron pituus Kun pariohjelmointia lähdettiin soveltamaan, aluksi testattiin 30 minuutin pituista ohjelmointivuoroa. Tämä tuntui aluksi hyvältä, mutta viikon jälkeen puolen tunnin vuorot alkoivat venymään ja rupesivat osoittautumaan turhan pitkiksi. Tämän takia vuoron pituutta lyhennettiin ensin 20 minuuttiin ja sitten 15 minuuttiin, joka tuntui olevan paras vaihtoehto. Ongelmana oli kuitenkin se, että vaikka mielenkiinto säilyi pariohjelmoinnin kannalta tällä vuoronpituudella parhaana, suoritettava ohjelmointitehtävä tuntui hyvin usein jäävän kesken lyhyen vuoron takia. Ratkaisuna ongelmaan oli jyvittää ohjelmointitehtävät tarkemmin pienemmiksi kokonaisuuksiksi, minkä jälkeen lyhyt vuoroväli toimi erittäin hyvin. Myös aiemmin esiteltyyn erityistä tarkkaavaisuutta vaativaan dokumentointiin sovellettu pariohjelmointi toimi parhaiten juuri lyhyellä vuoronpituudella. Yksin tai pitkillä vuoroilla tehtynä dokumentointi olisi varmasti osoittautui varsin tylsäksi hommaksi, sillä pariohjelmoidenkin sen tekemiseen kului melkein kokonaisen työpäivän verran. 7/11

8 Taukojen määrä ja niiden pituus Aluksi tauot jäivät varsin vähäisiksi ja ohjelmointia vain jatkettiin kunnes tuli ruokatunti tai päivä loppui. Tämä oli suuri virhe, sillä taukojen merkityksen huomattiinkin olevan varsin suuri. Pienen tauon (muutama minuutti) aina yhden tavoitteen valmistumisen jälkeen todettiin olevan paljon tehokkaampaa pitemmällä tähtäimellä. Yleisen keskustelun määrä ja häiriötekijät Selvä heikkous pariohjelmoinnissa on uupuminen, joka usein näyttää osuvan navigaattorin puolelle. Tämä tapahtuu varsinkin jos navigaattorilla ei ole yksinkertaisesti mitään lisättävää, tai ohjelmoitava alue on jo valmiiksi jo liian yksinkertaista. Pieni, muttei häiritsevä, keskustelu huomattiin hyvin toimivaksi estämään tätä. Navigaattorin, ja tarvittaessa myös ajajan, kannattaa yksinkertaisesti kommentoida koodia vaikka pelkästään huumorilla. Tämä herättää yleensä toisen ja pitää mielenkiinnon yllä molemmilla. Keskustelu tuo tietenkin myös huonot asiat, kuten aiheen vaihtuminen johonkin aivan toiseen. Monesti tuli huomattua, että ohjelmointi loppui ja keskustelun aihe olikin muuttunut harrastukseen liittyväksi. Pienissä määrin tämä ei tietenkään ole ongelma, mutta usein keskustelu venyi tarpeettoman pitkäksi. Pieni korjausidea tähän on pitää keskustelutuokio työhön liittymättömistä asioista ennen ohjelmoinnin aloittamista ja sitten yrittää parhaansa keskittyä pelkkään ohjelmointiin. Usein, pahasti kesken ohjelmoinnin, joku saattaa tulla kyselemään yksinkertaisia kysymyksiä liittyen ohjelmointiin tai muihin asioihin. Tämän jälkeen on luonnollisesti todella vaikea palautua vanhaan tilaan ja jatkaa ohjelmointia kuin mitään ei olisi tapahtunutkaan. Pariohjelmoinnissa huomattiin, että palautuminen olikin paljon helpompaa kuin yleensä. Jos ulkopuolista häirintää tapahtui, niin yleensä viimeistään navigaattori muisti mihin jäätiin. Toisaalta tilanteet, joissa toinen joutui siirtymään pois auttamaan muita, vaati että toinen jäi vain odottelemaan. Tällöin auttaminen maksoikin kahden henkilön työmäärän. Keskustelua tapahtui varsin paljon pariohjelmoinnin yhteydessä ja ulkopuolisilta kysyttiin, oliko se häiritsevää. Kukaan ei ainakaan myöntänyt sen olevan häiritsevää. Huumorin ja palautteen määrän vaikutus Huumorin tärkeys nousi hyvin esille tilanteissa, joissa navigaattori huomaa jatkuvasti toistuvat tai hyvin naurettavat pikkuvirheet. Tilanteesta, jossa navigaattori jatkuvasti nalkuttaa pienistä asioista, voi nopeasti tulla ärsyttäviä molemmille. Jos nämä huomautukset tuo esille pieninä humoristisina kommentteina, on ilmapiiri paljon vapaampaa ja tällöin myös työskentely hauskempaa. Parien vaihtaminen ja mahdolliset ongelmatilanteet Parien vaihtamistamahdollisuutta ei tullut. Jokaisella oli hyvin tarkasti määrätyt työalueet ja ylimääräistä aikaa ei muilta työryhmän jäseniltä löytynyt. Parien vaihtaminen olisi varmasti parantanut koodin laatua yleisesti, sillä jälkeenpäin huomasimme koodissa valtavia tyylipoikkeuksia, jotka olisi ollut hel- 8/11

9 posti korjattavissa pariohjelmoinnilla. Jokaisen oma osa-alue oli toisaalta niin erilainen, että parien vaihtaminen olisi varmasti hidastanut työtahtia suunnattomasti. Vaihtamismahdollisuutta päätettiin kuitenkin yrittää testata seuraavassa toteutusvaiheessa. 3.3 Toteutusvaihe Yleiskuva Toisessa toteutusvaiheessa Python-ohjelmointikieli jätettiin taakse ja vaihdettiin Java-kieleen. Javalla ryhdyttiin rakentamaan web-portaalia, joka hyödyntää ensimmäisessä toteutusvaiheessa luotua taustajärjestelmää. Lähtökohta ohjelmointiteknisessä mielessä oli varsin erilainen 1. toteutusvaiheeseen nähden, sillä kummallekin itse Java-kieli oli entuudestaan varsin tuttua, mutta portaalin toteuttaminen käyttäen noin kymmentä eri Javan päälle rakennettua teknologiaa rinnakkain oli täysin uutta. Lisäksi toteutusta ei rydytty tekemään täysin tyhjästä, vaan pohjana käytettiin AppFuse-ohjelmalla generoitua valmista websivustopohjaa, josta löytyi lähinnä tuki käyttäjien hallintaan. Pariohjelmoinnin kannalta lähtökohta oli mielenkiintoinen, sillä valmiiksi generoidun pohjan päälle ohjelmointi ei aina ole puhdasta ohjelmointia, vaan konfigurointia, josta kerrotaan kappaleessa lisää Muutokset toteutussuunnitelmaan Kiireinen aikataulu aiheutti muutoksen toiseen toteutusvaiheeseen niin, että pariohjelmointi jouduttiin jättämään puolessa välissä kokonaan pois. Näin pystyttiin tekemään periaatteessa enemmän tehtäviä samassa ajassa, tosin koodin laatu kyllä kärsi tästä jonkin verran Havainnot Parien vaihtaminen ja mahdolliset ongelmatilanteet Hieman ennen toisen toteutusvaiheen puolta väliä tarjoutui hetkeksi tilaisuus soveltaa pariohjelmointia css-tyylitiedostojen ohjelmoimiseen käyttäen eri paria kuin ensimmäisessä vaiheessa. Parin vaihto tuotti heti aluksi tietynlaisen mukavuuden tunteen häviämisen, koska pari ei entuudestaan tuntenut toisiansa kovin hyvin. Tämä aikaansai tietynlaisen epämiellyttävän paineen ohjelmointiin, koska toisen koodia ei uskaltanut tai viitsinyt kommentoida yhtä herkästi ja rennosti kuin ensimmäisessä toteutusvaiheessa. Tämä tunne tosin hävisi parin päivän jälkeen ja yhteistyö alkoi sujua paremmin. Muita merkittäviä huomioita parin vaihto ei saanut aikaan. Tehokkaat ja tehottomat pariohjelmoinnin kohteet Toisessa toteutusvaiheessa ohjelmoinnin luonne tosiaan muuttui täysin, koska uuteen teknologiaan ja järjestelmään tutustuminen vei aikansa. Pariohjelmointia pyrittiin aluksi soveltamaan samalla tavalla kuin ensimmäisessä toteutusvaiheessakin, mutta viikon jälkeen havaittiin ohjelmoinnin luonteen muuttuneen enemmänkin uuden opiskeluksi ja olemassa olevan järjestelmän konfiguroinniksi 9/11

10 XML-tiedostojen avulla. Itse koodirivejä tuotettiin toisen toteutusvaiheen alussa todella vähän ja pariohjelmointi ei soveltunut tällaiseen kovinkaan hyvin. Hyvänä puolena pariohjelmointi toki toi tällaisissa olosuhteissa tiedon siirtymisen parin välillä, mutta tehokkuus oli hukassa. Lisäksi huonosti tunnetun järjestelmän debuggaaminen ei osoittautunut missään tapauksessa hyväksi kohteeksi pariohjelmoinnille varsinkin, kun järjestelmän kääntäminen ja käynnistäminen vei joka kerta minuutin verran. Pariohjelmointi ei myöskään soveltunut kovin hyvin css-tyylitiedostojen luomiseen ja muokkaamiseen, koska homma on enemmän muuta yksi arvo ja testaa -tyyppistä ohjelmointia kuin varsinaista koodin tuottamista. Yleisen keskustelun määrä ja häiriötekijät Kiireisemmässä ympäristössä häiriötekijöiden vaikutusten huomattiin tulevan paljon vahvemmin esille. Pariohjelmointi keskeytyi jatkuvasti kysymyksiin ja muuhun avuntarpeeseen. Tästä huomattiin nopeasti, että jatkuva keskeytys pariohjelmoinnissa tuhoaa koko tekniikan täysin. Vaikka pariohjelmointi tekee palautumisen helpommaksi, on se hyvin vaikeaa tilanteissa, joissa vuorotellen toinen joutuu työskentelemään aivan erilaisen ongelman parissa. Tähän on hyvin vaikea mitään ratkaisua suoraan keksiä, sillä tietenkin eteen tulleet ongelmat myös estävät muiden työskentelyä. Jos parien vaihtamista olisi pystytty harrastamaan kunnolla ja tieto olisi kiertänyt aina parien vaihtuessa, olisi häiriötekijöiden määrä varmasti ollut pienempi. 3.4 Yhteenveto Oikein hiottuna pariohjelmointi on varmasti loistava työväline, mutta se vaatii juuri oikeanlaisen työryhmän. Ryhmän olisi hyvä omata samanlainen huumorintaju ja tulla hyvin toimeen toistensa kanssa. Jos ryhmässä on edes yksi, joka ei vain tule toimeen muun ryhmän kanssa, voi se tuhota koko prosessin suoraan. Hyvän ryhmän lisäksi vaaditaan tietenkin pitkää harjoittelua. Seuraavassa on listattuna oleellisimmat havaitut plussat ja miinukset liittyen pariohjelmointiin: + Miellyttävämpää kuin yksin ohjelmoiminen + Koodi huomattavasti parempaa ja huolellisempaa + Soveltuu tarkkuutta vaativaan työhön + Oppiminen ja tiedon jakaminen + Tutustuminen toiseen - Hitaampaa - Parin pitää tulla toimeen keskenään - Ei toimi triviaaleissa ja paljon konfigurointia sisältävissä tehtävissä - Molempien tulee olla samaan aikaan motivoituneita, toisen huono päivä saattaa pilata kaiken - Hankalasti korjattavat ongelmat latistavat tunnelman 10/11

11 Viitteet [1] Williams Laurie A., Kessler Robert R. All I Really Need to Know about Pair Programming I Learned In Kindergarten, Viitattu Saatavissa: borgida/old/275/pairpgming.pdf. [2] Williams, Laurie, Robert Kessler. Pair Programming Illuminated Addison- Wesley, /11

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS

Lisätiedot

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön

Lisätiedot

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Kevään 2010 fysiikan valtakunnallinen koe

Kevään 2010 fysiikan valtakunnallinen koe 120 Kevään 2010 fysiikan valtakunnallinen koe 107 114 100 87 93 Oppilasmäärä 80 60 40 20 0 3 5 7 14 20 30 20 30 36 33 56 39 67 48 69 77 76 56 65 35 25 10 9,75 9,5 9,25 9 8,75 8,5 8,25 8 7,75 7,5 7,25 7

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu?

oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu? Oppimispäiväkirjablogi Hannu Hämäläinen oppilaan kiusaamista kotitehtävillä vai oppimisen työkalu? Parhaimmillaan oppimispäiväkirja toimii oppilaan oppimisen arvioinnin työkaluna. Pahimmillaan se tekee

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

1. JAKSO - SÄÄNNÖT Tavat, käytös, toisen kunnioittava kohtaaminen, huomaavaisuus, kohteliaisuus.

1. JAKSO - SÄÄNNÖT Tavat, käytös, toisen kunnioittava kohtaaminen, huomaavaisuus, kohteliaisuus. 1. JAKSO - SÄÄNNÖT Tavat, käytös, toisen kunnioittava kohtaaminen, huomaavaisuus, kohteliaisuus. 1. Ympäristö a. Tässä jaksossa ympäristö rakennetaan pedagogiikkaa tukevien periaatteiden mukaisesti ja

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Yleisiä kommentteja kokeesta.

Yleisiä kommentteja kokeesta. Lukuvuoden fysiikan valtakunnallisen kokeen palaute.6. Palautteita yhteensä 454 oppilaan tuloksesta. Pistekeskiarvo 7,6 joka vastaa arvosanaa 6,5. Oppilaita per pistemäärä 5 5 5 5 4 6 8 4 6 8 4 6 8 4 6

Lisätiedot

8/20: Luokat, oliot ja APIt

8/20: Luokat, oliot ja APIt Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti

Lisätiedot

T 76.5158 SEPA päiväkirja

T 76.5158 SEPA päiväkirja T 76.5158 SEPA päiväkirja Pariohjelmointi Timo Hassinen, 60255H & Petri Palmila 60111S Versio Pvm Tekijä Kuvaus 1.0 2.12.2006 Hassinen Ensimmäinen versio 1.1 9.12.2006 Palmila Toinen versio 1.2 10.12.2006

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Kuka tekee arjen valinnat? Hyvää ikää kaikille seminaari Seinäjoki 18.9.2014 autismikuntoutusohjaaja Sanna Laitamaa

Kuka tekee arjen valinnat? Hyvää ikää kaikille seminaari Seinäjoki 18.9.2014 autismikuntoutusohjaaja Sanna Laitamaa Kuka tekee arjen valinnat? Hyvää ikää kaikille seminaari Seinäjoki 18.9.2014 autismikuntoutusohjaaja Sanna Laitamaa Erityistarpeita vai ihan vaan perusjuttuja? Usein puhutaan autismin kirjon ihmisten kohdalla,

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

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

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

Alkukartoitus Opiskeluvalmiudet

Alkukartoitus Opiskeluvalmiudet Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan

Lisätiedot

Kielellinen selviytyminen

Kielellinen selviytyminen BILBAO Kulttuurit kohtaavat Bilbaossa ollessani havaitsin täysin erilaisen päivärytmin. Päivät ovat todella pitkiä, sillä ihmiset viihtyvät myöhään ulkona viettäen aikaa perheen ja ystäviensä kanssa. Myös

Lisätiedot

Program PRE. Keywords. BIM decision making, co-operation, Process, zip-process. Participants. NCC, Optiplan. RYM Oy rym.fi

Program PRE. Keywords. BIM decision making, co-operation, Process, zip-process. Participants. NCC, Optiplan. RYM Oy rym.fi Program PRE Keywords BIM decision making, co-operation, Process, zip-process Participants NCC, Optiplan RYM Oy rym.fi Valmisteluista. tiiviiseen työn touhuun. Vetoketjuprosessi Vetoketjuprosessin tausta-ajatuksena

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Lefkoe Uskomus Prosessin askeleet

Lefkoe Uskomus Prosessin askeleet Lefkoe Uskomus Prosessin askeleet 1. Kysy Asiakkaalta: Tunnista elämästäsi jokin toistuva malli, jota et ole onnistunut muuttamaan tai jokin ei-haluttu käyttäytymismalli tai tunne, tai joku epämiellyttävä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

<e.g. must, essential, conditional>

<e.g. must, essential, conditional> Käyttötapaukset Kurssin malli käyttötapauksille: Tila < List of users and the other systems that interacts directly with a system>

Lisätiedot

RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti

RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti Saila Oldén 1. JOHDANTO Tässä raportissa kuvataan perjantaina 25.2.2011 Luuppi-projektin tiimoilta suoritettujen käytettävyystestien

Lisätiedot

ILOA JA LAATUA vaikeavammaisen ihmisen kohtaamiseen

ILOA JA LAATUA vaikeavammaisen ihmisen kohtaamiseen ILOA JA LAATUA vaikeavammaisen ihmisen kohtaamiseen Kuka määrää? Kehitysvammaliiton opintopäivät 5.11.2015 Katja Burakoff Asiantuntija, puheterapeutti Tietotekniikka- ja kommunikaatiokeskus Tikoteekki

Lisätiedot

Palaute kirjasta: www.talentumshop.fi. Copyright 2011 Talentum Media Oy ja tekijät. Kansi: Sanna-Reeta Meilahti Taitto: NotePad Ay, www.notepad.

Palaute kirjasta: www.talentumshop.fi. Copyright 2011 Talentum Media Oy ja tekijät. Kansi: Sanna-Reeta Meilahti Taitto: NotePad Ay, www.notepad. Talentum Helsinki 2011 Copyright 2011 Talentum Media Oy ja tekijät Kansi: Sanna-Reeta Meilahti Taitto: NotePad Ay, www.notepad.fi ISBN: 978-952-14-1723-8 ISBN: 978-952-14-1724-5 (sähkökirja) Kariston Kirjapaino

Lisätiedot

Ääniohjattu vilkkuvalo ledeillä toteutettuna

Ääniohjattu vilkkuvalo ledeillä toteutettuna Ääniohjattu vilkkuvalo eillä toteutettuna Idea ei valitettavasti ole lähtöisin omasta päästäni - niin mukavaa kuin olisikin ollut riistää kunnia itselleen - vaan on keksijäperhe Ponkalalta. Olen usein

Lisätiedot

Yhdistyspäivä

Yhdistyspäivä Yhdistyspäivä 7.4.2017 Esiintyminen Joissa ihmiset puhuvat toistensa kanssa ovat esiintymistilanteita (Pelias1992). Suppeammin vain teatteri-ilmaisu tai esteettisen tekstin esittäminen Tavallisimpia esiintymisiä

Lisätiedot

Arviointi oppilaiden näkökulmasta

Arviointi oppilaiden näkökulmasta Arviointi oppilaiden näkökulmasta Raija Niemi Oppilaat vastasivat jakson päätteeksi seitsemään kysymykseen koskien ravintotiedon opiskelua terveystietojaksolla. Luokista 8 A oli työskennellyt melkein koko

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Tiedelimsa. KOHDERYHMÄ: Työ voidaan tehdä kaikenikäisien kanssa. Teorian laajuus riippuu ryhmän tasosta/iästä.

Tiedelimsa. KOHDERYHMÄ: Työ voidaan tehdä kaikenikäisien kanssa. Teorian laajuus riippuu ryhmän tasosta/iästä. KOHDERYHMÄ: Työ voidaan tehdä kaikenikäisien kanssa. Teorian laajuus riippuu ryhmän tasosta/iästä. KESTO: 15min 1h riippuen työn laajuudesta ja ryhmän koosta. MOTIVAATIO: Arkipäivän kemian ilmiöiden tarkastelu

Lisätiedot

COTOOL dokumentaatio Riskiloki

COTOOL dokumentaatio Riskiloki Table of Contents 1 Johdanto.................................................................................. 1 1.1 Versiohistoria...........................................................................

Lisätiedot

Johdanto 1. Projektille esiteltävä versio. Kokemukset ja muutokset 3. Projektille esiteltävä versio. Iteraatio 2., suunnitelma

Johdanto 1. Projektille esiteltävä versio. Kokemukset ja muutokset 3. Projektille esiteltävä versio. Iteraatio 2., suunnitelma SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön

Lisätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T SEPA - päiväkirja: Design Patterns. ETL työkalu T-76.115 SEPA - päiväkirja: Design Patterns ETL työkalu Versio Päivämäärä Tekijä Kuvaus 1.0 25.10.2004 Jani Honkanen PP-vaiheen jälkeinen versio 1,1 26.11.2004 Mika Suvanto I1- vaiheen kokemuksia lisätty

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009

Tähtitieteen käytännön menetelmiä Kevät 2009 Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Harjoituksen ohjaaminen

Harjoituksen ohjaaminen Harjoituksen ohjaaminen 11.4.2016 1 Valmennustapahtuman johtaminen Valmentaja on valmennustapahtuman johtaja Valmentaja neuvoo, urheilija ottaa neuvot vastaan Johtamisen tarkoituksena suunnitella, ohjata

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

Lisätiedot

Työssäoppimassa Tanskassa

Työssäoppimassa Tanskassa Työssäoppimassa Tanskassa Taustatietoja kohteesta: Herning- kaupunki sijaitsee Tanskassa Keski- Jyllannissa. Herningissä asukkaita on noin. 45 890. Soglimt koostuu yhteensä 50 hoitopaikasta. Soglimtissa

Lisätiedot

Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA

Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA The difference is ABAX Yksityisautoilijoille ABAX AJOPÄIVÄKIRJA The difference is ABAX 2 The difference is ABAX ABAX SÄHKÖINEN AJOPÄIVÄKIRJA Tähän esitteeseen on koottu vastauksia kysymyksiin, jotka liittyvät

Lisätiedot

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä LUMATE-tiedekerhokerta, suunnitelma AIHE: OHJELMOINTI 1. Alkupohdinta: Mitä ohjelmointi on? Keskustellaan siitä, mitä ohjelmointi on (käskyjen antamista tietokoneelle). Miten käskyjen antaminen tietokoneelle

Lisätiedot

KASVATUSTIETEELLISET PERUSOPINNOT

KASVATUSTIETEELLISET PERUSOPINNOT KASVATUSTIETEELLISET PERUSOPINNOT Opiskelijan nimi Maija-Kerttu Sarvas Sähköpostiosoite maikku@iki.f Opiskelumuoto 1 vuosi Helsinki Tehtävä (merkitse myös suoritusvaihtoehto A tai B) KAS 3A osa II Tehtävän

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTIRAPORTTI LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001 Tekijä:

Lisätiedot

HYP on lyhenne sanoista Huomioivaa Yhdessäoloa Päivittäin HYP on asenne ja yhdessäolotapa:

HYP on lyhenne sanoista Huomioivaa Yhdessäoloa Päivittäin HYP on asenne ja yhdessäolotapa: Huomioivaa Yhdessäoloa Päivittäin ihmisille, jotka ovat vaarassa jäädä yksin HYP jakson käynnistyskokous Tutustu myös opasvihkoon Sheridan Forster: Huomioivan yhdessäolon malli HYP Mikä HYP on HYP on lyhenne

Lisätiedot

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain Jaollisuustestejä (matematiikan mestariluokka, 7.11.2009, ohjattujen harjoitusten lopputuloslappu) Huom! Nämä eivät tietenkään ole ainoita jaollisuussääntöjä; ovatpahan vain hyödyllisiä ja ainakin osittain

Lisätiedot

S-114.3812 Laskennallinen Neurotiede

S-114.3812 Laskennallinen Neurotiede S-114.381 Laskennallinen Neurotiede Projektityö 30.1.007 Heikki Hyyti 60451P Tehtävä 1: Virityskäyrästön laskeminen Luokitellaan neuroni ensin sen mukaan, miten se vastaa sinimuotoisiin syötteisiin. Syöte

Lisätiedot

T-76.5158 SEPA päiväkirja

T-76.5158 SEPA päiväkirja T-76.5158 SEPA päiväkirja Ryhmä 14 Automatisoitu yksikkötestaus Mikko Luukkonen, 60549T Lauri Helkkula, 62820H Matti Eerola, 60686A Versiohistoria Versio Pvm Tekijä(t) Kuvaus 0.3 25.11.2007 Luukkonen,

Lisätiedot

Kysely etäopetustuntien valvojille toukokuussa 2011 (vastauksia 13)

Kysely etäopetustuntien valvojille toukokuussa 2011 (vastauksia 13) Kysely etäopetustuntien valvojille toukokuussa 2011 (vastauksia 1) Olen saanut riittävästi perehdytystä etätuntien valvojana toimimiseen kyllä en en tiedä 8 % Mistä asiasta/asioista olisit kaivannut lisää

Lisätiedot

A11-02 Infrapunasuodinautomatiikka kameralle

A11-02 Infrapunasuodinautomatiikka kameralle A11-02 Infrapunasuodinautomatiikka kameralle Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Lassi Seppälä Johan Dahl Sisällysluettelo Sisällysluettelo 1. Projektityön tavoite

Lisätiedot

Testaajan eettiset periaatteet

Testaajan eettiset periaatteet Testaajan eettiset periaatteet Eettiset periaatteet ovat nousseet esille monien ammattiryhmien toiminnan yhteydessä. Tämä kalvosarja esittelee 2010-luvun testaajan työssä sovellettavia eettisiä periaatteita.

Lisätiedot

7 keinoa lisätä kirjasi myyntiä

7 keinoa lisätä kirjasi myyntiä 7 keinoa lisätä kirjasi myyntiä montako tietokirjaa pitää myydä, että olisit suomessa bestseller? Bestseller-listalle Suomessa tietokirjalla on päässyt vuonna 2014 jos on myynyt yli 13500 kappaletta tai

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

Miten kirjoittaa koulutusten kuvailevat sisällöt Opintopolkuun? Verkkopäätoimittaja Satu Meriluoto, OPH

Miten kirjoittaa koulutusten kuvailevat sisällöt Opintopolkuun? Verkkopäätoimittaja Satu Meriluoto, OPH Miten kirjoittaa koulutusten kuvailevat sisällöt Opintopolkuun? Verkkopäätoimittaja Satu Meriluoto, OPH Koulutuskuvauksen perustehtävä On hyvä aloittaa kuvauksen perustehtävän määrittelystä: - Opintoihin

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

TITANIC TEMPPU, vaan ei karille

TITANIC TEMPPU, vaan ei karille TITANIC TEMPPU, vaan ei karille Mikko Mäkelä Tuomo Rintamäki 17/10/10 Helsinki Metropolia University of Applied Sciences 1 Metropolia- ammattikorkeakoulusta Suomen suurin ammattikorkeakoulu, joka aloitti

Lisätiedot

KUINKA KIRJOITAT E-KIRJAN päivässä

KUINKA KIRJOITAT E-KIRJAN päivässä KUINKA KIRJOITAT E-KIRJAN päivässä Valmentaja-Akatemia opettaa sinulle kuinka valmentajana pystyt kasvattamaan bisnestäsi, auttamaan useampia ihmisiä ja ansaitsemaan enemmän. www.valmentaja- akatemia.fi

Lisätiedot

Palautuskansio moduuli, ja sen vuorovaikutukset tehtävien annossa!

Palautuskansio moduuli, ja sen vuorovaikutukset tehtävien annossa! Palautuskansio moduuli, ja sen vuorovaikutukset tehtävien annossa! - Elikkä tässä ohjeessa näet kuinka voit tehdä peda.net palveluun koti/etätehtäviä tai vaikka kokeitten tekoa, tapoja on rajattomasti.

Lisätiedot

5. OSITTAISINTEGROINTI

5. OSITTAISINTEGROINTI 5 OSITTAISINTEGROINTI Kahden funktion f ja g tulo derivoidaan kuten muistetaan seuraavasti: D (fg) f g + f Kun tämä yhtälö integroidaan puolittain, niin saadaan fg f ()g()d + f ()()d Yhtälö saattaa erota

Lisätiedot

Oulun seitsemäsluokkalaisten matematiikkakilpailu 18.1.2012 Tehtävät ja ratkaisut

Oulun seitsemäsluokkalaisten matematiikkakilpailu 18.1.2012 Tehtävät ja ratkaisut Oulun seitsemäsluokkalaisten matematiikkakilpailu 18.1.2012 Tehtävät ja ratkaisut (1) Kolmen peräkkäisen kokonaisluvun summa on 42. Luvuista keskimmäinen on a) 13 b) 14 c) 15 d) 16. Ratkaisu. Jos luvut

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka

Lisätiedot

Nero Juoksija hierontakaari Vaikuttavuustestaus

Nero Juoksija hierontakaari Vaikuttavuustestaus Nero Juoksija hierontakaari Vaikuttavuustestaus Vaikuttavuustestauksen sisältö Testaajaryhmä Tulokset Yhteenveto Tested-tunnus Vaikuttavuustestauksen sisältö Nero Juoksija hierontakaaren käytöstä saatava

Lisätiedot

苏 州 (Suzhou) 30.3.-27.5.2015

苏 州 (Suzhou) 30.3.-27.5.2015 苏 州 (Suzhou) 30.3.-27.5.2015 Hei kaikille lukijoille. Olen Tytti Teivonen, matkailualan opiskelija Luksiasta. Olin työssäoppimassa Suzhoussa Kiinassa hotellissa kaksi kuukautta. Hotelli, jossa olin, on

Lisätiedot

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Verkkopokerijärjestelmä Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Projektiryhmä Samuli Aalto-Setälä Jukka Kekälainen Jarno Kyykkä Mika Mielonen Mårten Smeds Otto Waltari Ohjaaja

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Ahos-apurahan turvin tehty tutustumis/koulutusmatka Skotlannin vammaissulkapallon maajoukkue leirille

Ahos-apurahan turvin tehty tutustumis/koulutusmatka Skotlannin vammaissulkapallon maajoukkue leirille 1 MATKARAPORTTI SKOTLANNIN SULKAPALLOKOULUTUKSESTA TIIVISTELMÄ Ahos-apurahan turvin tehty tutustumis/koulutusmatka Skotlannin vammaissulkapallon maajoukkue leirille Osallistujat: Tero Kallio, Kauko Oksanen,

Lisätiedot

14. Hyvä ohjelmointitapa 14.1

14. Hyvä ohjelmointitapa 14.1 14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen

Lisätiedot

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole keksiä kaikkia mahdollisia

Lisätiedot

Synco TM 700 säätimen peruskäyttöohjeet

Synco TM 700 säätimen peruskäyttöohjeet Synco TM 700 säätimen peruskäyttöohjeet Nämä ohjeet on tarkoitettu säätimen loppukäyttäjälle ja ne toimivat sellaisenaan säätimen mallista riippumatta. Säätimessä on kolme eri käyttäjätasoa, joista jokaisessa

Lisätiedot

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Melojan pieni solmuopas. Johdanto. Köysimateriaali. Solmun sitominen. Timo Kiravuo kiravuo@iki.fi

Melojan pieni solmuopas. Johdanto. Köysimateriaali. Solmun sitominen. Timo Kiravuo kiravuo@iki.fi Melojan pieni solmuopas Timo Kiravuo kiravuo@iki.fi Johdanto Meloa voi solmuja osaamatta, mutta osaamalla muutaman perussolmun hän pärjää paremmin. Teltan saa kireäksi, pyykkinaru ei romahda, unohtunut

Lisätiedot

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta? OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali

Lisätiedot

METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ

METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ 23 METEORIEN HAVAINNOINTI III VISUAALIHAVAINNOT 3.1 YLEISTÄ Tässä metodissa on kyse perinteisestä. luettelomaisesta listaustyylistä, jossa meteorit kirjataan ylös. Tietoina meteorista riittää, kuuluuko

Lisätiedot

13. Hyvä ohjelmointitapa (osa 1) 13.1

13. Hyvä ohjelmointitapa (osa 1) 13.1 13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Mahtispalautteen antaminen

Mahtispalautteen antaminen Opettajan vinkit Tekniset asiat 1. Luo luokkasi oman ope-tilisi kautta, täyttämällä luokan tiedot ja lisäämällä oppilaat yksitellen. Paina save and lock settings. Huomaathan, että sen ja tulosta QR-koodit.

Lisätiedot

YRITTÄJYYSPROJEKTI HYVÄNTEKEVÄISYYSILTA

YRITTÄJYYSPROJEKTI HYVÄNTEKEVÄISYYSILTA YRITTÄJYYSPROJEKTI HYVÄNTEKEVÄISYYSILTA HANKEIDEA Hyväntekeväisyysilta, joka järjestetään jonkin paikallisen järjestön (esim. Lions clubin) kanssa Illan tuotto lahjoitetaan hyväntekeväisyyteen Illan aikana

Lisätiedot

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit

Lisätiedot

Kielen hyvän osaamisen taso on 6. luokan päättyessä taitotasokuvauksen mukaan:

Kielen hyvän osaamisen taso on 6. luokan päättyessä taitotasokuvauksen mukaan: Luokat 3-6 A2-espanja AIHEKOKONAISUUDET luokilla 4-6 Ihmisenä kasvaminen korostuu omien asioitten hoitamisessa, ryhmässä toimimisessa ja opiskelutaitojen hankkimisessa. Kulttuuri-identiteetti ja kansainvälisyys

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

iloq Privus - Ohjelmointiopas

iloq Privus - Ohjelmointiopas iloq Privus - Ohjelmointiopas Hyvä Asiakkaamme, 1 Aloitusopas 4-5 1.1 Tässä oppaassa käytettävät symbolit 4 Kiitos, että olette valinneet tämän iloq tuotteen. Tutustu huolellisesti tähän ohjelmointioppaaseen

Lisätiedot

Heuristisen arvioinnin muistilista - lyhyt versio

Heuristisen arvioinnin muistilista - lyhyt versio Alla oleva kymmenkohtainen muistilista on sovellettu Jakob Nielsenin heuristisen arvioinnin muistilistasta (Nielsen, 1994), hyödyntäen Keith Instonen wwwpalveluiden arviointiin muokattua samaista listaa

Lisätiedot

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0. Ääriarvon laatu Jatkuvasti derivoituvan funktion f lokaali ääriarvokohta (x 0, y 0 ) on aina kriittinen piste (ts. f x (x, y) = f y (x, y) = 0, kun x = x 0 ja y = y 0 ), mutta kriittinen piste ei ole aina

Lisätiedot

Suomen rahan arvoiset postimerkit 150 vuotta läviste auttaa määrityksessä Cyril Schwenson

Suomen rahan arvoiset postimerkit 150 vuotta läviste auttaa määrityksessä Cyril Schwenson Suomen rahan arvoiset postimerkit 150 vuotta läviste auttaa määrityksessä Cyril Schwenson Tänä vuonna tulee kuluneeksi 150 vuotta niiden käyttöön otosta. Tunnusomaista näille merkeille on niiden täysin

Lisätiedot

Robottikerhon suunnitelma syksylle 2015

Robottikerhon suunnitelma syksylle 2015 Robottikerhon suunnitelma syksylle 2015 Tekijä Mika Laitila, 25.4.2015. Kerho on suunnattu yläkoululaisille. Ryhmän koko on 16 kerholaista + 2 ohjaajaa. Kerholla on käytössä 8 kappaletta LEGO Mindstorms

Lisätiedot

... 5 ... 5 ... 5 ... 6 ... 7 ... 8 ... 8 ... 9 ... 11 ... 12

... 5 ... 5 ... 5 ... 6 ... 7 ... 8 ... 8 ... 9 ... 11 ... 12 BILJARDI 2 3 SISÄLLYSLUETTELO 1. YLEISTÄ... 5 1.1 KOLMIO/ 9-KEHIKKO... 5 2. PELIN ALOITUS... 5 3. LYÖNTIVUORON VAIHTO... 5 4. VIRHELYÖNNIT... 6 4.1 ERILAISET VIRHEET... 6 4.2 RANGAISTUS VIRHEESTÄ... 7

Lisätiedot

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio Testiraportti 26.2.2006 1/5 - Noheva II Testiraportti Versio Päiväys Tekijä Kuvaus 1.0 26.2.2006 Tikkanen varsinainen versio 1 Yleistä Toteutusvaiheen 2 virallinen testaus on muodostunut automaattisista

Lisätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T SEPA - päiväkirja: Design Patterns. ETL työkalu T-76.115 SEPA - päiväkirja: Design Patterns ETL työkalu Versio Päivämäärä Tekijä Kuvaus 1.0 25.10.2004 Jani Honkanen PP-vaiheen jälkeinen versio 1,1 26.11.2004 Mika Suvanto I1- vaiheen kokemuksia lisätty

Lisätiedot

PERHEINTERVENTIO PÄIHDETYÖSSÄ. Toimiva lapsi & perhe menetelmät ammattilaisen arjen apuna 26.2.2008 Anne Ollonen

PERHEINTERVENTIO PÄIHDETYÖSSÄ. Toimiva lapsi & perhe menetelmät ammattilaisen arjen apuna 26.2.2008 Anne Ollonen PERHEINTERVENTIO PÄIHDETYÖSSÄ Toimiva lapsi & perhe menetelmät ammattilaisen arjen apuna 26.2.2008 Anne Ollonen - Toimiva lapsi&perhe menetelmäkoulutus syksy 06 kevät 07 Beardsleen perheinterventio, lapset

Lisätiedot