Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
Java-ohjelmointi
Copyright © 1999
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 11.12.1999)
Kurssin koe on torstaina 16.12. klo 12-16.
Salijako:
- A-Q: Porthania PI
- R-T: Porthania PII (HUOM: T-alkuiset siis PII:een!)
- U-Ö: Porthania PIII
Koealue:
- kirjassa:
luvut 2-5 (6), ei kuitenkaan kappaletta 4.3.4 linkitetyistä listoista
(s. 157-162), ei kappeletta 5.3 sarjallistetuista olioista,
luvun 5 tiedostojenkäsittelyluokkia ei tarvitse osata ulkoa,
luvusta 6 riittää ymmärtää perusideat
- WWW-sivuilla:
luvut 2-5 (6), ei kuitenkaan kappaleen 4.6 kohtaa "Pakkaukset
Unixissa/Linuxissa (bash-shell)",
ei kappeletta 5.3 "parista näppärästä tietorakenteesta",
luvun 5 tiedostojenkäsittelyluokkia ei tarvitse osata ulkoa,
luvusta 6 riittää ymmärtää perusideat
- Harjoitustehtävät ovat tärkeitä. Alkueläin- ja
tossueläinsimulaatioita ei kuitenkaan kysytä. Eikä muitakaan
arpajaisia (so. satunnaislukuasioita).
Tärkeitä asioita, vihjeitä, ...
- Luvut 1, 2: Taustatietoja. Kurssi Ohjelmoinnin perusteet
on esitietovaatimus, asiat on siis osattava.
- Luku 3:
- Tiivis kertaus ja täydennys algoritmien laadintavälineistä
- "Varattuja sanoja ei tarvitse osata luetella!"
- Alkeistyypit - viitaustyypit: tärkeä ymmärrettävä.
- 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ä :)
- Keskeytyslauseista break ja continue ei kysytä.
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:
- Tärkeä luku.
- Olio-ohjelmoinnin idea ja kayttötavat,
abstraktin tietotyypin, kapseloinnin idea,
yli- ja aliluokat,
periytyminen
- Ilmentymämuuttujat ja luokkamuuttujat
- Luokan lataaminen ja olion luonti
- Luokan rakenne kaikenkaikkiaan.
- Luokan käyttötavat
- Rajapintaluokkaa ei tarvitse osata käyttää ohjelmoinnissa.
- Pakkausten käyttö Java-tasolla on ymmärretävä, mutta kokeessa
ei kysytä pakkauksista 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ä periaate siinä laajuudessa
kuin materiaalissa on esimerkkejä.
- Jos try-catch- lausetta tai throws-ilmausta jostain syystä joutuu
käyttämään, 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. Idea
on silti syytä hyvä ymmärtää.
Muita neuvoja:
- 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 järkevää 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.)
API-tiedostonkäsittelyluokkia ei tarvitse osata ulkoa.
- Johdatus ohjelmointiin kurssin vanhat 2. välikokeet saattavat
olla kiinnostavia. Niitä löytyy luennointikertojen omilta sivuilta.