TIE 120 Ohjelmointi (kesä 2001)
Demojen laittaminen verkkoon

1. Miksi?

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 torstaina klo 9:00 ja maanantaina klo 11: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

Ohjaajat tarkastavat satunnaisesti valituilta oppilailta satunnaisesti valitut tehtävät. Tietyillä demokerroilla tarkastetaan kaikki tehtävät.

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. Kaikkien tehtävän tekemiseen osallistuneiden nimi tulee mainita ratkaisussa!

2. Miten?

Jotta tehtävät olisivat koneellisesti siirrettävissä, pitää sopia tietty "syntaksi" missä ja miten tehtävät pidetään.

Jokainen laittaa tehtävät oman WWW-sivunsa alle. WWW-sivut voivat olla joko Agoran sivuilla (http://www.it.jyu.fi/users/KAYTTAJA) tai jossakin muualla. Agoran sivuja pääsee käyttämään W:-levyaseman kautta.

2.1 files.txt

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.cpp = [TB1:1] - lukujen neliöt
kissat.cpp = [TG1,2:1] - kissojen määrän laskeminen, hyvin toimii!
  

Eli tiedostossa =-merkki on komentti. Tiedoston alussa on muutama erotinviiva ja sitten demokerran numero. Tehtävät merkitään seuraavasti:

kavely.txt = [T8:0.5] - kävelyohjeet, vain jälkimmäinen kohta

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ä
]             - 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.

2.2 Tiedostojen siirto

Oletetaan seuraavassa että käyttäjällä on Agoranetissä tunnus vesal. Tällöin hänen kotisivunsa http://www.it.jyu.fi/users/vesal ovat käytettävissä suoraan W:-levyasemakirjaimen kautta.

Oletetaan lisäksi että käyttäjän Kurjessa oleva postiosoite alkaa myös vesal@.... Oletetaan käyttäjän käyvän kurssia Ohjelmointi, jolla luennoitsija on määritellyt tunnuksen ohj.

Jos käyttäjä ei tee muita toimenpiteitä hänen tulee siirtää ensimmäiset demot (demo 1) hakemistoon W:\ohj\demo1. Mainittuun hakemistoon hänen tulee siirtää kaikki vastaustiedostot ja files.txt.

Nyt demot näkyvät osoitteessa http://www.it.jyu.fi/users/vesal/ohj/demo1, josta siirtoautomaatti käy ne noutamassa maanantaina klo 11.00 tai torstaina klo 9:00.

Siirto voidaan tehdä millä tavalla tahansa ja mistä tahansa.

Esimerkkejä:

  1. Tiedostot on kotona kopioitu korpulle hakemistoon a:\demo1 annetaan komentorivillä komennot
         mkdir w:\ohj         -  jos ei vielä koskaan tehty
         mkdir w:\ohj\demo1
         copy a:\demo1\*.* w:\ohj\demo1
          
  2. Joka rakastaa hiirtä, voi käyttää esim. Exploreria tiedostojen siirtoon (= varmasti hitaampaa!)
  3. os tiedostot on U-levyllä paikassa u:\ohj\demo1 ja hakemistossa ei ole muuta kuin tarvittavat vastaustiedostot ja files.txt, niin komentorivillä kopioi u:\ohj\demo1\*.* w:: /s hoitaa homman. (Samoin tietysti jos tiedostot ovat korpulla paikassa a:\ohj\demo1, niin kopioi a:\ohj\demo1\*.* w:: /s luo hakemistot ja kopioi tiedostot) 4) Käytetään ohjelmaa DemoWWW.exe, joka samalla pitää huolen, ettei turhia tiedostoja kopioida.

2.3 DemoWWW

Tiedosto files.txt ja myös tiedostojen siirto voidaan tehdä ohjelmalla DemoWWW.exe. Käyttöohjeet voi lukea tiedostosta DemoWWW.html. DemoWWW:n voi käynnistää esim. komentoriviltä antamalla komennon: DemoWWW .

2.4 Entä näkevätkö muut oppilaat demoni ennen palautusaikaa?

Kyllä näkevät jos ei tehdä muuta. Ratkaisu on keksiä itselleen "salasana". Keksitään salasanaksi vaikkapa "kissa123". Tämä salasana käydään kirjoittamassa Kurkeen oppilaan lisätietojen kohdalle nimikkeen +DemoWWW kohdalle. Kirjoittamisessa on oltava huolellinen!

Nyt tiedostojen siirto tehdään vastaavasti hakemistoon: W:\ohj\kissa123\demo1. Jos lisäksi on olemassa tiedosto W:\ohj\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ä. Kurjessa olevan tiedon perusteella automaatti osaa kuitenkin hakea vastaukset oikeasta paikasta.

Jos siirtoon käytetään DemoWWW-ohjelmaa, pitää "salasana" laittaa Kurjen lisäksi kohtaan Edit/Options/Passwd.

2.5 Entä jos email-osoite ja Agoranetin tunnus eivät täsmää?

Jos käyttäjän Kurkeen ilmoittama postiosoite poikkeaa hänen Agoranetin tunnuksestaan, on käyttäjän annettava Kurjessa kohtaan +DemoWWW täydellinen URL-osoite ilman demon numeroa. Eli esim. jos käyttäjän postiosoite olisi vesa.lappalainen@mit.jyu.fi ja Agoranetin käyttäjätunnus olisi vesal, pitäisi hänen laittaa Kurjessa: Jos "salasanaa" ei käytetä

  +DemoWWW:  http://www.it.jyu.fi/users/vesal/ohj
    
ja jos käytetään "salasanaa", niin vastaavasti:
  +DemoWWW:  http://www.it.jyu.fi/users/vesal/ohj/kissa123
    

Näin siksi, että siirtoautomaatti kysyy Kurjelta käyttäjätunnuksen postiosoitteen perusteella (eli ottaa @-merkkiä edeltävän osan) ja muodostaa sitten URL-osoitteen josta demot haetaan.

Jos kentässä +DemoWWW ei ole yhtään erikoismerkkiä, niin kenttä tulkitaan pelkäksi salasanaksi ja liitetään vielä käyttäjätunnuksen perään. Jos +DemoWWW sisältää erikoismerkkejä, niin se tulkitaan URL-osoitteen alkuosaksi ja sen perään liitetään kullakin demokerralla teksti /demo1, /demo2, jne.

2.6 Entä jos en halua tai en voi laittaa Agoran palvelimelle?

Agoran palvelimelle ei pääse esim. FTP-yhteydellä. W:-levyn voi ottaa käyttöön myös kotoa jos on tunnus Agoranettiin ja kotona on Internet-yhteys. Jos kuitenkin halutaan laittaa tiedostot vaikkapa palvelimelle www.cc.jyu.fi, niin silloin menetellään vastaavasti kuten edellisessäkin kohdassa, eli laitetaan tarkka URL-osoite Kurkeen, esim: Jos "salasanaa" ei käytettä

  +DemoWWW:  http://www.cc.jyu.fi/~vesal/ohj
      
ja jos käytetään "salasanaa", niin vastaavasti:
  +DemoWWW:  http://www.cc.jyu.fi/~vesal/ohj/kissa123
      

HUOM! DemoWWW-ohjelma osaa siirtää Agorassa vain W:-asemalle. DemoWWW-ohjelma kutsuu siirron yhteydessä DemoWWW.bat-komentojonoa joka taas kutsuu lue.pl -nimistä Perl-skriptiä. Muokkaamalla komentojonoa kotikoneessaan, pystyy käyttäjä tekemään siirtoja mihin tahansa osoitteeseen. Esim. lue.pl, joka ymmärtää files.txt:n syntaksin, pystyy siirtämään FTP:llä tiedostoja valittuun koneeseen.

3. Tarkista siirron onnistuminen

Jos siirto tehdään DemoWWW-ohjelmalla tai muuten lue.pl-skriptin avulla, niin siirron yhteydessä muodostuu tiedostot index.html ja files.html. Myös nämä siirtyvät käyttäjän kotisivuille.

Muista käydä kokeilemassa selaimella, että kaikki tiedostot ovat oikein siirtyneet!

Erityisesti ole huolellinen tiedostojen kirjoitusasun kanssa. Isoilla ja pienillä kirjaimilla on eroa!


Vesa Lappalainen 12.1.2001, Antti-Juhani Kaijanaho 15.5.2001

Viimeksi muutettu: ke 4 heinäkuu 2001 15:09:09
Antti-Juhani Kaijanaho <gaia@iki.fi>
Perustuu osittain Vesa Lappalaisen ja Kari Kärkkäisen tekemiin kurssisivustoihin ja teksteihin.