Programmeerimise ülesande koostamine
Sissejuhatus
Ülesannete lahendamine on kesksel kohal programmeerimise õppimisel. Isegi kui muidu saab kasutada valmis (nt MOOCi) materjale, siis vähemalt osaliselt peaks õpetaja ikkagi oma originaalseid ülesandeid kasutama. Ühelt poolt võimaldab see kursusele anda iseomast koloriiti, teiselt poolt aga vähendab võimalust, et õpilased juba kuskil kellegi poolt tehtud lahendusi enda omade pähe pakuvad.
Vaatleme ülesande kahte aspekti
- (pseudo)elulist vormi (teksti) ja
- tehnilist sisu.
Tekst
Tegelikult ei pea tekst olema muidugi (pseudo)eluline, võib olla ka väga programmeerimisteemaline - koostage programm, mis leiab järjendi positiivsete elementide summa. Siiski tunduvad paljudele elulised ülesanded põnevamad. Vahel küll võib elulisus ka häiriv olla. Näiteks siis, kui tekstis on faktivigu. Ajab ju leili, kui ülesandes on kroomi ja krüptooni keemilised sümbolid Cr ja Kr segi aetud!
Elulise teksti koostamine võib olla väga köitev. Näiteks võib hulk (kvaliteet?)aega minna dekoratiivtaimede kohta info otsimisele, kui on tulnud mõte sellest valdkonnast ülesanne teha. Või lennujaamade ja -liinide või elektrikaablite lubatud paigaldustemperatuuride info otsimisele, kui just sellised mõtted on tulnud. Muidugi võib elulisus tulla ülesande koostaja elust ja siis polegi sügavalt vaja infot otsida.
Hea ülesanne võiks anda lahendajale mingi kujuteldava pildi silme ette või helipildi kõrvu!
Ühelt poolt võib olla üsna loomet toetav jätta ülesandes midagi täpselt spetsifitseerimata. Teiselt poolt aga võib siis näiteks kontrolltöö ajal näha õpilast, kes tükk aega mõtleb välja nimesid inimestele, kes lahenduses peavad tegevad olema.
Otsustada tuleb (isegi kogu kursuse mõttes), millist stiili kasutatakse. Näiteks vormid “koosta”, “koostage”, “koostada” kannavad erinevat tonaalsust. Ülesannete tekstid peaksid olema võimalikult korrektsed ka keelelises mõttes. Osasid inimesi võib puuduv koma, vale kääne või mõni muu viga tõsiselt häirida. Väga soovitav oleks lasta tekst kellelgi enne kasutamist läbi vaadata.
Programmeerimine
Ükskõik kui hoogu me vormiga ka ei läheks, on väga oluline ülesande tehnilise sisu osa. Milliste programmeerimiskonstruktsioonide kasutamise kontrollimiseks see ülesanne on? Kas on vaja seada täpsemad nõuded millegi kasutamiseks (või mitte kasutamiseks)?
Ülesanne võib olla mingi üsna konkreetse oskuse kontrollimiseks või siis (eriti kursuse lõpupoole) komplekssem. Kui näiteks tahame kontrollida, kas õpilane oskab funktsiooni defineerida ja seda kasutada, võimegi ülesandes konkreetselt vastavalt nõuda. Defineerige funktsioon see-ja-see ning koostage programm, kus seda funktsiooni rakendatakse nii-ja-nii. Täpsustuseks võivad ülesande tekstile olla lisatud näited, kus funktsiooni on konkreetsete argumentidega testitud. Samuti aitab lahendajal ülesandest aru saada programmi kasutamise näide, kus näidatakse programmi töö tulemust kasutaja konkreetsete sisestuste ja/või loetavate failide põhjal. (Näitena võib vaadata Kursuse Programmeerimise alused arvestusülesannet.)
Isemõeldava suurema ülesande puhul võib anda ka loetelu konstruktsioonidest/vahenditest, millest mõned võib jätta kasutamata.
Ülesande koostamise protsess
Nagu ülal kirjutatud, võib ülesande koostamine sisaldada ka info otsimist, mis ühtlasi annab autorile uusi teadmisi mingist valdkonnast. Siin võib varitseda oht, et järjest lugedes ja infot otsides võib internetti ära kaduda.
Inspireeriv võib olla mitmekesi ülesande koostamine. Korraga või üksteise järel ülesandega tegelemine viib tavaliselt parema tulemuseni kui üksinda nokitsemine. Kuna ülesanne tuleb kindlasti enne õpilastele esitamist läbi lahendada, siis võib seda just teine inimene teha. Tegelikult aga võib ülesande koostamist hoopis lahendamisest alustadagi. Nii saab kohe paremini aru, kas lahendus toimib.
10 mõtet, mille toetuda ülesande koosatamisel
- Määra teadmised-oskused, mida ülesande lahendamine arendab ja kontrollib.
- Mõtle sihtrühma peale. Millised on nende eelteadmised?
- Mõtle ülesande raskusastme peale. Kas keskmine õpilane suudab seda ülesannet lahendada?
- Inspiratsiooni ammutamiseks vaata, mis ümber ringi toimub, või uuri juba tehtud ülesandeid.
- Püüa ülesanne muuta eluliseks või õpilasi puudutavaks. Sobivad ka pseudoelulised ülesanded.
- Mõtle ülesande tagasiside peale. Kas annad suulist tagasisidet või on tagasiside automaatne? Kas arutatakse lahendusi rühmas?
- Püüa kaasata ülesande koostamisse teisi, näiteks kolleege või teevad ülesandeid õpilased ise.
- Loe mitu korda ülesanne läbi ja lase ka kellelgi teisel seda lugeda.
- Lahenda ülesanne läbi.
- Kui sulle oli huvitav ülesannet koostada ja lahendada, siis on ka õpilastel huvitav.