Suorittaminen
Unix-ohjelmointi-kurssi suoritetaan lukuvuonna syksyllä 2010 harjoitustyöllä,
joka koostuu kahdesta osasta:
- harjoitusten pienten tehtävien palautettavat osuudet
- harjoitustehtävistä muodostuva isompi kokonaisuus
Ensimmäinen osa on palautettava viimeistään pe 7.1.2011 ja
toinen osa ma 31.1.2011.
Toisen harjoitustyöosuuden arvosana on suoraan koko kurssin arvosana.
Ensimmäisen osion on oltava kuitenkin hyväksyttävästi suoritettu.
Ensimmäinen osuus
- Tee hakemisto EtunimiSukunimi, jossa
Etunimi on etunimesi alkaen isolla alkukirjaimella ja
Sukunimi sukunimesi alkaen isolla alkukirjaimella.
- Kopioi harjoitustehtävien 1.2, 1.4, 2.1, 2.2, 3.3, 4.2, 4.3, 5.4, 6.2, 6.3, 6.4 ja 7.5 ratkaisut tekemääsi hakemistoon.
Huomaa, että palautettava osuus tiedostojen nimineen ja sisältöineen
on määritelty tarkasti kunkin harjoitustehtävän yhteydessä.
- Pakkaa hakemisto sisältöineen gzip-pakatuksi tar-paketiksi
EtunimiSukunimi.tar.gz, jossa
Etunimi on etunimesi alkaen isolla alkukirjaimella ja
Sukunimi sukunimesi alkaen isolla alkukirjaimella. Voit
käyttää komentoa:
tar czf EtunimiSukunimi.tar.gz EtunimiSukunimi
- Palauta harjoitustyösi käyttäen
Prolab Puzzle -järjestelmää
viimeistään pe 7.1.2011.
Huomio! Jos haluat palauttaa sekä ensimmäisen että
toisen osion yhtä aikaa ensimmäisen määräajan kuluessa, voit tehdä
sen pakkaamalla yksinkertaisesti molempien osioiden tehtävät
samaan pakettiin. Huomaa, että Puzzle-järjestelmässä voi olla
vain yksi palautus per tehtävä, joten uudempi palautus samaan
tehtävänantoon korvaa aiemman palautuksen.
Tehtävät saattoi suorittaa myös käymällä harjoituksissa ja esittelemällä
ratkaisun siellä assistentille. Mikäli olet
tehnyt jonkin tehtävän tällä tavoin, sitä ei tarvitse lisätä
palautukseen. Jos olet tehnyt kaikki ensimmäisen osion tehtävät tällä
tavoin, sinun ei tarvitse palauttaa ensimmäiseen määräaikaan mennessä
mitään.
Toinen osuus
Isomman harjoitustyön aiheena on ohjelmisto, jolla voi jakaa kavereidensa
kanssa tavoitettavuustiedon (paikalla/poissa). Se koostuu HTTP:tä
käyttävästä palvelimesta, joka tallentaa tilat, ja Qt:lla tehdystä
asiakasohjelmasta, jolla voi vaihtaa omaa tilaa ja katsoa muiden tilan.
Ohjelmisto muodostuu useamman harjoituskerran aikana vaihe vaiheelta.
Asiakas- ja palvelinohjelmiston väliselle protokollalle ei ole
asetettu muita vaatimuksia kuin että se on HTTP:tä. Viestintään voi
käyttää GET-metodia esimerkiksi seuraavasti:
- Kaikkien tilatietojen pyytäminen: GET / (tai GET / HTTP/1.0)
- Oman tilatiedon päivittäminen: GET /username/password/status (tai GET /username/password/status HTTP/1.0)
Tarkempia vaatimuksia esitetään harjoitustustehtävien yhteydessä.
Älykkäitä lisäominaisuuksia saa toteuttaa, ja vaikka ominaisuuksien
määrä ei sinänsä ole arvosanaa kohottava tekijä, näkyvä paneutuminen
harjoitustyön laadukkaaseen tekemiseen katsotaan positiivisesti
arvostelussa.
Lisätty 30.12.2010: Toisin kuin tehtävässä 3.4 alun
perin on sanottu, palvelimen saa toteuttaa myös säikeillä
(eli ei tarvitse käyttää erillisiä prosesseja rinnakkaistamiseen).
- Varmista, että harjoitutehtävissä 8.1 ja 8.2 viimeistelty
ohjelmisto (palvelin ja asiakas) on vaatimusten mukainen.
- Tee hakemisto EtunimiSukunimi, jossa
Etunimi on etunimesi alkaen isolla alkukirjaimella ja
Sukunimi sukunimesi alkaen isolla alkukirjaimella.
- Kopioi kaikki neljä RPM-pakettia edellisessä kohdassa tehtyyn
EtunimiSukunimi-hakemistoon. Tästä hakemistosta löytyy siis
sekä suoraan asennettavat toimivat paketit että niiden muodostamiseksi
tarvittavat lähdekoodipaketit.
- Pakkaa hakemisto sisältöineen gzip-pakatuksi tar-paketiksi
EtunimiSukunimi.tar.gz, jossa
Etunimi on etunimesi alkaen isolla alkukirjaimella ja
Sukunimi sukunimesi alkaen isolla alkukirjaimella. Voit
käyttää komentoa:
tar czf EtunimiSukunimi.tar.gz EtunimiSukunimi
- Palauta harjoitustyösi käyttäen
Prolab Puzzle -järjestelmää
aikavälillä ma 10.1.2011 - ma 31.1.2011.
MeeGo/Maemo-lisätehtävä
MeeGo/Maemo-ympäristöön tehty toisen osuuden oikein tehty asiakasohjelma
nostaa arvosanaa yhdellä pykälällä
(mikäli arvosana olisi jo muutenkin 5, valitettavasti
tällä ei ole vaikutusta). Halutessasi palauttaa myös tämän tehtävän,
tee toisen osion palautuksen hakemistoon EtunimiSukunimi
alihakemisto MeeGo (tai Maemo), jossa on kaikki tehtävään liittyvät lähdekoodit
ja LUEMINUT-tiedosto, jossa on selitetty, miten ohjelma ottaa erityisesti
huomioon ja toteuttaa MeeGo- tai Maemo-ympäristön vaatimukset.
Arvostelu
Harjoitustyöt arvostellaan asteikolla 1-5, jossa 1 on matalin ja 5 korkein
arvosana. Lähtökohtana on arvosana 3, joka edustaa normaalia
suoriutumista. Kaikkien kohtien ei tarvitse täyttyä yhtäaikaa arvosanan
siirtymiseksi tasolta toiselle (ylös- tai alaspäin).
Harjoitustyö voidaan myös hylätä, jolloin korjausaikaa on
tarkastuksen jälkeen kolme viikkoa.
5: ammattitaitoinen, erinomainen suoritus. Opiskelijan suoritus ylittää
selvästi harjoitustyön vaatimukset ja tavoitteet varsinkin laadullisesti
mutta mahdollisesti myös määrällisesti. Näin opiskelija osoittaa
syvällisesti ymmärtävänsä kurssilla opetetut Unix-ohjelmoinnin
periaatteet sekä pystyy soveltamaan poikkeuksellisen lahjakkaasti
oppimaansa. Työn looginen rakenne on johdonmukainen ja vaadittua tasoa
selkeämpi valittujen suunnitteluratkaisujen ansiosta. Opiskelija
on pystynyt itsenäiseen ammattitaitoa osoittavaan työskentelyyn.
4: odotukset ylittävä, esimerkillinen suoritus. Opiskelijan suoritus
täyttää erinomaisesti kaikki harjoitustyön vaatimukset erityisesti
laadullisesti. Lisäksi opiskelija osoittaa syvällisesti ymmärtäneensä
kurssilla opetetut Unix-ohjelmoinnin periaatteet. Työn looginen
rakenne on esimerkillisen selkeä ja johdonmukainen. Ratkaisua voisi
käyttää mallina opetuksessa. Opiskelija on pystynyt
itsenäiseen työskentelyyn.
3: odotuksia vastaava, hyvä suoritus. Opiskelijan suoritus täyttää
kaikki harjoitustyön vaatimukset. Opiskelija ymmärtää kurssilla
opetetut Unix-ohjelmoinnin periaatteet. Ratkaisu on laadukas
keskeisimmillä osa-alueilla. Työn looginen rakenne on johdonmukainen.
Opiskelija pystynyt pääsääntöisesti itsenäiseen työskentelyyn.
2: tyydyttävä suoritus. Opiskelijan suoritus täyttää harjoitustyön
perusvaatimukset, mutta joillakin osa-alueilla on pieniä puutteita.
Opiskelija ymmärtää periaatteessa kurssilla opetetut Unix-ohjelmoinnin
periaatteet, mutta niiden soveltamisessa on vaikeuksia. Työ
ei ole rakenteeltaan looginen, minkä vuoksi valittuja ratkaisuja voi olla
vaikea ymmärtää. Opiskelija on saattanut
tarvita jonkin verran apua työskentelyynsä.
1: kehittymistä edellyttävä suoritus. Opiskelijan suoritus ei täytä
kaikkia harjoitustyön vaatimuksia ja työssä on puutteita. Työn tekijällä
on suuria vaikeuksia ongelman ja sen ratkaisun hahmottamisessa. Opiskelija
on tarvinnut paljon apua työskentelyynsä. Hän on kuitenkin selvästi
osoittanut aktiivista otetta työn kohteena olevien asioiden
harjoittelussa, ja huomattavaa kehittymistä on jo tapahtunut.
Puutteellisen harjoitustyön hyväksyminen edellyttää ohjausta antaneen
opettajan (esimerkiksi työpajaohjaajan useamman aktiivisen työpajakerran
jälkeen) puoltolausuntoa ja opiskelijan lupausta jatkaa tietojensa ja
taitojensa kehittämistä itsenäisesti. Käytännössä saadakseen tämän
arvosanan, opiskelijan on tehtävä runsaasti töitä.
Näitä kriteerejä sovelletaan harjoitustyön toiseen osuuteen.
Näin saatua arvosanaa laskee yhdellä pykällä mahdollinen lisäajan käyttö.
Tämän jälkeen arvosanaa nostaa yhdellä pykälällä, mikäli
asiakasohjelmisto on siirretty toimimaan Maemo-ympäristössä.
|