Töiden arviointi

Tuomaristo arvioi töitä seuraavien ominaisuuksien pohjalta:

Pääperusteet

Toimivuus: kuinka hyvin toteutus onnistuu toisintamaan alkuperäisten funktioiden tominnallisuuden? Selviääkö ohjelma ongelmatilanteista? Toimiiko se oikein?

Osallistujien oletetaan testanneen työnsä huolellisesti. Raportoidut bugit huonontavat sijoittautumista lievemmin kuin raportoimattomat. Korjaamattomat bugit saattavat myös estää ohjelman toiminnallisten vaatimusten tarkistamisen.

Käytettävyys: kuinka kätevä ratkaisua on käyttää sovelluskehityksessä. Javan olemassaoleviin sovelluskehyksiin liittyminen katsotaan hyväksi.

Dokumentointi: Kaikkea ohjelman suunnitteluun liittyvää ei saa selville koodista ja kommenteista. Yleisen tason suunnitelman kuvaus ja suunnittelupäätökset on hyvä kirjata erilliseen dokumenttiin. Luokkadokumentoinnin on silti oltava hyvä.

Minimivaatimukset

Eli perusteet, joissa työn on täytettävä tietty minimitaso. Tuomaristo voi päättää hylätä kaikki työt, jotka eivät täytä sen hyväksi katsomaa vähimmäistasoa. Vaikka eivät olekaan keskeisiä perusteita, näiden ominaisuuksien hyvästä toteutuksesta voi saada lisäpisteitä:

Ylläpidettävyys: onko ohjelmakoodi siistiä, onko koodikommentoiti riittävää. Saako ohjelmasta selvää miten se on tehty. Koodi, joka on hyvin vaikea ymmärtää, voidaan hylätä.

Rakenne: onko ohjelma järkevästi modularisoitu? Luokkien ja metodien jako ja käyttö järkevä ja toimiva? Selkeästi kömpelöt ja haparoivat toteutukset voidaan hylätä.

Algoritmit: ovatko käytetyt algoritmit tehokkaita? Ovatko ne valittu tarpeen huomioon ottaen järkevästi? Toteutus voidaan hylätä, mikäli sen muisti- tai aikavaatimukset ovat kohtuuttomat.

Tuomariston päätöksistä ei voi valittaa.