Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
Java-ohjelmointi
Copyright © 2004
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 22.6.2004)
Koealue:
- kirjassa:
luvut 2-5 (6), ei kuitenkaan kappaletta 4.3.4 linkitetyistä listoista
(s. 174-179), 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ä kirjan 4. täydennetyssä painoksessa (2003)
on mmutama hyödyllinen täydennys vanhempiin painoksiin verrattuna.
Näiden täydennysten "raakaversiot" löytyvät myös www-sivuilta:
-
Esimerkki luokkamuuttujan käytöstä: Jonotuskone
luvussa 4.2
-
Esimerkki luokkametodin käytöstä: laajennettu Jonotuskone
luvussa 4.2
-
"Nelikenttä" (julkinen-yksityinen, luokka-ilmentymä)
luvussa 4.2
-
Pieni esimerkki abstraktin luokan yhdestä käyttötavasta
luvussa 4.4
- 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 ja 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ää. Niitäkään ei kokeessa kysytä.
Muita neuvoja:
- Kannattaa muistaa, mistä kokeessa oikeastaan on kysymys ja mistä ei:
Koevastaus on teksti, jolla tarkastaja saadaan
uskomaan - tai edes luulemaan - että vastaaja osaa asiat.
Ajattele koetilanteessa tarkastajan psykologiaa,
älä omaa intoasi tai ahdistustasi!
Koe on kuin esitys, jonka vastaanottaja on tarkastaja.
- On järkevää vastata ensin niihin kysymyksiin, jotka osaa.
Sitten voi yrittää sitten niitä toisia ...
- 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 tarkoittakoon 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.