Esitietoina vaaditaan opintojaksojen Ohjelmoinnin perusteet, Ohjelmoinnin jatkokurssi (tai Java-ohjelmointi), Ohjelmoinnin harjoitustyö ja Tietorakenteet suoritus.
Harjoitustyönä kirjoitetaan ohjaajan antaman tehtävän suorittava ohjelma, jossa tietorakenne ja algoritmi ovat oleellisia. Erityistä huomiota kiinnitetään niiden oikeaan, selkeään ja tehokkaaseen toteutukseen. Työ tehdään useimmiten Java-kielellä. Sopimuksesta voidaan sallia muidenkin ohjelmointikielten käyttäminen. Ohjelman on toimittava laitoksen Linux- tai MS-Windows-ympäristössä.
Työt tehdään yleensä pienryhmissä, joita ohjataan viikoittain 6 tuntia, kaikkiaan 40 tuntia. Työn on valmistuttava ryhmän ohjausaikana. Ryhmiä järjestetään kaikkina opetusperiodeina ja lisäksi alku- ja loppukesällä.
Työt tehdään yksin, ne eivät siis ole ryhmätöitä. Valmiita aliohjelma- ja luokkakokoelmia saa käyttää vain tehtävän kannalta epäoleellisissa kohdissa. Epäselvissä tapauksissa asiasta kannattaa sopia työn ohjaajan kanssa.
Tietorakenteiden harjoitustyöhön ei kuulu kaikille yhteistä aloitusluentoa.
Ohjelmat ovat pienehköjä kokonaisuuksia. Niissä ei tarvitse varautua muunneltavuuteen, tehtävässä määriteltyä yleisempään käyttöön, eikä myöhään (arvostelun jälkeen) suoritettavaan ylläpitoon. Ohjelmilla on vain yksi kirjoittaja. Tietorakenteiden työn arvostelussa ei kiinnitetä erikoista huomiota ylläpitoa ja yleiskäyttöisyyttä helpottavien ohjelmointikielen piirteiden käyttöön.
Useissa töissä ei ole tarpeen tehdä graafista käyttöliittymää. Sellainen ei silloin paranna arvosanaa.
Tietorakenteiden harjoitustyössä ei ole erikoisesti tarkoitus harjoitella ohjelman yksityiskohtaista, ylläpitäjille suunniteltua dokumentointia. Korkean tason ohjelmointikielellä hyvin kirjoitetun pienehkön ohjelman toiminnan pitäisi selvitä ohjelmaa lukemalla. Tietorakenteiden töissä tarkastettavaksi jätettävä kirjallisen materiaalin (paperilla) tulee sisältää ohjelman käyttöohjeen, selvityksen työhön mahdollisesti liittyvistä kokeista ja niiden tuloksista tarvittaessa graafisine esityksineen ja liitteenä ohjelman lähdekielisen listauksen. Ohjelman toiminnasta ja rakenteesta on kerrottava tarvittaessa sen verran, että työn tarkastaminen on mahdollista. Lisäksi kannattaa kertoa mahdollisista seikoista, joihin toivoo tarkastajan kiinnittävän erikoisesti huomiotaan.
Tarkastettavaksi jätetään ohjaajan kanssa sovitulla tavalla myös ohjelman lähdekielinen ja käännetty versio ja testaamisesta helpottavat apuvälineet, esimerkiksi testiaineistoja ja mahdolliset testiaineiston luontiohjelmat. Työn tekijän on näytettävä ohjaajalle, miten ohjelma käännetään ja miten sitä käytetään sen jälkeen, kun ohjelma on siirretty ohjaajan omia kokeita varten sopivaan paikkaan. Työn tekijä on yksin vastuussa työn kaikkien osien kelvollisesta siirtymisestä. Arvostelua varten työn tekijä voi joutua selvittämään suullisesti ohjelman toteutuksen yksityiskohtia.
Arvostelun ja vaatimusten yksityiskohdista kannattaa keskustella työn ohjaajan kanssa. Keskenkin olevaa ohjelmaa kannattaa esitellä ohjaajalle, myös silloin kun varsinaisia ongelmia ei ole. Ohjaajan neuvoja noudattamaton menettänee mahdollisuuden hyvään arvosanaan.
Työ arvostellaan tavanomaisin arvosanoin. Hylätyn työn tekijä joutuu uuden työn aloittamisessa keskeyttäjän (huonoon) asemaan.
Työn arvostelusta voi tiedustella ohjaajalta ennalta sovittuun aikaan. Arvosteltavaksi jätettyä kirjallista materiaalia ei palauteta. Muun materiaalin, esimerkiksi muistivälineen, saa pyytäessään takaisin.