T-106.1210 Ohjelmoinnin peruskurssi, osa 1

Goblin: tehtävien palautus- ja arvostelujärjestelmä

Kurssin harjoitustehtävät palautetaan arvosteltaviksi WWW:ssä toimivalla Goblin-nimisellä järjestelmällä, joka myös arvostelee välittömästi useimmat tehtävät.

Kirjautuminen

Goblin on omana sivustonaan WWW-osoitteessa: https://greengoblin.cs.hut.fi/. Pääset Gobliniin weblogin-tunnuksellasi.

Kun kirjaudut ensimmäistä kertaa Gobliniin, täytäthän Goblinin esittämän kyselyn aikaisemmasta ohjelmointikokemuksestasi. Näitä tietoja käytetään kurssin ja ohjelmoinnin perusopetuksen kehittämiseen. Vastauksesi eivät vaikuta oman kurssisuorituksesi arvosteluun.

Tehtävän palauttaminen

Jos teet tehtäviä parityönä, perusta ennen tehtävän palauttamista kaksihenkinen ryhmä. Valitse Goblinin valikosta: Ryhmät -> Luo Uusi Ryhmä. Jos myöhemmin vaihdat työparia, voitte perustaa uuden ryhmän. Ryhmän perustaminen ei sido sinua palauttamaan kaikkia loppuja tehtäviä saman parin kanssa (tai ylipäänsä kenenkään parin kanssa).

Kurssilla on erilaisia tehtäviä -- ks. tehtävänantosivu.

  1. "Täyttäkää tehtävälomake Goblinissa"-tehtävät (esim. tehtävä 9.2) ja "Tutustukaa Vislaamo-esimerkkeihin Goblinissa"-tehtävät (esim. 2.1) löytyvät Goblinista ja palautetaan Gobliniin sieltä löytyviä ohjeita seuraten.

  2. "Noudattakaa projektiin liittyvää tehtävänantoa"-tehtävissä (esim. tehtävä 4.3) muokataan tai luodaan ohjelmakoodia, joka liittyy johonkin kurssimateriaaliin kuuluvista esimerkkiprojekteista. Muokatut ja/tai uudet tiedostot palautetaan sitten Gobliniin. Tämä onnistuu Goblinin valikosta kunkin tehtävän kohdalta löytyvän Palauta-toiminnon avulla. Kun valitset tämän toiminnon, Goblin-ilmoittaa mikä tai mitkä tiedostot sinun pitää kyseisessä tehtävässä palauttaa. Valitse työpari, jonka nimissä palautat tehtävän (tai "yksin"). Tehtävän ratkaisuksi laadittu vastaustiedosto (tai -tiedostot) on seuraavaksi poimittava Web-selaimen avustuksella lähetettäväksi Gobliniin. Paina Goblinissa Browse-nappulaa ja poimi tiedostot sieltä, mihin ne olet tehtäviä tehdessäsi sijoittanutkin. Jos olet tehnyt tehtävät Eclipsen avulla, niin tiedostot löytyvät kurssikansiostasi (jonka loit kurssin alussa tehtäviä varten, mikäli toimit Eclipse-ohjeen mukaan), kyseisen projektin mukaan nimetystä alikansiosta.

    Yleensä tehtävissä palautetaan yksi tai useampia Python-kooditiedostoja, mutta muutamassa tehtävissä täytyy palauttaa jotain muuta, esimerkiksi kokonainen Eclipse-projekti ZIP-paketiksi pakattuna. Tällaisesta mainitaan aina erikseen tehtävänannossa. (Ks. Eclipse-oppaasta, miten projektin saa pakattua tarvittaessa ZIP-tiedostoksi.)

Tehtävissä on palautusyritysrajoituksia. Ohjelmointitehtävän voi palauttaa korkeintaan 10 kertaa ja "lomakkeentäyttötehtävän" korkeintaan kolme. Vislaamo-opetustyökaluun perustuvat tehtävät voi palauttaa kuinka monta kertaa vaan haluaa rajoituksetta.

Paras palautus jää voimaan. Muistakaa, että voitte ajaa ohjelmaanne niin monta kertaa kuin haluatte ennen sen arvosteltavaksi lähettämistä. Testatkaa itse omatoimisesti, että laatimanne ohjelma toimii, ennen kuin lähetätte sen Gobliniin!

Ohjelmointitehtävän palautuksen yhteydessä Goblin kysyy paljonko aikaa meni tehtävän tekemiseen. Vastaattehan tehtävään kokonaisuudessaan käytetyn aktiivisen työajan (pähkäily, suunnittelu, toteutus, testailu, palautus, korjaus, ...). Näitäkin tietoja käytetään kurssin kehittämiseen eivätkä ne vaikuta arvosteluun.

Tehtävien arvostelusta

Goblin arvostelee useimmat ohjelmointitehtävät automaattisesti, käyttäen rinnan palautettua ohjelmaa ja malliratkaisua ja verraten tulosteita. Se antaa tällöin raportin siitä, miten palautettu ohjelma suoriutui testeista ja paljonko pisteitä siitä sai. Osassa tehtävistä automaattista tarkastusta ei (voi) tehdä, vaan kurssiassistentit arvostelevat palautuksen kierroksen sulkeutumisen jälkeen. Tästä mainitaan erikseen tehtävänannossa.

Huomaa: Goblinin automaattinen tarkastus on varsin pinnallinen ja perustuu ohjelmatulosteiden vertailuun. Tarkistuksen luonteesta johtuen on ensisijaisen tärkeää, että ohjelmasi noudattavat tehtävänantoja hyvin tarkasti. Pienikin virhe voi aiheuttaa sen, että Goblin tulkitsee ohjelman toiminnan vääräksi, ja vähentää siitä antamiaan pisteitä kenties hyvinkin rajusti. Tässä, kuten tietokoneiden ja ohjelmoinnin kanssa yleensäkin, johdonmukainen huolellisuus säästää monelta harmin hetkeltä.

Goblinin palautteen tulkitsemisesta

Yhteen tehtävään liittyy tyypillisesti muutama testi, joissa satunnainen syöte muodostetaan eri tavoin (esimerkiksi kokonaislukuja eri vaihteluväleiltä).

Goblin voi antaa palautetta kymmeniä rivejä. Jos virheitä on vähän, niin varsinaisten virheilmoituksien löytäminen voi olla hieman hankalaa laajan testausraportin seasta. Virheistä tulee punaisella kirjoitettu ilmoitus, jossa on testin kohdan nimi tai kohdan tarkoitus, kohdan pistemäärä ja sana "failed". Esimerkiksi virheilmoitus "Line OK? 2 points failed" tarkoittaa, että kyseisessä kohdassa verrattiin kokonaisia rivejä ja kohdan arvo on 2 pistettä. Opiskelijan palautus sai kyseisestä kohdasta nolla pistettä, vaikka sitä ei selkeästi ilmoiteta tyyliin "0/2 points".

Virheilmoituksen yläpuolella näkyy opiskelijan ohjelman ja malliratkaisun tulosteet kyseisestä kohdasta. Merkkijonoa "failed" voi etsiä myös WWW-selaajan hakutoiminnon avulla, esimerkiksi Mozillassa valikon komento Edit -> Find in this page.

Erikoistapauksia:

(Jos et ymmärrä näitä vielä kurssin alussa, ei se mitään.)