Ohjelmoinnin jatkokurssi, syksy 2011: koe- ja tulosasioita
(Muutettu viimeksi
19.12.2011,
sivu perustettu 8.12.2011.)
Kurssikoe on maanantaina 12.12.2010 klo 16:00-19:00 salissa A111
(koeaikaa on kaksi ja puoli tuntia!).
Koealue: Luvut 6-13 sekä harjoitustehtävät.
Koekysymykset 12.12.2011
/
Förhör 12.12.2011
Tulosasioita:
[Kaikki tulos- ja tarkistustiedot ovat laitoksen intranetissä,
joten lukeminen vaatii kirjautumisen laitoksen käyttäjätunnuksella.]
Vastaustyylistä ja vaatimuksista:
- Kokeeseen vastataan kynällä, kumilla ja ruutupaperilla!
Mitään muutakaan ei voida...
- Kukaan ei ole kovin kiinnostunut puolipisteistä ja niiden puutteista
— paitsi kääntäjä, joka ei kuitenkaan koskaan näe näitä koevastauksia...
- Kokeesta voi saada enimmillään 30 pistettä (harjoituksista voi saada
samoin 30 pistettä).
Kurssilla on käytössä ns. "koeleikkuri": koepisteitä on saatava vähintään 15.
Kurssin suorittaminen edellyttää vähintään yhteensä 30 pisteen saamista.
- 6 Ohjelmointitekniikkaa: ArrayList, lausekkeita, keskeytyslauseita,
komentotulkki, rekursio:
Ehdollista lauseketta ei pyydetä käyttämään. Saa toki käyttää.
Muutenkaan mitään erityistä lause- tai lauseketyyppiä ei pyydetä
käyttämään tai selittämään. Mutta ilman niitä ei tietenkään
voi ohjelmoida...
Komentotulkkilogiikka on syytä osata.
Rekursiosta ei kysytä mitään eikä sitä pyydetä käyttämään.
ArrayListin käyttötaito on hyvä osata. Jos tarvitaan
kokeessa API-kuvausta annetaan.
- 7 Luokkamäärittelyn mahdollisuuksia:
Luokkamuuttujia ei pyydetä käyttämään eikä selittämään.
Luokan lataaminen ja olion luonti on syytä ymmärtää.
Julkisia kenttiä ei pyydetä käyttämään eikä selittämään.
Ohjelmakirjaston idea on hyvä ymmärtää.
Kohta "Linkitetyt rakenteet" ei kuulu koealueeseen.
- 8 Periytyminen:
Yksi keskeisimmistä luvuista.
Periytyminen on osattava sekä selittää että ohjelmoida.
Ja on syytä muistaa, että yliluokan yksityiseen kalustoon
ei aliluokasta kerta kaikkiaan pääse käsiksi.
Konstruktorit ja periytyminen on tiedettävä ja taidettava,
samoin perityn metodin syrjäyttäminen.
Samoin ilmausten super ja super(...)
merkitys ja käyttö on tiedettävä ja taidettava.
- 9 Abstraktit luokat ja rajapintaluokat:
Yksi keskeisimmistä luvuista.
Abstraktit luokat ja rajapintaluokat tyyppeinä
on ymmärrettävä ja niitä on osattava käyttää ohjelmoinnissa.
Myös koukkumetodin idea on taidettava ja tiedettävä.
Polymorfismi on osattava selittää –
käyttötaitohan selviää jo noista edellisistä taidoista.
Myös sovelluskehyksen idea on ymmärrettävä.
- 10 Poikkeukset – heittäminen, sieppaaminen ja piittaamattomuus:
Poikkeusten käsittelystä on ymmärrettävä perusperiaatteet.
Jos ja kun try-catch-lausetta tai
throws-ilmausta tarvitaan, riittää osata käyttää poikkeusten
yliluokkaa Exception.
Tarkistetuista ja tarkistamattomista poikkeuksista ei kysytä,
ei myöskään "staattisesta luontimetodista".
- 11 Ohjelmointitekniikkaa: tiedostoja:
On syytä osata tekstitiedostojen lukemista ja kirjoittamista.
Luokkien File, PrintWriter ja Scanner yksinkertainen käyttötaito
on siis syytä osata. Näiden API-määrittelyä ei anneta kysymyspaperissa.
Myös poikkeusten yksinkertainen hoitotaito tiedostojen käsittelyssä
on syytä osata.
Syöttövirtojen uudelleenohjauksesta tai putkista ei kysytä kokeessa.
Sarjallistaminen ei kuulu koealueeseen.
- 12 Ohjelmointitekniikkaa: geneeriset kokoelmaluokat:
ArrayList<E>- ja HashMap<K,V>-luokkien
yksinkertainen käyttö on hyvä osata.
Jos ja kun niitä pyydetään käyttämään, tarpeellinen osa API-määrittelyä
annetaan kysymyspaperissa.
Rajapintaluokista List ja Map ei kysytä mitään
kokeessa. Omien geneeristen luokkien laatiminen ei kuulu koealueeseen.
- 13 Ohjelmointitekniikkaa: gui ja tapahtumaohjattu ohjelma:
Graafisia sovelluksia tai sovelmia ei kokeessa pyydetä
ohjelmoimaan.
Niiden – ja samalla tietenkin tapahtumaohjatun ohjelman periaatteen
– selittämisen taito on syytä osata.
- On järkevää käyttää kuvaavia tunnuksia ja kirjoittaa hyvin selkeätä
ohjelmatekstiä! Näin tarkastaja saattaa ymmärtää, mitä hivenen
virheelliselläkin ratkaisulla on tarkoitettu.
- On järkevää vastata ensin niihin kysymyksiin, joihin osaa vastata.
Jos aikaa jää, voi toki yrittää vastata niihinkin, jotka osaa huonommin...
- 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.