Helsingin yliopisto / Tietojenkäsittelytieteen laitos / Ohjelmointitekniikka (Java) / Copyright © 2006 Arto Wikla.

582309 Ohjelmointitekniikka (Java), kurssikoe 22.2.2006/AW

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Kirjoita kukin vastaus omalle paperilleen. Kokeessa saa käyttää mitä vain kirjallista materiaalia niin paljon kuin haluaa, kunhan materiaalin määrä tai laatu ei häiritse muita kokeeseen osallistujia.

  1. Selitä poikkeusluokkien Throwable, Error, Exception ja RuntimeException luokkahierarkia. Mihin näitä käytetään? Mitä ja millaisia ovat "checked"- ja "unchecked"-poikkeukset? Miten ne liittyvät poikkeusten luokkahierarkiaan?
                                                                (8 pistettä)
    

  2. Havainnollista pienellä testiohjelmalla miten rajapintaluokan java.util.Set<E> metodeilla toteutetaan joukko-operaatiot yhdiste, leikkaus ja erotus.
                                                                (8 pistettä)
    

  3. Luonnostele peli Maalivahti, jossa pelaaja yrittää estää ruudun ylälaidasta saapuvaa palloa pääsemästä ruudun alalaitaan siirtelemällä nuolinäppäimin "mailaa" vasemmalle ja oikealle. Pallon lähtöpaikka ja tulokulma arvotaan. Maila on pelkkä jana. Tärkeintä on esittää kurssin kannalta keskeiset ohjelmointitekniset ratkaisut. Erityisesti pallon fysiikkkaa ja grafiikan yksityiskohtia ei pidä vastauksessa ohjelmoida! On silti syytä kertoa, missä tuo logiikka sijaitsee. Ohjelman arkkitehtuuri on kiinnostuksen kohteena: kuka vastaa näkymän luomisesta, animoinnista, tapahtumiin reagoinnista, jne.
                                                                (12 pistettä)
    

  4. Selitä käsitteet Single-Thread Rule, event dispatch thread ja worker thread.
                                                                (8 pistettä)
    


Onnea kokeeseen & aurinkoista kevättä!