Toteutus

Ympäristö: Java 1.2.2. Työt tullaan ajamaan tällä Javan versiolla RedHat Linux -ympäristössä. Työssä saa käyttää vain puhdasta Javaa ja vain JDK 1.2.2 -alustan piirteitä ja luokkia (java.). Native-rajapintaa siis ei saa käyttää.

Hyvä toteutus: Internetissä on saatavilla tähän tehtävään olevia välttäviä ratkaisuja, joista voi hyvin ammentaa ideoita. Nämä ovat kuitenkin kaikki enemmän tai vähemmän heikkoja ratkaisuja, joten niiden toisintamista ei suositella.

Emme tiedä mikä on paras ratkaisu; hyviä ratkaisuja on luultavasti useita erilaisia. Koska mitään ehdottoman "oikeaa" ratkaisua ei ole olemassa, ratkaisevat kilpailijan luovuus, huolellisuus, ja ratkaisun kokonaisvaltainen tasokkuus pitkälle menestyksen.

Testikääre: Jotta työtä voitaisiin testata virheiden ja toiminnallisuuden osalta automaattisesti, tulee jokaisen kilpailijan toteuttaa kääre (wrapper). Kääre kääntää annetun rajapinnan kautta tulevat, C-syntaksin oloiset kutsut ja vastaavasti paluuarvot, toteutuksen oman rajapinnan muotoon.

Kääreen tekeminen on välttämätöntä, jotta kilpailjoiden kädet olisivat täysin vapaat työnsä rakenteen osalta. Kääreen toteutus ei vaikuta arvosteluun, joten sen ei tarvitse olla tehokas tai erityisen kaunis, kunhan vain toimii. Jos kääre ei toimi, ei itse työtäkään voida juuri testata - arvostelu heikkenee työn osalta.

Luo kääre tätä runkoa täydentämällä.