Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Kokeet

Koe järjestetään keväällä 2025 kampuksella. Tarvitset mukaan oman kannettavan tietokoneen, jossa on valmiiksi asennettuna Python sekä valitsemasi koodieditori.

Kokeen tehtäväksiannot löytyvät Teamsin kautta kokeen alkaessa ja ratkaisut palautetaan Teamsiin arvioitavaksi.

Normaaliin kurssikokeeseen ei tarvitse erikseen ilmoittautua, mutta mikäli olet uusimassa kurssia, ilmoittaudu aikaisemman toteutuksesi opettajalla viimeistään kaksi viikkoa ennen koetta sähköpostitse.

Tällä sivulla on oleellista tietoa kokeisiin valmistautumiseen sekä järjestelyihin ja käytäntöihin liittyen, joten luethan sen kokonaan, vaikka sivu pitkä.


Tällä sivulla:

Koealue

Kurssin kokeessa koealueena on koko teoriasisältö, eli mooc.fi:n osat 1-7. Kokeessa välttämätöntä osaamista ovat funktiot sekä perustietotyypit ja -kontrollirakenteet. Eri kokoelmat ovat myös tyypillisesti laajasti edustettuna kokeessa.

Kokeen aikataulu

Kokeen kesto on 2,5 tuntia. Mikäli sinulla on erityisopettajan lausunto kokeen lisäajasta, voit käyttää lisäksi erityisopettajan suositteleman lisäajan. Jos lausunnossa ei ole eritelty lisäajan kestoa, koeaikasi on 3 tuntia 15 minuuttia.

Kokeen arvostelu

Hyväksyttyyn suoritukseen eli arvosanaan kokeessa edellytetään vähintään 40 % kokonaispisteistä. Minimipisteet oikeuttavat arvosanaan 1, kun taas 100 % pisteistä oikeuttaa arvosanaan 5. Koearvosanaa ei pyöristetä, eli jokaisella saamallasi pisteellä on merkitystä kurssin loppuarvioinnissa.

Kokeen tehtävät ja luova ongelmanratkaisu

Kokeen tehtävät vastaavat tyyliltään kurssin tavanomaisia ohjelmointitehtäviä. Tehtävänannot sisältävät esimerkkisuorituksia sekä automaattisia testejä, joiden avulla voit kokeilla ratkaisujesi toimivuutta. Automaattisen arvioinnin vuoksi on välttämätöntä, että toteuttamiesi funktioiden nimet ja parametriarvot vastaavat täysin tehtävänantoja. Ohjelmasi ei saa kysyä syötteitä eikä tehdä tulosteita, ellei niitä ole tehtävänannossa mainittu.

Moniin tehtäviin löytyy lukuisia erilaisia ratkaisutapoja. Ennen tehtävän ratkaisua pohdi, voidaanko se ratkaista esimerkiksi listoilla, sanakirjoilla tai kenties jopa ilman kokoelmaa. Jos ratkaisusi kasvaa sadan rivin pituiseksi, löytyisi tehtävään todennäköisesti myös helpompi ratkaisutapa.

Pyöristykset, virheelliset syötteet yms.

Tehtävien automaattisessa arvioinnissa on tärkeää, että ohjelmasi tulostaa esimerkiksi numerot kuten ne on tehtävän esimerkkisuorituksessa esitetty. Oletuksena tehtävissä ei tarvitse pyöristää tai muuten muotoilla numeroita, ellei tehtävänannossa erikseen sitä pyydetä. Liukuluvut tulostetaan siis tyypillisesti “oletusesityksellä”, eli niiden desimaaliosan pituus voi vaihdella. Oletuksena tehtävissä ei myöskään pidä taivuttaa tekstejä eri yksikköön tai monikkoon (“1 tuote” ja “2 tuotetta”), ellei sitä erikseen tehtävässä pyydetä.

Tehtävissä ei tarvitse myöskään varautua virheellisiin syötteisiin tai muihin poikkeustilanteisiin, ellei sitä erikseen pyydetä.

Harjoituskoe

Olemme valmistelleet kokeeseen valmistautumisen tueksi erillisen harjoituskokeen, jonka voitte halutessanne tehdä itsenäisesti oman aikataulunne mukaan. Harjoituskoe löytyy GitHub-palvelusta osoitteesta https://github.com/python-ohjelmointi/harjoituskoe.

Kokeessa tehtävät testataan tehtävänantoihin upotettujen doctest-testien avulla. Doctest-testit eivät vaikuta siihen, miten vastaukset laaditaan, mutta teidän on hyvä osata vähintään suorittaa testit ja tulkita niiden tuottamia raportteja. Harjoituskokeen avulla pystyttekin jo etukäteen tutustumaan näihin asioihin. Doctest-testejä sekä harjoituskoetta käsitellään myös kurssin tapaamisissa sekä Teams-keskusteluissa.

Harjoituskokeessa kukin tehtävä koostuu yhdestä Python-tiedostosta. Tehtävätiedostot sisältävät valmiiksi tehtävänannot sekä automaattiset testit, ja omat ratkaisunne kirjoitetaan jatkoksi näihin samoihin tiedostoihin.

Kokeen pelisäännöt

Kokeessa saa käyttää kurssin tavanomaisia tietolähteitä, kuten Google, Stack Overflow ja mooc.fi. Saat lisäksi tutkia kurssin esimerkkikoodeja ja omia kurssilla kirjoittamiasi koodeja, mutta koodin suora kopiointi kokeen vastauksiin on kiellettyä.

Kokeen ratkaisuissa on sallittua käyttää ainoastaan Pythonin standardikirjastoa. Erikseen esimerkiksi pip-komennolla asennettavat paketit ja kirjastot, kuten NumPy tai pandas, eivät ole sallittuja. Lisäksi suosittelemme, että käytät kokeessa ainoastaan Pythonin ylläpidettyjä versioita, joita käytetään myös ratkaisujesi automaattisessa arvioinnissa.

Kaikki viestintä ja kokeesta keskusteleminen on kiellettyä.

Tehtävän vastauksen generointi tekoälyn avulla on kokeessa kiellettyä. Et saa siis käyttää esim. ChatGPT:tä tai Copilot:ia ratkaistaksesi koetehtävän sellaisenaan. Saat kuitenkin hyödyntää näitä palveluita yksittäisten osaongelmien ratkaisemiseksi.

Ohjelmasi ei saa vilpillisesti harhauttaa tehtävän tarkastimia siten, että se tuottaa oikean vastauksen tehtävässä käytettäville testisyötteille toteuttamatta tehtävänannossa kuvailtua logiikkaa. Tällaiset ratkaisut hylätään, ja tahalliseksi katsottava vilppi voi johtaa myös koko kokeen hylkäykseen ja tutkintosäännön mukaisiin jatkotoimiin.

🆗 Saat hyödyntää hakukoneita tai tekoälyä selvittääksesi esimerkiksi, miten listalta voidaan poimia tietyn ehdon täyttävät arvot tai kuinka tietyt numerot voidaan käydä läpi suurimmasta pienimpään.

⛔ Et saa generoida tekoälyn avulla kokonaista ohjelmaa, joka kysyy käyttäjältä tehtävänannossa esitetyt kysymykset ja tulostaa vaaditut tulosteet.

⛔ Et saa asentaa tai käyttää Pythonin standardikirjaston ulkopuolisia paketteja, kuten NumPy tai pandas.

⛔ Et saa toteuttaa ohjelmaa siten, että se toimii pelkästään esimerkkisuorituksessa esitetyillä arvoilla ilman, että se toteuttaa tehtävänannossa esitettyä logiikkaa.