Mikko Olin Arvostelukriteerit - Ohjelmoinnin perusteet, kurssikoe 14.11.2003, tehtävä 1 ===================================================== *Milloin metodin muuttuja syntyy? (max. 2.5 pistettä) Täysiin pisteisiin oikeuttavan vastauksen tuli sisältää seuraava tieto eksplisiittisesti mainittuna, muodossa tai toisessa: "metodin muuttuja syntyy metodia kutsuttaessa" *Arvostelussa ei otettu kantaa siihen syntyvätkö metodin lähdekoodin keskellä määritellyt muuttujat metodin suorituksen alussa vai vasta määrittelyn kohdassa. Mainintaa asiasta ei vaadittu täysiin pisteisiin ja kummastakin vastauksesta sai täydet pisteet *Milloin metodin muuttuja syntyy? (max. 2.5 pistettä) Täysiin pisteisiin oikeuttavan vastauksen tuli sisältää seuraava tieto: "metodin muuttuja häviää metodin suorituksen päätyttyä." *Vastauksesta tuli tulla ilmi, että metodin muuttuja katoaa aina metodin suorituksen päätyttyä. *EI vaadittu eksplisiittistä mainintaa, ettei metodi muista kutsukerrasta toiseen yhtään mitään. Päinvastaisesta käsityksestä seurasi nolla pistettä. *Metodin muuttujan ja viitesemantiikan käsitteellisestä sekoittamisesta seurasi nolla pistettä. Metodin muuttuja katoaa aina sen suorituksen päätyttyä. Eli vastauksissa, joissa METODIN MUUTTUJAN häviämisen ehdoksi määriteltiin viiteettömyys seurasi nolla pistettä. ======================================== *Milloin olio syntyy? (max. 2.5 pistettä) Täysiin pisteisiin oikeuttavan vastauksen tuli sisältää seuraava tieto: "Olio syntyy operaation new-tuloksena" *'Olio syntyy konstruktorin kutsumisen seurauksena' oli virheellinen vastaus ja ainoastaan sellaisenaan siitä seurasi nolla pistettä. Seuraavin poikkeuksin: *Jos kontekstissa esitettiin lähdekoodia, josta eksplisiittisesti tuli ilmi, että new-operaation käyttöä seuraa konstruktorin kutsu ja olion synty-> täydet pisteet. *Jos kontekstissa esitettiin lähdekoodia, jossa new-operaation käyttö esiteltiin, mutta siitä ei tullut eksplisiittisesti ilmi sitä seuraava olion synty -> -1 piste *Toimivan lähdekoodin esittelystä ei saanut pisteitä, ilman asianmukaista selitystä. Kts. edellinen kohta. *Täysin virheellisistä selityksistä seurasi nolla pistettä *Viittauksen ja luomisen sekoittamisesta seurasi nolla pistettä *Oliota ei synnytetä viittaamalla siihen *Syntyminen edeltää viittaamista *Milloin olio häviää? (max. 2.5 pistettä) Täysiin pisteisiin oikeuttavan vastauksen tuli sisältää seuraavat kaksi välttämätöntä ehtoa olion häviämiselle: "A) Siihen ei ole viittauksia B) Roskienkerääjä huolehtii lopullisesta olion poistamisesta" *Ei mainintaa roskienkerääjästä -> -1 piste *Ei mainintaa viitteetömyydestä -> 0 pistettä Nämä kaksi kriteeriä tuli tulla eksplisiittisesti ilmi vastauksesta, joka oikeutti täysiin pisteisiin. Virheellisiä vastauksia(nolla pistettä) olivat mm: *Olio ei häviä koskaan *Olio häviää pääohjelman suorituksen jälkeen *Olio häviää kun poistutaan osiosta, jossa olio luotiin ============================================ Lisäksi oli yleisiä arvostelukriteereitä: *Käsitteellinen epäselvyys: -1 piste *Vähäisiä virheitä esimerkkikoodeissa: -1 piste. Todella karkeita virheitä ei esimerkkikoodeista löytynyt.