Sisu
Test hõlmab endas materjale kuni dünaamilise mälu teema teise osani (realloc), kaasa arvatud. Testis on oluline näidata läbitud teemade korrektset kasutamist. Suurendatud fookus on pandud failist andmete lugemise, viitade, struktuuride, koodi struktureerimise ja dünaamilise mälu kasutamise peale.
Testi kodeerimisülesandes kasutatav andmefail antakse õppejõu poolt koos andmefaili kirjeldusega. Rakendus peab korrektselt töötama sama struktuuri, kuid erineva pikkusega andmefailidega.
Testi algoritmiline pool sisaldab tüüpilisi ülesandeid nagu ekstreemumite leidmine, loendamine, filtreerimine, sorteerimine, ühikute teisendamine (aeg, kiirus, pikkus, …), sõnede töötlemine, statistiliste näitajate leidmine (summa, aritmeetiline keskmine, protsent, standardhälve, …), valemite kasutamine jne. Loetelu on indikatiivne ja mittetäielik!
Testi vältel kodeeritud lahendus kompileeritakse vaikimisi laboriarvuti Linuxile võrdväärses või värskemas keskkonnas, kasutades gcc kompilaatorit (versioon 13 või uuem) ning GNU99 ( -std=gnu99 ) standardit. Makefile olemasolul kasutatakse tudengi poolt esitatud Makefile-i, kompileerides rakenduse make all käsuga.
Korraldus
Testi tohib kirjutada vaid laboriarvutis. Test on individuaalne.
Testi ajal tohid
- Kasutada materjale (slaidid, konspekt, koodinäidised, oma kodutööd, laboriülesannete lahendused)
- Kasutada internetis leiduvat staatilist sisu (nt koodinäidiseid sisaldavad veebilehed, sh StackOverflow, GeeksForGeeks jne)
- Kasutada eelnevalt alla laetud ja P kettale või töölauale salvestatud materjale. Kõik failid lae alla enne testi toimumist. Testi ajal failivahetusrakendusi kasutada ei tohi!
Testi ajal on keelatud
- Sisse logida erinevatesse veebipõhistesse teenustesse oma kontoga (v.a. Moodle)
- Kasutada koostöörakendusi (failivahetus, suhtlus, e-post jne)
- Kasutada koodi genereerimist (GPT, Gemini, … , ja teised keelemudelid)
- Kasutada otsingumootoreid, mis kuvavad automaatselt keelemudelite poolt genereeritud vastuseid (nt Bing)
- Kasutada isiklikke seadmeid (sülearvuti, telefon)
- Kasutada veebipõhiseid koodiredaktoreid ja kompilaatoreid
Esitamine
Testi jooksul loodud lahendus esitatakse terviklikult Moodle keskkonnas. Esitamisele kuuluvad kõik koodifailid, vajadusel ka Makefile.
Testi teooriaosa võib esitada kas paberil käsitsi kirjutatult või digitaalsena tekstifaili kujul. Digitaalse lahenduse korral laetakse teooriaküsimuste vastused koos ülejäänud lahendusega Moodlesse.
Testi toimumine ja kestvus
Test toimub tavapärase praktikumitunni ajal vastavalt nädalate kavale.
Testi sooritamiseks on võimalik kasutada kuni kahte korduskatset
- 13. või 14. nädala konsultatsioonitunnis (teavitatakse Mattermosti vahendusel)
- 16. nädala praktikumitunnis
Test kestvus on ligikaudu 2 tundi ja 30 minutit.
Testi hindamine
Testi nominaalne punktide arv on 40p, mis jaguneb erinevate ülesannete vahel (teooria ja praktiline kodeerimisülesanne). Testi tulemus on osa eksamieeldusest.
Testi teooria osa maht on 10 punkti.
Testi kodeerimisülesande maht on 30 punkti, mis jaotatakse kolme hinnatava alamkategooria vahel:
Koodi kvaliteet, mille raames hinnatakse
- Päisefaili kasutamist, struktuuri ja sisu
- Struktuuride ja loendite otstarbekohast kasutamist
- Koodi tükeldamist korduvkasutatavateks funktsioonideks
- Koodi loetavust
- Koodi kompileeritavust, sh vastavust standarditele
Koodi funktsionaalsus, mille raames hinnatakse
- Kas rakenduse töös esineb vigu
- Kas ja mis mahus täidab rakendus etteantud ülesannet
- Kas rakenduse käitumine ja väljund on arusaadavad
Mälukasutus, mille raames hinnatakse
- Dünaamilise mälu korrektset kasutamist, sh vabastamist
- Määramata pikkusega andmefaili korrektset sisse lugemist
- Andmete terviklikkust
Kategooriate kumulatiivsed punktitulemused esitatakse Moodle testi tagasisides.
Testi tulemus ja tagasiside
Testi tulemus avaldatakse Moodles. Moodle hinnetelehel esitatakse ka testi tagasiside, mis sisaldab hinnatavate alamosade kumulatiivseid punktisummasid.
Põhjalikuma tagasiside saamiseks tuleb võtta ühendust õppejõuga ning leppida kokku aeg töö ülevaatuseks.