{"id":517,"date":"2018-11-08T21:13:38","date_gmt":"2018-11-08T19:13:38","guid":{"rendered":"https:\/\/coursepages.uta.fi\/tiep5\/?page_id=517"},"modified":"2018-12-13T23:42:02","modified_gmt":"2018-12-13T21:42:02","slug":"palautusohjeet","status":"publish","type":"page","link":"https:\/\/coursepages2.tuni.fi\/tiep5\/syksy-2018\/harjoitustyot\/palautusohjeet\/","title":{"rendered":"Palautusohjeet"},"content":{"rendered":"<p>Kurssin molemmat harjoitusty\u00f6t ja niiden dokumentaatio palautetaan <a href=\"https:\/\/wetodev.sis.uta.fi\/weto5\/\" target=\"_blank\" rel=\"noopener\">WETO<\/a>-j\u00e4rjestelm\u00e4\u00e4n, joka tarkistaa ty\u00f6t <a href=\"#auto\">automaattisesti<\/a>.<\/p>\n<p>Automaattinen tarkistus perustuu malliohjelman ja opiskelijan kirjoittaman ohjelman tulosteiden vertailuun. Seuraa teht\u00e4v\u00e4nannon tulostem\u00e4\u00e4rittelyj\u00e4 huolellisesti, sill\u00e4 yhdenkin merkin ero tulosteissa aiheuttaa ratkaisun hylk\u00e4\u00e4misen.<\/p>\n<p>Harjoitusty\u00f6n tarkistuksessa k\u00e4ytett\u00e4v\u00e4t testit on jaettu <strong>julkisiin<\/strong> ja <strong>salaisiin<\/strong> testeihin. Julkiset testit tarkistavat ohjelman yleisen toimivuuden. Julkisina testein\u00e4 k\u00e4ytet\u00e4\u00e4n kurssin verkkosivuilla julkaistuja esimerkkiajoja. Ty\u00f6 arvostellaan salaisilla testeill\u00e4, joiden tuloksia ei ole julkaistu verkossa. Huomaa, ett\u00e4 julkisten testien l\u00e4p\u00e4isy ei takaa, ett\u00e4 salaiset testit menev\u00e4t l\u00e4pi, vaikka julkiset testit l\u00e4p\u00e4isev\u00e4 ohjelma toimii todenn\u00e4k\u00f6isesti hyvin my\u00f6s salaisissa testeiss\u00e4.<\/p>\n<p>Harjoitusty\u00f6t\u00e4 on syyt\u00e4 testata ensin omalla koneella, koska WETOn virheilmoitukset ovat hankalia tulkita, kun ohjelmasi toimii huomattavasti eri tavoin kuin malliohjelma. Harjoitusty\u00f6ohjelman tulosteita on syyt\u00e4 tarkastella aluksi silm\u00e4m\u00e4\u00e4r\u00e4isesti. Silm\u00e4ile ohjelmaasi kaikkien esimerkkiajojen osalta, koska kussakin esimerkiss\u00e4 ohjelmaa k\u00e4ytet\u00e4\u00e4n hieman eri tavoin kuin muissa esimerkeiss\u00e4. Muista, ett\u00e4 voit aina <a href=\"#oma\">testata ratkaisuasi ohjelmallisesti ilman WETOa<\/a>.<\/p>\n<h2>Ratkaisujen palautus<\/h2>\n<p>L\u00e4hdekoodi ja dokumentti palautetaan WETOssa eri kohtiin. Liit\u00e4 kumpaakin palautukseen aina vain <strong>yksi<\/strong> tiedosto. <em>In<\/em>-luokka on WETOssa valmiina.<\/p>\n<p><strong>Ensimm\u00e4inen harjoitusty\u00f6<\/strong><\/p>\n<p>L\u00e4hdekoodikoodi palautetaan <em>SubstringFinder<\/em>.<em>java<\/em>-nimisess\u00e4 tiedostossa kurssin WETO-sivujen <em>Harjoitusty\u00f6t<\/em> | <em>Harjoitusty\u00f6 1<\/em> | <em>Ohjelma<\/em> -kohdan kautta.<\/p>\n<p>Varmista, ett\u00e4 olet noudattanut <a href=\"http:\/\/www.sis.uta.fi\/~laki1\/luennot\/luento08\/\">hyv\u00e4\u00e4 ohjelmointitapaa<\/a>. Aivan perusasioiden lis\u00e4ksi ohjelman tulee olla kunnossa my\u00f6s siten, ett\u00e4 olet esitellyt ja k\u00e4ytt\u00e4nyt vakioita <a href=\"https:\/\/coursepages2.tuni.fi\/tiep5\/syksy-2018\/harjoitustyot\/harjoitustyo1\/\">vaaditulla tavalla<\/a>.<\/p>\n<p>Dokumentin tulee olla pdf-muotoisessa tiedostossa, joka nimet\u00e4\u00e4n tekij\u00e4ns\u00e4 nimen avulla. Jos harjoitusty\u00f6n on tehnyt vaikkapa Onni Opiskelija, niin harjoitusty\u00f6n dokumenttitiedoston tulee olla nimelt\u00e4\u00e4n <em>laki2_2018<\/em><em>_ht1_Onni_Opiskelija.pdf<\/em>. Dokumentti palautetaan kurssin WETO-sivujen <em>Harjoitusty\u00f6t <\/em>| <em>Harjoitusty\u00f6 1<\/em> | <em>Dokumentti<\/em> -kohdan kautta.<\/p>\n<p><strong><a name=\"ht2\"><\/a>Toinen harjoitusty\u00f6<\/strong><\/p>\n<p>L\u00e4hdekoodikoodi palautetaan <em>LakiHT2<\/em>.<em>java<\/em>-nimisess\u00e4 tiedostossa kurssin WETO-sivujen <em>Harjoitusty\u00f6t<\/em> | <em>Harjoitusty\u00f6 2<\/em> | <em>Ohjelma<\/em> -kohdan kautta.<\/p>\n<p>Varmista, ett\u00e4 olet noudattanut hyv\u00e4n ohjelmointitavan perusperiaatteita ja <a href=\"http:\/\/www.sis.uta.fi\/~laki2\/syksy-2018\/luennot\/luento06\/\" target=\"_blank\" rel=\"noopener\">operaatioiden ohjelmointiin liittyvi\u00e4 hyvi\u00e4 tapoja<\/a>. Operaatioissa tulee olla parametrien tarkistuksia erityisesti <strong>null<\/strong>-arvojen varalta ja harjoitusty\u00f6ss\u00e4 ei saa olla &#8221;tavallisia&#8221; (ei-vakioituja) attribuutteja.<strong><br \/>\n<\/strong><\/p>\n<p><strong>WETO testaa ohjelmaa<\/strong> <strong>laajemmin<\/strong> kuin ensimm\u00e4isess\u00e4 harjoitusty\u00f6ss\u00e4. Tulosteiden vertailun lis\u00e4ksi WETO kutsuu taulukoita parametreinaan saavia operaatioita <strong>null<\/strong>-arvoilla ja tutkii ohjelman rakenteen normaalien attribuuttien varalta.<\/p>\n<p>Dokumentin tulee olla pdf-muotoisessa tiedostossa, joka nimet\u00e4\u00e4n tekij\u00e4ns\u00e4 nimen avulla. Jos harjoitusty\u00f6n on tehnyt vaikkapa Onni Opiskelija, niin harjoitusty\u00f6n dokumenttitiedoston tulee olla nimelt\u00e4\u00e4n <em>laki2_2018<\/em><em>_ht2_Onni_Opiskelija.pdf<\/em>. Dokumentti palautetaan kurssin WETO-sivujen <em>Harjoitusty\u00f6t <\/em>| <em>Harjoitusty\u00f6 2<\/em> | <em>Dokumentti<\/em> -kohdan kautta.<\/p>\n<h2><a name=\"oma\"><\/a>Ohjelman omatoiminen tarkistus<\/h2>\n<p>Voit vertailla malliohjelman ja oman ohjelmasi tulosteita ohjelmallisesti t\u00e4ysin ilman WETOa. Tulosten tarkempi vertailu k\u00e4y nopeasti kotikonstein <a href=\"http:\/\/www.sis.uta.fi\/~laki1\/luennot\/luento12\/\"> uudelleenohjausmerkkien<\/a> (&#8217;&lt;&#8217; ja &#8217;&gt;&#8217;) ja tiedostojen vertailuun soveltuvien komentojen avulla. Windows-j\u00e4rjestelmiss\u00e4 tiedostoja voi vertailla <em>comp<\/em>&#8211; ja <em>fc<\/em>-komennoilla. Mac-, UNIX- ja Linux-j\u00e4rjestelmiss\u00e4 on tarjolla huomattavasti taipuisampi <em>diff<\/em>-komento. Omatoimista testausta on avattu pienen <a href=\"https:\/\/coursepages2.tuni.fi\/tiep5\/syksy-2017\/harjoitustyot\/pieni-testausesimerkki\/\">esimerkin<\/a> avulla.<\/p>\n<h2><a name=\"auto\"><\/a>Ohjelman automaattinen tarkistus<\/h2>\n<p>WETO tarkistaa harjoitusty\u00f6n pitk\u00e4lti <a href=\"https:\/\/coursepages2.tuni.fi\/tiep5\/syksy-2018\/harjoitukset\/ratkaisujen-tarkistus\/automaattinen\/\">samoin kuin harjoitusteht\u00e4v\u00e4t<\/a>. Suurin ero harjoitusten tarkistukseen verrattuna on se, ett\u00e4 testaukseen liittyy my\u00f6s salaisia testej\u00e4, joiden sy\u00f6tteit\u00e4 ja tulosteita ei n\u00e4ytet\u00e4 ennen kuin opettajat aloittavat harjoitust\u00f6iden tarkistuksen. Pienemm\u00e4t erot liittyv\u00e4t esitarkistajan toimintaan.<\/p>\n<p>Ohjelma hyl\u00e4t\u00e4\u00e4n, jos siin\u00e4 on yksikin tabulaattorimerkki, koska sisennyksen tulee tapahtua v\u00e4lily\u00f6nnein. WETO listaa osan tabulaattoreita sis\u00e4lt\u00e4vist\u00e4 riveist\u00e4. Tabulaattoreiden korvaaminen onnistuu helposti paremmilla editoreilla. Esimerkiksi <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1\/syksy-2018\/ohjelmointivalineita\/tekstieditoreja\/\">Notepad++-editori<\/a> osaa n\u00e4ytt\u00e4\u00e4 v\u00e4lily\u00f6ntien ja rivinvaihtojen tapaiset tyhjemerkit sek\u00e4 muuttaa tabulaattorit v\u00e4lily\u00f6nneiksi.<\/p>\n<p>Testi ei onnistu, jos ohjelma tulostaa eri tavoin kuin vastuuopettajan koodaama malliratkaisu. Jos WETO (tai vertailukomento) valittaa j\u00e4\u00e4r\u00e4p\u00e4isesti tulosteiden erosta, mutta mielest\u00e4si tulosteet ovat samat, niin kyseess\u00e4 voi olla tilanne, jossa tulosteet poikkevat tyhjemerkkien osalta. Ihmissilm\u00e4lle n\u00e4kym\u00e4tt\u00f6m\u00e4n ongelman aiheuttaa usein rivin loppuun vahingossa tulostunut v\u00e4lily\u00f6nti. Ole muutenkin tarkkana rivin loppujen kanssa: kaikkien rivien tulee p\u00e4\u00e4tty\u00e4 rivinvaihtoon.<\/p>\n<p>Testi hyl\u00e4t\u00e4\u00e4n luonnollisesti my\u00f6s, kun ohjelma kaatuu tai joutuu ikuiseen silmukkaan.<\/p>\n<p>Tulosteissa olevat erot n\u00e4ytet\u00e4\u00e4n joko osin tai kokonaan <em>Test scores<\/em> -taulukon <em>Feedback<\/em>-sarakkeessa. <em>Further info<\/em> -sarakkeessa olevan <em>Full feedback<\/em> -linkin kautta on saatavilla korkeintaan kolme WETOn lyhent\u00e4m\u00e4\u00e4 testaustulostetta pidemm\u00e4ss\u00e4 muodossa<em>. <\/em>Tulosteissa on aina korkeintaan tietty m\u00e4\u00e4r\u00e4n merkkej\u00e4. N\u00e4in tulosteen viimeinen rivi saattaa katketa kesken.<em><br \/>\n<\/em><\/p>\n<h2>Arvostelu ja tulokset<\/h2>\n<p>Kurssin tuntiopettajat tarkistavat ty\u00f6t. Ty\u00f6t jaetaan tarkistajille kurssin harjoitusty\u00f6n palautusp\u00e4iv\u00e4n harjoitusryhm\u00e4jaon mukaisesti. Laita s\u00e4hk\u00f6postia kurssin vastuuopettajalle, jos olet vaihtanut harjoitusryhm\u00e4\u00e4 pysyv\u00e4sti kurssille ilmoittautumisen j\u00e4lkeen, mutta olet unohtanut ilmoittaa t\u00e4st\u00e4.<\/p>\n<p><strong>Ohjelman pit\u00e4\u00e4 selvit\u00e4 julkisista testeist\u00e4, jotta ty\u00f6n arvostelu voidaan aloittaa<\/strong>. Mik\u00e4li yksi tai useampi julkinen testi menee v\u00e4\u00e4rin, harjoitusty\u00f6 <strong>hyl\u00e4t\u00e4\u00e4n heti<\/strong> ja ty\u00f6 on palautettava harjoitusty\u00f6n tarkastajan antaman aikarajan puitteissa WETOon korjattuna.<\/p>\n<p>Ty\u00f6st\u00e4 tarkistetaan toiminnan lis\u00e4ksi tyyli eli ty\u00f6t\u00e4 arvioidaan my\u00f6s rakenteen osalta ja sen perusteella kuinka kuinka hyvin hyv\u00e4\u00e4 ohjelmointitapaa on noudatettu. Koodin lis\u00e4ksi tarkistetaan dokumentti. Harjoitusty\u00f6 voidaan siis hyl\u00e4t\u00e4 sekavan koodin tai huonon dokumentin vuoksi.<\/p>\n<p>Harjoitusty\u00f6n tarkistaja l\u00e4hett\u00e4\u00e4 kullekin harjoitusty\u00f6n palauttaneelle oppilaalle s\u00e4hk\u00f6postilla tiedon ty\u00f6n kohtalosta.<\/p>\n<p>Arvostelusta on kerrottu tarkemmin harjoitusty\u00f6n teht\u00e4v\u00e4nannossa.<\/p>\n<p>Tulokset ovat tarkistettavissa vasta sitten, kun niiden ilmoitetaan olevan valmiit kurssin verkkosivujen <em>Ajankohtaista<\/em>-kohdassa.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kurssin molemmat harjoitusty\u00f6t ja niiden dokumentaatio palautetaan WETO-j\u00e4rjestelm\u00e4\u00e4n, joka tarkistaa ty\u00f6t automaattisesti. Automaattinen tarkistus perustuu malliohjelman ja opiskelijan kirjoittaman ohjelman tulosteiden vertailuun. Seuraa teht\u00e4v\u00e4nannon tulostem\u00e4\u00e4rittelyj\u00e4 huolellisesti, sill\u00e4 yhdenkin merkin ero tulosteissa aiheuttaa ratkaisun hylk\u00e4\u00e4misen. Harjoitusty\u00f6n tarkistuksessa k\u00e4ytett\u00e4v\u00e4t testit on jaettu julkisiin ja salaisiin testeihin. Julkiset testit tarkistavat ohjelman yleisen toimivuuden. Julkisina testein\u00e4 k\u00e4ytet\u00e4\u00e4n kurssin verkkosivuilla &hellip; <a href=\"https:\/\/coursepages2.tuni.fi\/tiep5\/syksy-2018\/harjoitustyot\/palautusohjeet\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Palautusohjeet<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"parent":396,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-517","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/pages\/517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/comments?post=517"}],"version-history":[{"count":13,"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/pages\/517\/revisions"}],"predecessor-version":[{"id":665,"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/pages\/517\/revisions\/665"}],"up":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/pages\/396"}],"wp:attachment":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep5\/wp-json\/wp\/v2\/media?parent=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}