Tietorakenteiden harjoitustyö (periodi IV)

58161
3-5
Algorithms and machine learning
Intermediate studies
Opintojaksossa opiskelijat harjoittelevat vaikeahkojen tietorakenteiden ja algoritmien toteuttamista, sekä erilaisten ratkaisujen vertailemista käytännössä. Työn arvioinnissa keskeistä on ohjelmakoodin oikeellisuus, selkeys ja tehokkuus, sekä vertailuissa saatujen tulosten esittäminen ja arviointi. Työn tekeminen edellyttää jossain määrin tieteellisen kirjallisuuteen perehtymistä. Esitiedot: Tietorakenteet ja algoritmit sekä Aineopintojen harjoitustyö: Ohjelmointi.
Year Semester Date Period Language In charge
2011 spring 14.03-29.04. 4-4 Finnish Otto Nurmi

Exercise groups

Group: 1
Time Room Instructor Date Observe
Thu 16-19 A218 Tomi Jylhä-Ollila 14.03.2011—29.04.2011
Tue 16-19 A318 Tomi Jylhä-Ollila 14.03.2011—29.04.2011

Ilmoittautuminen tälle kurssille alkaa tiistaina 22.2. klo 9.00.

Non finnish students contact Henning Lübbers (lubbers@cs.helsinki.fi). Registration for this course starts on Tue 22nd of January at 9.00.

General

Tietorakenteiden harjoitustyö sisältyy Tietojenkäsittelytieteen pääaineopintojen aineopintokokonaisuuden pakollisiin opintoihin ja se on Tietojenkäsittelytieteen sivuaineopintojen aineopintokokonaisuuden valinnainen jakso.

Esitietoina vaaditaan opintojaksojen Ohjelmoinnin perusteet, Ohjelmoinnin jatkokurssi (tai Java-ohjelmointi), Ohjelmoinnin harjoitustyö ja Tietorakenteet suoritus.

Harjoitustyönä kirjoitetaan ohjaajan antaman tehtävän suorittava ohjelma, jossa tietorakenne ja algoritmi ovat oleellisia. Erityistä huomiota kiinnitetään niiden oikeaan, selkeään ja tehokkaaseen toteutukseen. Työ tehdään useimmiten Java-kielellä. Sopimuksesta voidaan sallia muidenkin ohjelmointikielten käyttäminen. Ohjelman on toimittava laitoksen Linux- tai MS-Windows-ympäristössä.

Työt tehdään yleensä pienryhmissä, joita ohjataan viikoittain 6 tuntia, kaikkiaan 40 tuntia. Työn on valmistuttava ryhmän ohjausaikana. Ryhmiä järjestetään kaikkina opetusperiodeina ja lisäksi alku- ja loppukesällä.

Työt tehdään yksin, ne eivät siis ole ryhmätöitä. Valmiita aliohjelma- ja luokkakokoelmia saa käyttää vain tehtävän kannalta epäoleellisissa kohdissa. Epäselvissä tapauksissa asiasta kannattaa sopia työn ohjaajan kanssa.

Työryhmien perustaminen

Työryhmiin ilmoittaudutaan laitoksen ilmoittautumisjärjestelmällä. Työryhmät ovat pienehköjä. Niihin saattaa olla enemmän pyrkijöitä kuin niihin voidaan sijoittaa. Opiskelijat valitaan ryhmään ensimmäisen kokoontumiskerran alussa läsnä olevista seuraavassa järjestyksessä:

  1. kaikki läsnä olevat ryhmään ilmoittautuneet
  2. ryhmiin jonottavaksi ilmoittautuneet läsnä olevat jonottajien listan ilmoittautumisjärjestyksessä
  3. työnsä aikaisemmin keskeyttäneet läsnä olevat keskeyttäneiden listan ilmoittautumisjärjestyksessä

Ryhmään ilmoittautumisen peruutus tulee suorittaa viimeistään kaksi vuorokautta ennen ryhmän ensimmäistä kokoontumista. Muuten opiskelija joutuu ilmoittautumaan keskeyttäneiden listan kautta. Keskeyttäneiden on vaikeaa päästä haluamaansa ryhmään.

Tietorakenteiden harjoitustyöhön ei kuulu kaikille yhteistä aloitusluentoa.

Työryhmän ohjaamisesta

Osa työryhmän ohjausajasta on tarkoitettu kaikille ryhmäläisille, osa on henkilökohtaista neuvontaa varten. Osa ohjausajasta voidan määrätä pakolliseksi. Ryhmän toimintaan osallistumisen laiminlyönti saattaa alentaa työstä annettavaa arvosanaa ja johtaa jopa työn hylkäämiseen. Ryhmän toiminnan yksityiskohdat määrää ohjaaja. Ohjaajilla ei ole velvollisuutta antaa (sähkö-)posti- eikä puhelinneuvontaa.

Työn tekemisestä ja arvostelusta

Tietorakenteiden töissä rakenteet ja algoritmit ovat tärkeitä. Arvostelussa kiinnitetään erikoista huomiota niiden oikeaan, selkeään ja tehokkaaseen toteutukseen. Ohjelmatekstin tulee olla riittävän selkeää, jotta tarkastaja voi vakuuttua ohjelman oikeellisuudesta. Ohjelma on varustettava tarpeellisin kommentein. Hyvin kirjoitetussa ohjelmassa niitä ei tarvita kovin paljoa, kunhan ohjelman tunnukset on valittu sopivasti.

Ohjelmat ovat pienehköjä kokonaisuuksia. Niissä ei tarvitse varautua muunneltavuuteen, tehtävässä määriteltyä yleisempään käyttöön, eikä myöhään (arvostelun jälkeen) suoritettavaan ylläpitoon. Ohjelmilla on vain yksi kirjoittaja. Tietorakenteiden työn arvostelussa ei kiinnitetä erikoista huomiota ylläpitoa ja yleiskäyttöisyyttä helpottavien ohjelmointikielen piirteiden käyttöön.

Useissa töissä ei ole tarpeen tehdä graafista käyttöliittymää. Sellainen ei silloin paranna arvosanaa.

Tietorakenteiden harjoitustyössä ei ole erikoisesti tarkoitus harjoitella ohjelman yksityiskohtaista, ylläpitäjille suunniteltua dokumentointia. Korkean tason ohjelmointikielellä hyvin kirjoitetun pienehkön ohjelman toiminnan pitäisi selvitä ohjelmaa lukemalla. Tietorakenteiden töissä tarkastettavaksi jätettävä kirjallisen materiaalin (paperilla) tulee sisältää ohjelman käyttöohjeen, selvityksen työhön mahdollisesti liittyvistä kokeista ja niiden tuloksista tarvittaessa graafisine esityksineen ja liitteenä ohjelman lähdekielisen listauksen. Ohjelman toiminnasta ja rakenteesta on kerrottava tarvittaessa sen verran, että työn tarkastaminen on mahdollista. Lisäksi kannattaa kertoa mahdollisista seikoista, joihin toivoo tarkastajan kiinnittävän erikoisesti huomiotaan.

Tarkastettavaksi jätetään ohjaajan kanssa sovitulla tavalla myös ohjelman lähdekielinen ja käännetty versio ja testaamisesta helpottavat apuvälineet, esimerkiksi testiaineistoja ja mahdolliset testiaineiston luontiohjelmat. Työn tekijän on näytettävä ohjaajalle, miten ohjelma käännetään ja miten sitä käytetään sen jälkeen, kun ohjelma on siirretty ohjaajan omia kokeita varten sopivaan paikkaan. Työn tekijä on yksin vastuussa työn kaikkien osien kelvollisesta siirtymisestä. Arvostelua varten työn tekijä voi joutua selvittämään suullisesti ohjelman toteutuksen yksityiskohtia.

Arvostelun ja vaatimusten yksityiskohdista kannattaa keskustella työn ohjaajan kanssa. Keskenkin olevaa ohjelmaa kannattaa esitellä ohjaajalle, myös silloin kun varsinaisia ongelmia ei ole. Ohjaajan neuvoja noudattamaton menettänee mahdollisuuden hyvään arvosanaan.

Työ arvostellaan tavanomaisin arvosanoin. Hylätyn työn tekijä joutuu uuden työn aloittamisessa keskeyttäjän (huonoon) asemaan.

Työn arvostelusta voi tiedustella ohjaajalta ennalta sovittuun aikaan. Arvosteltavaksi jätettyä kirjallista materiaalia ei palauteta. Muun materiaalin, esimerkiksi muistivälineen, saa pyytäessään takaisin.

Lisätietoja

Opintojakson vastuuhenkilö on tavattavissa vastaanottoaikoinaan.