Demot laitetaan verkkoon, jotta kaikkien oppilaiden tehtävien tarkastamiseen olisi
samat mahdollisuudet.
Lisäksi oppilaille tulee näin enemmän "mallivastauksia"
mahdollisista tavoista ratkaista tehtävät.
Tehtävät tulee olla siirretty verkkoon luentoviikkoina torstaina klo 12.00
mennessä. Tämän jälkeen ajetaan ohjelma, joka hakee jokaisen oppilaan ratkaisut ja
laittaa ne verkkoon kurssin sivujen alle. Samalla lasketaan tehtävistä tulevat
pisteet.
Luennoitsija tarkistaa satunnaisesti valituilta oppilailta satunnaisesti valitut
tehtävät. Tietyillä demokerroilla voidaan tarkistaa kaikki tehtävät. files.txt-tiedostoon merkittyjä pistemääriä voidaan vähentää, jos pisteitä on annettu aiheettomasti tai vastauksessa on selkeitä puutteita. Tällöin vähennyksen yhteydessä merkitään koodiin perusteet, miksi pisteitä on vähennetty.
Mahdollinen "huijaaminen" on verrattavissa lunttaamiseen.
Jokainen siirtää omat tehtävänsä. Jos joku tehtävä on tehty yhteistyössä jonkun
toisen kanssa, on tästä oltava selvä huomautus ratkaisutiedostossa, käytännössä
tehtävän kommenteissa.
Jotta tehtävät olisivat koneellisesti siirrettävissä, pitää sopia tietty "syntaksi"
mistä ja miten harjoitusten, eli demojen, vastaukset noudetaan.
Jokainen laittaa tehtävastaukset WWW-palvelimelle (Ei Optima, vaan jokin julkisesti
näkyvä hakemisto). Käyttäkää mieluiten yliopiston
www-palvelinta.
Valitulle sivulle tehdään vuorossa olevan demon alihakemisto. Esim. 'demo1' (Windows
saattaa näyttää tämän 'Demo1' -älä huolestu), demo2, demo3 jne.
Korpissa
on OHJ-kurssin kohdalla kenttä Demojen WWW-hakemisto (tästä eteenpän DemoWWW),
jonne ko. www-palvelimen sivun osoite syötetään. Täyttäkää tämä kenttä mieluiten
niin, että menette toisella selaimella siihen paikkaan josta teidän demonne tulevat
löytymään. Eli paikkaan, jonka alle jatkossa tulee hakemistot demo1, demo2 jne....
Sitten Copy-Paste -tekniikkalla siirrätte URL:in Korppiin. Muuten tulee liikaa
kirjoitusvirheitä.
Matti Mallikas käyttää palvelinta www.cc.jyu.fi. Hänen tunnuksensa on 'mallikas'.
Hän on tehnyt www-hakemistoon ohj-hakemiston ja salasana-hakemiston, jonne aikoo demovastaukset laittaa.
Salasanaksi Matti valitsi 'nalle987'.
Määritetään Korpin DemoWWW-kenttä seuraavasti:
'http://www.cc.jyu.fi/~mallikas/ohj/nalle987'
Nyt Matilla pitää olla tehtynä seuraavanlainen alihakemisto: '~/www/ohj/nalle987'
-josta hakurobotti hakee demovastaukset. Hakemistoon '~/www/ohj/nalle987' Matti tekee
hakemiston 'demo1'. Tämä on hakemisto, josta ensimmäisen demon hakurobotti noutaa.
Eli hakemistossa '~/www/ohj/nalle987/demo1' pitää olla demovastaukset ja files.txt,
josta lisää seuraavassa.
Tehtävät saa tehdä minkä nimiseen tiedostoon haluaa. Jotta tehtävien pisteet olisi
helppo laskea ja tehtävät saataisiin siirrettyä verkkoon automaattisesti, tekee
jokainen tehtävätiedostojen kanssa samaan hakemistoon seuraavan syntaksin mukaisen
tiedoston, jonka nimi on AINA files.txt:
=-------------------- = Demo 1 =-------------------- kerho.txt = [T1-4:4] - kerho-ohjelman suunnitelma ope.txt = [T5-6:2] - arvosanatehtävä nimi.txt = [T7:1] - etu- ja sukunimen vaihtaminen kavely.txt = [T8:0.5] - kävelyohjeet, vain jälkimmäinen kohta nelio.java = [TB1:1] - lukujen neliöt kissat.java = [TG1,3:2] - kissojen määrän laskeminen, hyvin toimii! kissat2.java = [TG2:0.5] - keskimäinen tehtävä ei mennyt yhtä hyvin
Otsikko-tyypit merkitään:
'tyhjä' = 'muu informaatio' , esim.
=-------------------- = Demo 1 =--------------------
Tehtävät merkitään seuraavalla tavalla:
'tiedoston nimi' = 'mahdolliset tehtäväpisteet' - 'kommentit' , esim.
nimi.txt = [T7:1] - etu- ja sukunimen vaihtaminen kavely.txt = [T8:0.5] - kävelyohjeet, vain jälkimmäinen kohta nelio.java = [TB1:1] - lukujen neliöt
Selitykset:
kavely.txt - vastaustiedoston nimi, voi olla myös alihakemistossa esim: ht/kavely.txt [T - aloittaa tehtävän numeron ja pistemääräkentän 8 - tehtävän numero, voi olla esim. 1-4 2,3 G2-3 : - erottaa tehtävän numeron pistemäärästä 0.5 - tehtävästä itselle annettu pistemäärä. Huom! Desimaalipiste!!! ] - lopettaa tehtävän numeron ja pistemäärän - kävely... - kommentti tehtävälle, esim. mikä vikana
Tiedostoon voi laittaa enemmänkin kommentteja, mm. jos tehtävät on tehty yhteistyössä useamman henkilön kesken, voi tiedosto alkaa vaikkapa:
=-------------------- = Demo 1 = Vesa Lappalainen & Markku Vire =-------------------- kerho.txt = [T1-4:4] - kerho-ohjelman suunnitelma
Tiedostoon voidaan lisätä myös tarpeellisia aputiedostojen nimiä ilman että niille on pakko antaa tehtävämääritettä [T...].:
=-------------------- = Demo 1 =-------------------- kerho.hlp = - ohjelman avustustiedosto
files.txt voidaan tehdä millä tahansa editorilla. Voidaan käyttää myös ohjelmaa DemoWWW, joka pitää huolen oikeasta syntaksista.
Edellinen tarina syntaksin avulla.
1) Jokainen files.txt:n rivi tarkoittaa tiedostoa, jollei se ala = tai $ merkillä 2) = merkin jälkeinen osa rivistä on muuta informaatiota 3) Tyhjät rivit ovat kommenttirivejä 4) Rivi =--- muuttuu HTML-versiossa <hr> -komennoksi 5) Ylimääräiset välilyönnit poistetaan 6) Yhden rivin syntaksi: [Tiedoston_nimi] ["=" [ "[T" Tehtävännumero ":" tehtävästä_ansaittu_pistemäärä "] -" ] kommentti ] missä Tiedoston_nimi - vastaustiedoston nimi, voi olla myös alihakemistossa esim: ht/kavely.txt Tehtävännumero - tehtävän numero, voi olla esim. 1-4 2,3 G2-3 tehtävästä_ansaittu_pistemäärä - tehtävästä itselle annettu pistemäärä. Esim. 0.8 Huom! Desimaalipiste!!! kommentti - vapaamuotoinen kommentti esim. tehtävän tasosta
Syntaksista pitää olla tarkka, kuten seuraava esim. Matti Mallikkaalta paljastaa. Matti oli tehnyt usean tunnin gurutehtävää, mutta merkannut files.txt:n hieman väärin.
=-------------------- = Demo 4 =-------------------- guru.txt = [GT1-4:4] - guru-tehtävän upea ratkaisu
...kun hänen olisi pitänyt merkata demopiste-syntaksi oikein, sillä vain [T*:n] muoto tuottaa pisteitä. Muut muodot eivät ole virheitä tai näin siis hakurobotti luulee. Oikea ratkaisu olisi näyttänyt tältä:
=-------------------- = Demo 4 =-------------------- guru.txt = [TG1-4:4] - guru-tehtävän upea ratkaisu
Matti Mallikas toimi ohjeen mukaan. Virheen takia häneltä vaadittiin poistettavaksi yksi piste, koska kurssinpitäjä oli joutunut urakoimaan vastauksen uudelleen hakemiseksi. Nyt files.txt näytti tältä:
=-------------------- = Demo 4 =-------------------- guru.txt = [TG1-4:4] - guru-tehtävän upea ratkaisu = [TV1:-1] - Ei siirtynyt koska mokasin demopiste-syntaksin kanssa
Oletetaan seuraavassa että käyttäjällä on people.cc.jyu.fi-koneessa tunnus minurmin. Tällöin
hänen kotisivunsa ovat osoitteessa http://people.cc.jyu.fi/~minurmin/.
Käyttäjä on määritellyt DemoWWW:n seuraavasti:
http://people.cc.jyu.fi/~minurmin/demot/salainen, jossa 'salainen' on "salasana".
Ensimmäiset demot (demo1) hän siirtää hakemistoon http://people.cc.jyu.fi/~minurmin/ohj/demot/salainen/demo1/
Mainittuun hakemistoon hänen tulee siirtää kaikki vastaustiedostot ja files.txt.
Nyt demot näkyvät osoitteessa http://people.cc.jyu.fi/~minurmin/ohj/demot/salainen/demo1/,
josta siirtoautomaatti käy ne noutamassa torstaina klo 12:00.
Siirto voidaan tehdä millä tavalla tahansa ja mistä
tahansa. Suositeltava tapa on SFTP. Tiedostoja ja hakemistoja
siirrettäessä on tarkastettava, että käyttöoikeudet ovat riittävät
(esim. ohj-hakemistolle ja
salasana-hakemistolle 711 ja tiedostoille 755).
Tiedosto files.txt ja myös tiedostojen siirto (ei toimi Chydenius-instituutissa) voidaan tehdä ohjelmalla DemoWWW.exe. Käyttöohjeet voi lukea tiedostosta DemoWWW.html. DemoWWW:n voi käynnistää esim. komentoriviltä antamalla komennon: DemoWWW .
Ratkaisu on keksiä itselleen "salasana". Edellisessä esimerkissä "salasana" oli
"salainen". Tämä "salasana" kirjoitetaan osaksi valittua www-sivua. Korppiin
pitää siis oppilaan lisätietojen kohdalta löytyvään DemoWWW kenttään
kirjoittaa valittu osoite (vesal -tunnuksella ja Agoranetin palvelimella Korpin
DemoWWW-kenttä olisi esimerkiksi
http://people.cc.jyu.fi/~minurmin/ohj/demot/salainen). Kirjoittamisessa on oltava
huolellinen!
Jos lisäksi demohakemiston juuressa on olemassa tiedosto index.html (näkyy www-palvelimella
http://people.cc.jyu.fi/~minurmin/ohj/demot/index.html),
niin toiset oppilaat eivät pääse katsomaan vastauksia elleivät he arvaa tuota
"salasanaa". Salasanassa saa käyttää vain tiedoston nimeen kelpaavia merkkejä. Korpissa
olevan tiedon perusteella automaatti osaa kuitenkin hakea vastaukset oikeasta
paikasta.
Harjoitustehtävien, eli demojen, "salauksella" piilottettavat sivut eivät myöskään
näy Internetiä tutkiville hakuroboteille (www.google.com, www.altavista.com, sekä
lukuisat muut).
Muista käydä kokeilemassa selaimella, että kaikki tiedostot ovat oikein
siirtyneet! Jos sait siirrettyä tiedostot, mutta selain ei näytä
niitä vaan antaa Permission denied-tyyppisen
virheilmoituksen, käyttöoikeudet eivät ole
riittävät. Hakemiston käyttöoikeudet voi säätää oikein
pääteyhteyden komentorivillä komennolla chmod 711
hakemiston_nimi ja tiedoston vastaavasti chmod
755 tiedoston_nimi.
Erityisesti ole huolellinen tiedostojen kirjoitusasun kanssa.
Isoilla ja pienillä kirjaimilla on eroa!
Voit kokeilla demojen siirron onnistumista ja pisteiden laskentaa testaussivulla (huom. koekäytössä, ei laajamittaisesti testattu).
Jos hakuautomaatti ei löydä jotakin files.txt:ssä mainittua tiedostoa, tästä tulee henkilökohtainen ilmoitus
sähköpostilla. Vian voi vielä korjata, mutta se maksaa puoli
demopistettä.
Jos käytettävissäsi ei ole omaa julkista WWW-hakemistoa tai et missään tapauksessa halua demojasi julkiseen WWW-hakemistoon, voit palauttaa demot sähköpostilla osoitteeseen minurmin@cc.jyu.fi. Tällöin viikon demot ja vastava files.txt on pakattava yhteen ZIP- tai JAR-pakettiin liitetiedostoksi (siis ei yksittäisiä kooditiedostoja liitetiedostoiksi!). Palautusaika on WWW-palautuksen tapaan viimeistään torstaina klo 12.00.
Käytäthän sähköpostissa kuvaavaa otsikkoa, esim. [ohj2] demo 1.
files.txt on oltava mukana, vaikka demot palautettaisiin sähköpostilla. Demopisteet lasketaan tiedostoon merkittyjen tietojen mukaan. Tiedostot siirretään kurssin kotisivujen alle muiden demovastausten joukkoon.