Toisessa ohjelmointitehtävssä luotiin ensimmäisestä ohjelmointitehtävästä poimitulle Ihminen-luokalle
pelkkää kirjojen lukemista ja tentteihin osallistumista virikkeellisempi maailma, johon kuuluivat seuraavat
rakennuspalikat: Karttaelementti, Ajettava, Auto ja Raketti. Ensimmäinen
ohjelmointitehtävä jäi minulta väliin, koska olin tehtävän palautuspäivänä vielä osa Suomen uskottavaa
maanpuolustusjärjestelmää. Ennen tehtävän aloittamista minulla ei ollut ollenkaan kokemusta java-ohjelmoinnista,
ja tietopohjana oli ainoastaan se, mitä olin ehtinyt lukea Kala-kirjasta. Erittäin kankean alun ja monien
tuntien jälkeen homma alkoi kuitenkin sujumaan, eikä palautuspäivän kanssa tehnyt yhtään tiukkaa. Tehtävän
haastavimman palan, reitinetsintäalgoritmin, toteutin käyttäen (osaamiseen nähden) monimutkaista rekursiivista
ratkaisua, joka etsi reitin näennäisesti nopeasti. Tietokoneen resurssien käytön kannalta se oli kuitenkin
varsin heikko toteutus.
Kolmannessa ohjelmointitehtävässä laajennettiin kahdessa ensimmäisessä kehitettyä pelimaailmaa. Nyt maailmaan eri tavoin käyttäytyviä ihmisiä ja peliin rakennettiin vuorottelujärjestelmä, joka pyöritti pelaajien "siirtoja". Tehtävän vaativuutta lisäsi toisen ja kolmannen osatehtävän testikoodin puuttuminen. Luokkia testaava testikoodi oli osattava kirjoittaa itse, tai muokata se aiemman tehtävän testikoodista. Sain tehtyä tehtävän kunnialla loppuun joutumatta turvautumaan mihinkään purkkaratkaisuihin eikä koodissa ilmennyt pahempia virheitä.
Kun vielä neljännessä ohjelmointitehtävässä jatkettiin samasta koodista, alkoi kokonaisuuden hahmottaminen jo hieman vaikeutua. Tällä kertaa ohjelmaan lisättiin pelaaja, jota voi itse ohjailla. Pelaajaa ohjattiin yksinkertaisilla komentorivillä annettavilla käskyillä. Ohjelmassa harjoiteltiin lähinnä tietovirtojen käyttöä, sillä niitä tarvittiin näppäimistöltä lukemiseen ja parhaiden tulosten tallennusominaisuuden toteuttamiseen. Osa luokista oli myös kommentoitava Javadoc-kommenteilla.
Viimeisessä ohjelmointitehtävissä harjoiteltiin graafisen käyttöliittymän
toteuttamista Swingillä. Tehtävä oli varsin mukava, ja vihdoinkin pääsi tekemään
jotain konkreettisempaa. Onnistuin toteuttamaan mukavasti toimivan skaalautuvuuden
GridbagLayoutin avulla, mutta Swingistä jäi vielä paljon avoimia kysymyksiä elementtien
kokojen määrittelyn suhteen. Ne kun eivät tuntuneet noudattaman useinkaan nille
annettuja setMaximumSize, setMinimumSize tai setPreferredSize
metodeilla annettavia ohjeita.