Palautusohjeet

Julkaistu

Kurssin molemmat harjoitustyöt ja niiden dokumentaatio palautetaan WETO-järjestelmään, joka tarkistaa työt automaattisesti.

Automaattinen tarkistus perustuu malliohjelman ja opiskelijan kirjoittaman ohjelman tulosteiden vertailuun. Seuraa tehtävänannon tulostemäärittelyjä huolellisesti, sillä yhdenkin merkin ero tulosteissa aiheuttaa ratkaisun hylkäämisen.

Harjoitustyön tarkistuksessa käytettävät testit on jaettu julkisiin ja salaisiin testeihin. Julkiset testit tarkistavat ohjelman yleisen toimivuuden. Julkisina testeinä käytetään kurssin verkkosivuilla julkaistuja esimerkkiajoja. Työ arvostellaan salaisilla testeillä, joiden tuloksia ei ole julkaistu verkossa. Huomaa, että julkisten testien läpäisy ei takaa, että salaiset testit menevät läpi, vaikka julkiset testit läpäisevä ohjelma toimii todennäköisesti hyvin myös salaisissa testeissä.

Harjoitustyötä on syytä testata ensin omalla koneella, koska WETOn virheilmoitukset ovat hankalia tulkita, kun ohjelmasi toimii huomattavasti eri tavoin kuin malliohjelma. Harjoitustyöohjelman tulosteita on syytä tarkastella aluksi silmämääräisesti. Silmäile ohjelmaasi kaikkien esimerkkiajojen osalta, koska kussakin esimerkissä ohjelmaa käytetään hieman eri tavoin kuin muissa esimerkeissä. Muista, että voit aina testata ratkaisuasi ohjelmallisesti ilman WETOa.

Ratkaisujen palautus

Lähdekoodi ja dokumentti palautetaan WETOssa eri kohtiin. Liitä kumpaakin palautukseen aina vain yksi tiedosto. In-luokka on WETOssa valmiina.

Ensimmäinen harjoitustyö

Lähdekoodikoodi palautetaan SubstringFinder.java-nimisessä tiedostossa kurssin WETO-sivujen Harjoitustyöt | Harjoitustyö 1 | Ohjelma -kohdan kautta.

Varmista, että olet noudattanut hyvää ohjelmointitapaa. Aivan perusasioiden lisäksi ohjelman tulee olla kunnossa myös siten, että olet esitellyt ja käyttänyt vakioita vaaditulla tavalla.

Dokumentin tulee olla pdf-muotoisessa tiedostossa, joka nimetään tekijänsä nimen avulla. Jos harjoitustyön on tehnyt vaikkapa Onni Opiskelija, niin harjoitustyön dokumenttitiedoston tulee olla nimeltään laki2_2018_ht1_Onni_Opiskelija.pdf. Dokumentti palautetaan kurssin WETO-sivujen Harjoitustyöt | Harjoitustyö 1 | Dokumentti -kohdan kautta.

Toinen harjoitustyö

Lähdekoodikoodi palautetaan LakiHT2.java-nimisessä tiedostossa kurssin WETO-sivujen Harjoitustyöt | Harjoitustyö 2 | Ohjelma -kohdan kautta.

Varmista, että olet noudattanut hyvän ohjelmointitavan perusperiaatteita ja operaatioiden ohjelmointiin liittyviä hyviä tapoja. Operaatioissa tulee olla parametrien tarkistuksia erityisesti null-arvojen varalta ja harjoitustyössä ei saa olla ”tavallisia” (ei-vakioituja) attribuutteja.

WETO testaa ohjelmaa laajemmin kuin ensimmäisessä harjoitustyössä. Tulosteiden vertailun lisäksi WETO kutsuu taulukoita parametreinaan saavia operaatioita null-arvoilla ja tutkii ohjelman rakenteen normaalien attribuuttien varalta.

Dokumentin tulee olla pdf-muotoisessa tiedostossa, joka nimetään tekijänsä nimen avulla. Jos harjoitustyön on tehnyt vaikkapa Onni Opiskelija, niin harjoitustyön dokumenttitiedoston tulee olla nimeltään laki2_2018_ht2_Onni_Opiskelija.pdf. Dokumentti palautetaan kurssin WETO-sivujen Harjoitustyöt | Harjoitustyö 2 | Dokumentti -kohdan kautta.

Ohjelman omatoiminen tarkistus

Voit vertailla malliohjelman ja oman ohjelmasi tulosteita ohjelmallisesti täysin ilman WETOa. Tulosten tarkempi vertailu käy nopeasti kotikonstein uudelleenohjausmerkkien (’<’ ja ’>’) ja tiedostojen vertailuun soveltuvien komentojen avulla. Windows-järjestelmissä tiedostoja voi vertailla comp– ja fc-komennoilla. Mac-, UNIX- ja Linux-järjestelmissä on tarjolla huomattavasti taipuisampi diff-komento. Omatoimista testausta on avattu pienen esimerkin avulla.

Ohjelman automaattinen tarkistus

WETO tarkistaa harjoitustyön pitkälti samoin kuin harjoitustehtävät. Suurin ero harjoitusten tarkistukseen verrattuna on se, että testaukseen liittyy myös salaisia testejä, joiden syötteitä ja tulosteita ei näytetä ennen kuin opettajat aloittavat harjoitustöiden tarkistuksen. Pienemmät erot liittyvät esitarkistajan toimintaan.

Ohjelma hylätään, jos siinä on yksikin tabulaattorimerkki, koska sisennyksen tulee tapahtua välilyönnein. WETO listaa osan tabulaattoreita sisältävistä riveistä. Tabulaattoreiden korvaaminen onnistuu helposti paremmilla editoreilla. Esimerkiksi Notepad++-editori osaa näyttää välilyöntien ja rivinvaihtojen tapaiset tyhjemerkit sekä muuttaa tabulaattorit välilyönneiksi.

Testi ei onnistu, jos ohjelma tulostaa eri tavoin kuin vastuuopettajan koodaama malliratkaisu. Jos WETO (tai vertailukomento) valittaa jääräpäisesti tulosteiden erosta, mutta mielestäsi tulosteet ovat samat, niin kyseessä voi olla tilanne, jossa tulosteet poikkevat tyhjemerkkien osalta. Ihmissilmälle näkymättömän ongelman aiheuttaa usein rivin loppuun vahingossa tulostunut välilyönti. Ole muutenkin tarkkana rivin loppujen kanssa: kaikkien rivien tulee päättyä rivinvaihtoon.

Testi hylätään luonnollisesti myös, kun ohjelma kaatuu tai joutuu ikuiseen silmukkaan.

Tulosteissa olevat erot näytetään joko osin tai kokonaan Test scores -taulukon Feedback-sarakkeessa. Further info -sarakkeessa olevan Full feedback -linkin kautta on saatavilla korkeintaan kolme WETOn lyhentämää testaustulostetta pidemmässä muodossa. Tulosteissa on aina korkeintaan tietty määrän merkkejä. Näin tulosteen viimeinen rivi saattaa katketa kesken.

Arvostelu ja tulokset

Kurssin tuntiopettajat tarkistavat työt. Työt jaetaan tarkistajille kurssin harjoitustyön palautuspäivän harjoitusryhmäjaon mukaisesti. Laita sähköpostia kurssin vastuuopettajalle, jos olet vaihtanut harjoitusryhmää pysyvästi kurssille ilmoittautumisen jälkeen, mutta olet unohtanut ilmoittaa tästä.

Ohjelman pitää selvitä julkisista testeistä, jotta työn arvostelu voidaan aloittaa. Mikäli yksi tai useampi julkinen testi menee väärin, harjoitustyö hylätään heti ja työ on palautettava harjoitustyön tarkastajan antaman aikarajan puitteissa WETOon korjattuna.

Työstä tarkistetaan toiminnan lisäksi tyyli eli työtä arvioidaan myös rakenteen osalta ja sen perusteella kuinka kuinka hyvin hyvää ohjelmointitapaa on noudatettu. Koodin lisäksi tarkistetaan dokumentti. Harjoitustyö voidaan siis hylätä sekavan koodin tai huonon dokumentin vuoksi.

Harjoitustyön tarkistaja lähettää kullekin harjoitustyön palauttaneelle oppilaalle sähköpostilla tiedon työn kohtalosta.

Arvostelusta on kerrottu tarkemmin harjoitustyön tehtävänannossa.

Tulokset ovat tarkistettavissa vasta sitten, kun niiden ilmoitetaan olevan valmiit kurssin verkkosivujen Ajankohtaista-kohdassa.