Harjoitustehtävät
Tällä sivulla annetaan yleisiä ohjeita kurssin harjoitustehtäviin liittyen. Tehtävänannot ja oheismateriaali löytyvät toiselta sivulta.
Parityöskentely
Kaikki tämän kurssin harjoitustehtävät on tarkoitettu tehtäviksi pareittain. Niinpä työparin etsiminen jo heti kurssin alussa on erittäin suositeltavaa. Apuna voi käyttää esimerkiksi kurssin keskusteluryhmää tai IRC-kanavaa.
Tehtävät saa halutessaan tehdä myös yksin. Paria saa vaihtaa tehtävien välillä.
Pareittain työskennellessä tarkoitus on, että pari tuottaa tehtäviin ratkaisut yhdessä, mielellään saman tietokoneen ääressä työskennellen. Pohtikaa ja keskustelkaa. Kumpikin vuorollaan voi toimia kirjurina ja kirjoittaa ohjelmakoodia yhdessä päättämällänne tavalla. Jos haluatte, voitte katsoa lisävinkkejä ns. pariohjelmoinnista kurssin linkkisivulta.
Molempien parin jäsenten on oltava perillä kaikesta parin tuottamasta ohjelmakoodista. Ei ole suotavaa, että yksi opiskelija laatii yksinään yhden osan ohjelmasta ja toinen toisen.
Tehtäväkierrokset ja -tasot
Harjoitustehtävät jakautuvat ajallisesti kymmeneen "kierrokseen". Tehtäväkierrokset suljetaan porrastetusti, useimmiten viikon välein. Suljetun kierroksen tehtäviä ei voi enää palauttaa arvosteltaviksi. Deadlinet löytyvät alta ja tehtävänantosivulta.
Tehtävät jakautuvat kierrosten lisäksi "tasoihin": A-, B- ja C-tehtäviin. Eri tehtävätasoja voi luonnehtia kurssin tavoitteiden ja arvosteluperusteiden valossa näin:
A-taso | Nämä tehtävät opettavat kurssin vähimmäistavoitteisiin liittyviä asioita, jotka kaikkien kurssin läpäisevien opiskelijoiden pitää osata. |
---|---|
B-taso | Nämä tehtävät opettavat jatkokursseilla tarpeellisia asioita. Ne eivät ole pakollisia, mutta niiden tekemistä suositellaan kaikille, jotka aikovat ottaa lisää ohjelmointikursseja tämän kurssin jälkeen. Siis valtaosalle kurssilaisista. |
C-taso | Nämä tehtävät ovat vapaaehtoisia ja tarkoitettu niille, jotka haluavat oppia mahdollisimman paljon ja/tai saada mahdollisimman hyvän arvosanan. |
Korkeampien tasojen tehtävät eroavat alempien tasojen tehtävistä aihepiireiltään ja/tai vaikeustasoiltaan. Yhden C-pisteen saaminen vaatii tyypillisesti enemmän työtä kuin B-pisteen, joka puolestaan on työläämpi saada kuin A-piste.
Tehtävien palauttaminen
Tehtävät palautetaan WWW:ssä toimivaan Goblin-nimiseen järjestelmään. Goblin antaa palautetta ja pisteyttää palautetut ratkaisut. Goblinista kerrotaan lisää erillisellä sivulla.
Arvosanan muodostuminen
Tehtäväarvosana on välillä 0-4 ja vähintään ykkönen on saatava läpäistäkseen kurssin. Tehtäväarvosana on ylivoimaisesti tärkein kurssin kokonaisarvosanaan vaikuttava tekijä (ks. kurssiesite).
Kustakin tehdystä tehtävästä saa pisteitä -- eri tehtävistä eri määriä. Arvosana muodostuu laskemalla kustakin kolmesta tehtävätasosta saadut pisteet ja vertaamalla niitä seuraaviin arvosanarajoihin. Tiettyyn arvosanaan tarvitaan vähintään tietty määrä pisteitä yhdestä tai useammasta tehtävätasosta (taulukko alla). Sillä ei ole arvosanan kannalta merkitystä, miltä kierrokselta kyseiset pisteet tulevat. Tehtävien jako kierroksiin vaikuttaa vain palautusdeadlineihin.
Arvosanarajat
Taso | A | B | C | Kuvaus (vrt. tavoitesivu) |
---|---|---|---|---|
Arvosana 1 | 1400 | - | - | Vähimmäistavoitteet saavutettu |
Arvosana 2 | 1450 | 650 | - | |
Arvosana 3 | 1450 | 800 | 160 | Vastaa suunnilleen jatkokursseille riittävää osaamistasoa |
Arvosana 4 | 1450 | 800 | 500 | |
maksimipisteet | 1630 | 900 | 600 | yli nelosta ei kuitenkaan voi saada tehtävistä |
Esimerkiksi saadakseen arvosanan 3, pitää siis tehdä:
- Vähintään 1400 pisteen edestä A-tason tehtäviä...
- sekä vähintään 800 pisteen edestä B-tason tehtäviä...
- sekä vähintään 160 pisteen edestä C-tason tehtäviä.
Tarjolla olevat pisteet
Tässä taulukossa näkyy tarjolla olevien pisteiden jakautuminen eri kierroksille. Tarkempia tietoja yksittäisistä tehtävistä ja niiden pistearvoista tehtävänantosivulla.
A | B | C | Deadline | |
---|---|---|---|---|
Kierros 1 | 150 | - | - | to 27.09. klo 23.59 |
Kierros 2 | 350 | - | - | to 04.10. klo 23.59 |
Kierros 3 | 280 | - | - | to 11.10. klo 23.59 |
Kierros 4 | 390 | 120 | - | to 18.10. klo 23.59 |
Kierros 5 | 80 | 90 | 90 | to 01.11. klo 23.59 |
Kierros 6 | - | 140 | 90 | to 08.11. klo 23.59 |
Kierros 7 | 150 | 240 | 80 | to 15.11. klo 23.59 |
Kierros 8 | 50 | 120 | 200 | to 29.11. klo 23.59 |
Kierros 9 | - | 100 | 50 | to 06.11. klo 23.59 |
Kierros 10 | 240 | 90 | 90 | to 13.12. klo 23.59 |
Yhteensä | 1670 | 900 | 600 |
Pisteiden korvaaminen
Jos pisteitä jää uupumaan jostakin tehtävätasosta, niitä voi korvata ylempien tehtävätasojen pisteillä. Esimerkki: oletetaan, että sinulla on 1300 pistettä A-tason tehtävistä ja 800 pistettä B-tason tehtävistä. Näinollen:
- Näillä suorituksilla tulee arvosanaksi kaksi, koska 150 B-tason pistettä voidaan "siirtää" A-tasolle. Näin päästään 1450 A-pisteeseen ja B-pisteitä jää silti kakkoseen tarvittavat 650.
- Arvosanan voi nostaa kolmoseen tekemällä vielä 310 pisteen edestä tehtäviä, joista ainakin 160 pistettä pitää tulla C-tehtävistä.
B-pisteillä voi siis korvata A-pisteitä. C-pisteillä voi korvata B- tai A-pisteitä. "Ylimääräisillä" pisteillä A-tasolta ei voi korvata mitään.
"Aargh! En mä osaa laskea noita eri tasojen pisteitä!"
Koska arvosanan muodostaminen menee joissain tapauksissa hieman monimutkaiseksi, on Goblin-palautusjärjestelmässä tarjolla arvosanalaskuri, joka helpottaa arvosanan laskemista ja omien hommien suunnittelua. Laskuri löytyy valitsemalla Goblinista valikko "Tehtävät".Hyviä vinkkejä
Harjoitustehtävät ovat kurssin tärkein osa - ota ne vakavasti. Ohjelmointia on mahdollista oppia ainoastaan kovalla työllä ja harjoittelemalla.
Ei missään tapauksessa kannata jättää harjoitustehtävien tekemistä viime tinkaan ennen kierroksen sulkeutumista. Tehtävien tekemiseen menee monella kurssin mittaan lähes tai ylikin sata työtuntia. Harjoitustehtäviä voi aloittaa tekemään niin aikaisin kuin haluaa ja kunkin harjoitustehtävän aihepiirit käsitellään luennoilla tavallisesti vähintäänkin kaksi viikkoa ennen kyseisen kierroksen sulkeutumista. On suositeltavaa tehdä tehtävät mahdollisimman pian tämän jälkeen.
Esimerkkiratkaisut
Päättyneiden tehtäväkierrosten esimerkkiratkaisut julkaistaan Goblinissa.
Itsestäänselvyyksiä
Harjoitustehtävien ratkaisujen kopiointi ei ole sallittua. Samoin kiellettyä on pisteiden hankkiminen yrittämällä harhauttaa automaattista tarkastusjärjestelmää. Kopioimisella ja muilla väärinkäytöksillä on seuraamuksia ja opiskelijoiden kirjoittamia ohjelmia tutkitaan myös tässä mielessä.