Slika 5: Problem ročno napisane kode1
Testiranje in razhroščevanje kode je torej sestavni del programiranja in tega je študent pri klasičnih izpitih prikrajšan. CodeRunner omogoča, da lahko študent najprej testira svojo kodo v svojem programskem okolju ter odpravi morebitne napake, šele nato pa jo odda preko spletnega brskalnika. Učitelju tako ni treba ročno ocenjevati naloge, kar je še posebej koristno pri velikih skupinah študentov.
2.1.1 Uporaba CodeRunnerja
CodeRunner se uporablja na Univerzi Canterbury (Nova Zelandija) za učenje programiranja v programskih jezikih Python, C, Octave in Matlab. Koda CodeRunnerja je dobro dokumentirana in ima preprosto strukturo, zato ga je mogoče nadgraditi tudi za uporabo v drugih programskih jezikih. V kombinaciji s sistemom Moodle je zelo uporaben pri izvajanju laboratorijskih vaj, sestavljanju domačih nalog, kvizov in tudi zaključnih izpitov. Izredno uporaben je pri začetnih tečajih programiranja, kjer potrebujejo študenti veliko vaje za reševanje osnovnega problema in se tako najlažje naučijo sintaktičnih pravil ter tehnik programiranja v novem programskem okolju.
Za sistem CodeRunner imamo možnost postavitve lokalnega strežnika Jobe[Ric16]. Smiselno ga je postaviti, če bomo orodje CodeRunner uporabljali v širše namene. Za osnovno preverjanje lahko uporabimo tudi strežnik, postavljen na Univerzi Canterbury. Vendar pa ima taka nastavitev določene omejitve. Lokalni strežnik nam omogoča izvajanje več nalog hkrati (več kot 60 nalog v minuti), lahko ga tudi zaščitimo z API-ključem[API15] in tako poskrbimo za varnost, saj strežnik ne bo sprejel nobene kode iz zunanjega okolja brez ustreznega API-ključa. Več o namestitvi Jobe strežnika in zaščiti z API-ključem bo zapisanega v nadaljevanju diplomske naloge, natančneje v poglavju 3.
Ker se kvizi vse več rešujejo kar preko spleta, jih lahko študenti rešujejo tudi kasneje doma. Pri oddaji kvizov dobijo tako takojšen odziv glede uspešnosti rešenih nalog, in sicer brez fizičnega posega učitelja pri vrednotenju naloge. To je velika prednost, saj se lahko učitelj na laboratorijskih vajah posveti reševanju problematičnih nalog, obenem pa več časa nameni študentom, ki potrebujejo dodatno pomoč. Izkazalo se je, da je študentom takšen način učenja všeč, ker dobijo takojšne povratne informacije, ali so nalogo rešili pravilno ali ne. V primeru napačnega odgovora stremijo k pravilnim rešitvam in le redko nerešijo nalog, kar jih še dodatno motivira.
2.2 Delovanje CodeRunnerja
Če želimo sestavljati vprašanja v CodeRunnerju, je smiselno najprej pogledati, na kakšen način le-ta sploh deluje. prikazuje shemo delovanja CodeRunnerja po korakih, ko študent odda svoj odgovor.
|