Harjoitustyö pisteytetään seuraavien kriteereiden mukaan: * 30 p Ohjelma toimii oikein sallituilla syötteillä (testauksen syöteaineiston kattavuus vaikuttaa luonnollisesti pistemäärään) testaus: 10 p kattava hyvin dokumentoitu, automatisoitu testaus 5 p jonkinlaista testausmateriaalia 0 p testausta ei mainittu toimivuus: 20 p virheetön myös poikkeussyötteillä 18 p virheetön normaalisyötteillä 15 p toimii normaalisyötteillä 90% tapauksista 10 p toimii normaalisyötteillä 75% tepauksista 0 p ei toimi miinusta puutteista * 20 p Käytetyt tietorakenteet ja algoritmit ovat tehokkaita ja ongelman ratkaisuun sopivia. Tehokkuus tulkitaan yleisesti ottaen Tietorakenteet-kurssin hengessä 20 p optimaalinen tietorakennevalinta, toteutus tyylikäs 15 p esim. jokin operaatio toteutettu ei-optimaalisesti tyyliin O(n) O(log n):n sijasta 10 p tietorakenne epäoptimaalinen 5 p brute force - miinusta jos käytetään Javan valmiita tietorakenneluokkia - vertailutöissä pisteisiin vaikuttaa vertailtujen tietorakenteiden määrä * 10 p Toteutus on selkeä ja hyvin dokumentoitu koodin luettavuus max 5p - nimentä - selkeät luokat ja metodit - ei pitkiä metodeja dokumentti max 5p - määrittely - käännös- ja käyttöohje - toteutuksen kuvaus - selostus puutteista == Myöhästyminen laskee arvosanaa yhdellä. Vertailupainotteisessa työssä vertailun maksimipistemäärä on 10 — tällöin oikeellisuudesta saa enintään 25 p ja tietorakenteista 15 p. Harjoitustyön hyväksymisraja on 30 pistettä, mikä vastaa arvosanaa 1. Arvosanaan 5 riittää 50 pistettä.