TKK TKK - TKO - T-106.253 Tietorakenteet ja algoritmit Y

Suunnitelutehtävän yleisohje

Ajankohtaista

Kurssiesite

Suorittaminen
   Ilmoittautuminen
   Luennot
   Perustehtävät
   Suunnittelutehtävä
   Tentti

Henkilökunta

Oppimateriaalia

Pistari
   Pelaa
   Käyttöohjeet
   parhaat 20
   Palaute


Aiemmat kurssit

In English

Yleistä

Suunnittelutehtävässä on tavoitteena suunnitella laajemman järjestelmän toteutuksessa tarvittavat tietorakenteet ja algoritmit. Tehtävän ratkaiseminen edellyttää kurssilla tähän mennessä esitettyjen asioiden hallitsemisesta, jotta niitä voi soveltaa annetun uuden tehtävän ratkaisemiseen. Tehtävässä voi olla hyötyä myös siitä, että perehtyy siihen kurssiaineistoon, jota ei ole vielä luennoilla käsitelty.

Tehtävän ratkaiseminen voi edellyttää myös kokonaan uusien tietorakenteiden tai algoritmien suunnittelua.

Työryhmät

Suunnittelutehtävä suositellaan ratkaistavaksi 2-3 hengen ryhmissä. Tehtäviä voi ratkoa myös yksin, mutta sitä ei suositella, koska työmäärä on tällöin luonnollisesti suurempi kuin ryhmätyötä tekevillä kurssilaisilla.

Jokainen kurssilainen on itse vastuussa työryhmän kokoamisesta. Kurssi henkilökunta ei puutu siihen.

Jos työryhmässä tapahtuu muutoksia kesken kurssin, esim. joku keskeyttää kurssin, voi työryhmä jatkaa oman osuutensa loppuun vajaanakin. Jäljellä olevat joutuvat kuitenkin tällöin tekemään koko tehtävän loppuun. Työryhmän vaihtaminen kesken kurssin ei ole mahdollista ilman hyvin painavaa syytä. Mikäli työryhmän jäsen kuitenkin haluaa vaihtaa ryhmää kesken kurssin, tulee hänen ottaa yhteyttä pääassistenttiin.

Suunnittelutehtävän vaihejako

Suunnittelutehtävä tehdään useassa vaiheessa.

  • Määrittelyvaiheessa perehdytään tehtävään ja määritellään sen sisältö tarkasti. Koska reaalimaailmassa asiakkaan esittämät toiveet ovat alkuvaiheessa yleensä väljiä ja epätarkkoja, myös kurssilla annettava tehtävänanto vaatii täsmentämistä. Toisin sanoen ryhmä määrittelee tarkasti järjestelmän toiminnot ja tarvittavat tiedot. Käyttöliittymää, jonka avulla tiedot syötetään, ei tarvitse kuitenkaan määritellä.

    Jokainen ryhmä tekee itsenäisesti tarpeelliseksi katsomansa täsmennykset tehtävään. Tässä vaiheessa voi kysyä neuvoa kurssin henkilökunnalta vastaanotoilla ja kurssin uutisryhmässä. Annetut neuvot ja kommentit ovat ohjeellisia eikä kurssilla edellytetä, että kaikki ryhmät päätyisivät määrittelyssä samaan lopputulokseen. Eroja tehtävän tulkinnassa voi siis olla ryhmien kesken.

    Kurssin henkilökunta lukee määrittelyt läpi ja hyväksyy ne tai edellyttää tarkentamista. Tarvittaessa ryhmä kutsutaan suulliseen palaveriin, jossa puhutaan asiasta tarkemmin.

  • Ratkaisuvaiheessa ryhmä esittää tarkan periaateratkaisun tehtävän kaikkiin osiin.
  • Viimeistelyvaiheessa jokainen ryhmä perehtyy saamaansa palautteeseen ja tekee sen perusteella tarpeelliseksi katsomansa muutokset ja parannukset omaan ratkaisuunsa. Tämän jälkeen he palauttavat lopullisen ratkaisun.

    Kurssin henkilökunta arvioi lopullisen ratkaisun ja antaa siitä arvosanan.

  • Suunnittelutehtävän arvostelussa kiinnitetään huomiota kolmeen asiaan:
    • Ratkaisun analyysi. Käytettyjä tietorakenteita ja algoritmeja tulee ratkaisussa analysoida ja niiden sopivuutta tehtävän ratkaisuun miettiä.
    • Ratkaisun toimivuus. Ratkaisun tulee olla mahdollisimman selkeä ja tehokas.
    • Ulkoasu. Tehtävän ulkoasun tulee olla selkeä, hyvin jäsennetty ja helppo lukea ja ymmärtää.

Ratkaisujen esittämisestä

  • Ratkaisu tulee jäsentää tehtävänannon mukaisesti.
  • Ratkaisu tulee esittää käsitteillä, jotka esiintyvät tällä kurssilla. Mikäli joudutaan käyttämään käsitteitä, esim. tietorakenteita, jotka eivät kurssiaineistoon kuulu, ne tulee määritellä ratkaisussa.
  • Ratkaisussa esiintyvät tietorakenteet ja algoritmit tulee kuvata seuraavasti:
    • Jos algoritmi tai tietorakenne on sellaisenaan käyty kurssilla läpi (sisältyy luentomonisteeseen), voidaan viitata sen nimeen. Toimintaa ei tarvitse silloin kuvata ja analyyttiset tulokset voi ilmoittaa suoraan lähdeviitteeseen nojautuen.
    • Muussa tapauksessa, jos algoritmi tai tietorakenne on muunnelma kurssilla esitetyistä algoritmeista / tietorakenteista tai kokonaan uusi, se tulee esittää algoritmina ts. riittävän täsmällisesti. Kuvaustapana voi käyttää sanallista selostusta, pseudokoodia tai jopa vuokaavioita. (ks. myös esimerkkejä). Ratkaisun esittämisessä korostetaan sitä, että hyvät sanalliset kuvaukset ja mahdolliset kuvat ja kaaviot ovat keskeisimpiä asioita. Algoritmeja ei tarvitse toteuttaa millään ohjelmointikielellä.

Kurssin uutisryhmä: opinnot.tik.traky webnews
Kurssin sähköposti: trak@niksula.hut.fi
Sivua päivitetty viimeksi: 2005-03-31
<URL: http://www.cs.hut.fi/Opinnot/T-106.253/k2005/ suunnittelutehtava/yleisohje.html >