Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
Java-ohjelmointi
Copyright © 2001
Arto Wikla.
Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille
opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, 
kuten kaupallisilla tai muilla kursseilla, on kielletty.
Java-ohjelmointi: koevihjeitä
(Muutettu viimeksi 21.6.2001)
Koealue:
- kirjassa:
    luvut 2-5 (6), ei kuitenkaan kappaletta 4.3.4 linkitetyistä listoista
    (s. 157-162), ei lukua 5.3 sarjallistetuista olioista,
     luvun 5 tiedostojenkäsittelyluokkia ei tarvitse osata ulkoa,
     luvusta 6 riittää ymmärtää perusidea (eikä siitä kysytä...)
 
- WWW-sivuilla:
    luvut 2-5 (6), ei kuitenkaan kappaleen 4.6 kohtaa "Pakkaukset
    Unixissa/Linuxissa (bash-shell)",
    ei kappeletta 5.3 "Pari näppärää tietorakennetta",
    luvun 5 tiedostojenkäsittelyluokkia ei tarvitse osata ulkoa,
    luvusta 6 riittää ymmärtää perusidea (eikä siitä kysytä...)
 
- Kannattaa huomata, että www-sivuilla on pari hyödyllistä
    täydennystä kirjaan:
- "Nelikenttä"
    luvussa 4.2
- "Pieni esimerkki abstraktin luokan yhdestä käyttötavasta"
     4.4:n aliluvussa 
    Protected,
    final, abstract
 
 
- Harjoitustehtävät ovat tärkeitä. Alkueläinten ja
    tossueläinten "populaatiosimulaatioita", 
    "kokeellista geneetistä tutkimusta", ei kuitenkaan kysytä;
    itse noiden elukoiden toteutus on tietenkin keskeistä.
Tärkeitä asioita, vihjeitä, ...
- Luvut 1, 2 ovat taustatietoja. Koska kurssi Ohjelmoinnin perusteet
    on kurssin esitietovaatimus, niiden asiat siis on osattava.
 
- Luku 3:
- Tiivis kertaus ja täydennys algoritmien laadintavälineistä
- "Varattuja sanoja ei tarvitse osata luetella!"
- Alkeistyypit - viitaustyypit: tärkeä ymmärrettävä.
- Numeeristen tyyppien tarkkoja lukualueita ei kysytä.
- Eksplisiittistä tyyppimuunnosta (cast) ei pyydetä tekemään, 
    on järkevää silti ymmärtää, mistä on kyse ja milloin 
    implisiittinen on luvallinen.
- Matemaattisia perusfunktioita ei tarvitse osata ulkoa.
- Laskentajärjestystä ja operaatioiden sitovuutta ei kysytä, mutta 
    ne on tietenkin käytännössä osattava. (Tai ainakin osattava 
    käyttää sulkumerkkejä :)
- Keskeytyslauseita break ja continue ei pyydetä käyttämään
    ohjelmoinnissa.
    Niitä saa kuitenkin käyttää, jos osaa tehdä sen hyvin.
- Mitään tehtävää ei pyydetä ratkaisemaan rekursiolla. Saa toki 
    käyttää, jos on aivan varma että osaa...
 
- Luku 4:
- Keskeisin luku:
- olio-ohjelmoinnin idea ja kayttötavat,
- abstraktin tietotyypin, kapseloinnin idea, "API-kuvauksien"
     ymmärtäminen ja lukutaito, 
- ilmentymämuuttujat ja luokkamuuttujat,
- luokan lataaminen ja olion luonti,
- luokkamäärittelyn rakenne ja mahdollisuudet,
- periytyminen,  yli- ja aliluokat, konstruktorit periytymisessä
- luokan käyttötavat,
- abstraktin luokan ja rajapintaluokan ideat,
- pakkausten käyttö Java-tasolla on ymmärrettävä, mutta kokeessa
    ei kysytä pakkauksien toteuttamisesta erityisissä
    käyttöjärjestelmissä, esim. Unixissa/Linuxissa tms.
- näkyvyyden säätely on ymmärrettävä sekä teoriassa että käytännössä.
 
- Luku 5:
- Tiedostojen käsittelyn valmiita luokkia ei tarvitse osata ulkoa.
    Jos sellaisia tarvitaan, ne annetaan. 
- Poikkeusten käsittelystä on ymmärrettävä periaateet siinä laajuudessa
    kuin materiaalissa on esimerkkejä.
- Jos try-catch- lausetta tai throws-ilmausta tarvitaan, 
     riittää tuntea "poikkeusten poikkeus" Exception.
- Kirjan ja www-materiaalin (erilaiset!) luvut 5.3 eivät kuulu
    koealueeseen.
 
- Luku 6:
- Sovelmia tai GUI-sovelluksia ei kokeessa ohjelmoida. Ideat
    on silti hyvä ymmärtää.
 
Muita neuvoja:
- On järkevää vastata ensin niihin kysymyksiin, jotka osaa. 
    Sitten voi yrittää sitten niitä toisia ... 
   
 
- Jokainen vastaus kirjoitetaan omalle paperilleen (omille papereilleen).
 
- On järkevää käyttää kuvaavia tunnuksia ja kirjoittaa hyvin selkeätä
    ohjelmatekstiä! Silloin tarkastaja saattaa ymmärtää, mitä hivenen
    virheelliselläkin ratkaisulla on tarkoitettu.
 
- Tarkastajille on ohje "jos lausekkeen ymmärtämiseen kuluisi enemmän 
    aikaa kuin 15 sekuntia, lauseketta ei tarvitse yrittääkään ymmärtää".
    On siis syytä kirjoittaa selkeitä lausekkeita.
 
- Luokkaa Lue saa käyttää, jos ei erikseen kielletä, "S.o.p" saa
   käyttää; se tarkoittaa nimenomaan println-versiota.
 
- Harjoitustehtävät ovat tärkeitä.  Alkueläin- ja 
    tossueläinsimulointeja ei kysytä. Viimeisten harjoitusten (5.) 
    Java-API:n tiedostonkäsittelyluokkia ei tarvitse osata ulkoa.
    
 
- Vanhat kokeet ja  vanhan Johdatus ohjelmointiin kurssin 2. 
    välikokeet saattavat  olla kiinnostavia. Linkkipolkujen alkuja löytyy
    kurssin
    pääsivulta.
 Takaisin koetulos ja -selityssivulle.
Takaisin koetulos ja -selityssivulle.