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