Automaatne tagasiside
Automaatse tagasisidega ülesanded on väga olulised MOOCides (ingl Massive OPen Online Course), kus osaleb tuhandeid inimesi, sest ülesannete lahenduste käsitsi hindamine oleks ajamahukas ja mõeldamatu. Automaatsest tagasisidest on kasu ka õpetajatele, kes saavad sellist tagasisidet õpetamisel rakendada. Meie oleme e-kursustel, aga ka ülikoolis statsionaarsetel programmeerimise kursustel kasutanud erinevaid vahendeid, mis annavad automaatset tagasisidet: testid, enesekontrollitestid, automaatkontrolliga programmeerimise ülesanded ja murelahendaja.
Testid
Teste saab koostada vastavalt eesmärgile ja kasutada erinevat tüüpi küsimusi: valikvastusega, mitmikvastustega, avatud küsimused ja palju muud. Iganädalaste testide peamine eesmärk programmeerimise e-kursustel on tagada, et õpilane on lugenud ja mõistnud kursuse õppematerjali, ning anda õpilasele ja korraldajatele selle kohta tagasisidet. Programmeerimise kursustel oleme loonud teste kümne küsimusega kursuse õppematerjali kohta, kus on peamiselt valikvastustega küsimused koos lühikeste programmide näidetega, mille abil kontrollitakse, kas õppija suudab programme mõista ja analüüsida.
Sõltuvalt vastusest saab õpilane positiivset või negatiivset tagasisidet. Kui vastus on vale, siis pärast esitamist õiget vastust ei kuvata, vaid esitatakse kasulik vihje õige vastuse kohta. Lisaks on testides avatud lühivastusega küsimusi, kus õppija peab oma vastust selgitama. Testidele võib õppija vastata korduvalt ja seeläbi õppida testi tagasisidest ning parandada tulemust. Samas võivad õpilased testi ära lahendada proovimise teel ilma, et analüüsiks saadud tagasisidet. Siinkohal on oluline roll õpetajal, kes saab koos õpilasega tulemused läbi arutada ja kontrollida, kas õpilane on õigesti aru saanud.
Testi küsimuste loomise üks peamisi raskusi on luua küsimused, mis mõõdavad seda, et õpilane on vajalikud teadmised omandanud. Teste õppematerjali kohta saab väga hästi kasutada ümberpööratud klassiruumi mudeli puhul (täpsemalt tuleb sellest juttu IV moodulis), kus testide abil saab kontrollida, kas õpilane on kodus materjali piisavalt läbi töötanud.
Testi küsimuse näide
Automaatkontrolliga programmeerimise ülesanded
Automaatkontrolliga programmeerimise ülesannete korral kontrollitakse, kas lahendus vastab ülesandes esitatud nõuetele ja annab selle kohta tagasisidet. Programmi õigsuse määrab see, kas esitatud lahendus väljastab eeldatavad andmed, võttes arvesse programmile etteantud sisendandmeid. See võimaldab meil automaatselt kontrollida, kas esitatud programm koos meie poolt määratud sisendandmetega, annab väljundi, mis on õige konkreetse ülesande puhul. Automaatkontrolliga programmeerimisülesannete tagasisides on info selle kohta, millist väljundit oodati ja milliste sisendandmetega programmi kontrolliti.
Automaatkontrolli koostamisel esineb väljakutseid, millega peab arvestama. Esiteks peab automaatkontroll täpselt kontrollima, kas lahendus vastab ülesandes esitatud nõuetele. See on keeruline, kuna programm on looming ning alati ei ole üht õiget lahendust. Automaatkontroll peab arvestama kõigi erinevate lahendustega, mida õpilased esitavad. Teiseks peab automaatkontrolli tagasiside olema edasiviiv, mis annab piisavalt infot selle kohta, mida õpilane peaks parandama. Sellepärast annavad meie automaatkontrollid tagasisidet ka näiteks ülesandes nõutud funktsioonide, mitte ainult soovitud väljundi õiguse kohta. Selleks, et automaatkontrollid oleksid piisavalt tõhusa tagasisidega, peaksid need andma ka õpilasele selgitusi tema tugevuste ja nõrkuste kohta. Hetkel ei ole veel automaatkontrollid nii võimekad, kuid mitte väga kauges tulevikus on see täiesti võimalik tänu tehisintellektikale.
Vaatamata väljakutsetele on automaatkontrollist palju kasu. Kõige olulisem automaatse tagasiside puhul on, et see on kohene ja ei nõua palju inimressurssi. See võimaldab anda tagasisidet paljudele korraga ja samuti saab õppija kasutada seda korduvalt lahenduse vahetulemuste kontrollimiseks.
Automaatkontrolli näide
from grader import * from rattad import * from random import randint FUNCTION_NAME = 'vahimatest_suurim' # Lahendus on eemaldatud def solution(mat): pass def random_matrix(): rows = randint(1, 10) cols = randint(1, 5) result = [] for i in range(rows): row = [] for j in range(cols): row.append(randint(-10, 10)) result.append(row) return result def gen_test(test_arg,desc): @test @expose_ast @set_description(desc) def do_test(m, AST): must_not_have_input(AST) must_have_func_def_toplevel(m.module, FUNCTION_NAME) actual_func_node = get_function_def_node(AST, FUNCTION_NAME) must_have_n_params(actual_func_node, 1) actual_func_obj = get_function(m.module, FUNCTION_NAME) must_have_equal_return_values(solution, actual_func_obj, FUNCTION_NAME, test_arg, args_repr=matrix_repr(test_arg)) # Testjuhud a = [[1, 2], [1, 0]] gen_test(a, 'Lihtne maatriks 1') for i in range(10): gen_test(random_matrix(),'Juhuslik maatriks {}'.format(i))
Soovi korral võid tutvuda teekidega rattad ja grader.
Enesekontrollitestid
Programmeerimise kursuste õppematerjalidesse on lisatud lühikesi enesekontrolliteste, mille eesmärk on aidata õppijatel end hinnata, kuivõrd said nad õppematerjalist aru. Testides on igal vastusel tagasiside, kus selgitatakse miks vastus on õige või vale. Õppematerjalide koostamisel on lähtutud sellest, et õppija saaks õppida ka katsetamise teel.
Enesekontrollitesti näide
Murelahendaja
Programmeerimise ülesannete lahendamise toetamiseks on materjalidesse lisatud ka murelahendajad. Murelahendajate eesmärk on suunavate küsimuste abil aidata õppijal lahendada probleeme, mis võivad ülesande lahendamisel tekkida. Murelahendaja ei anna õiget vastust, vaid suunab õppijat õige lahenduse poole.
Murelahendaja näide
IKT vahendid
Tänapäeval on õpetaja käsutuses mitmeid IKT vahendeid, mille abil tagasisidet anda ja saada. Erinevate IKT tagasiside vahendite valiku tegemisel tuleks lähtuda sellest, millist tagasisidet õpilane või õpetaja vajab ja mis on tagasiside eesmärk. Näiteks kui eesmärk on saada tagasisidet paljudelt õpilastelt tunni käigus, siis on sobilik kasutada näiteks klikkereid. Siin on esitatud loetelu IKT vahenditest, mida saab kasutada õpetaja tagasiside saamiseks ja andmiseks:
Testide tegemine:
- Socrative - erinevat liiki küsimused (valikvastused, tõene või väär, lühivastus) ja tingimused testi läbimiseks (vastaja kiirus, õpetaja juhitud jms). Saab lisada selgitusi vastusevariantidele, mille vastaja saab pärast esitamist. Saab korraldada võistlust rühmade vahel. Töötab ka nutiseadmes.
- Classtime - sarnased võimalused nagu Socrative'i keskkonnas.
- EdPuzzle - videotestide koostamise keskkond, kus saab video kohta esitada küsimusi.
- PlayPosit - teine keskkond videotestide koostamiseks.
Klikkerid ja enesekontrollitestid:
- Kahoot - mänguline platvorm, kus teha lühiteste valikvastustega. Õpilased saavad võistelda. Vaja on ekraani, kus näidata küsimusi ja vastusevariante ning arvuteid/nutiseadmeid õpilastele vastamiseks.
- Quizizz - analoogne Kahootile, aga ei vaja ekraani ning saab anda ka kodus lahendamiseks.
- Quizlet - analoogne Kahootile.
- Plickers - saab koostada valikvastustega küsimusi. Igale õppijale trükitakse välja (40 kaarti komplektis) tema kaart ja sisestatakse arvutisse, mis numbriga kaart on mis õppijal. Õpilased hoiavad vastuste kaarte üleval ja õpetaja oma nutivahendist skännib sisse, kes on vastanud õigesti ja kes valesti.
- Mentimeter - kuigi algselt hääletusvahend, on sellel juures nüüdseks teadmiste kontrolli (Quiz) võimalus. Saab ka kaugjuhtida slaide.
- Poll Everywhere - lühitestide tegemise keskkond. Saab Google Slides’is kasutada pistikprogrammina.
- H5P - saab luua erinevaid vahendeid õppematerjali rikastamiseks. Lisaks testidele saab luua näiteks ka slaide, kuhu on integreeritud erinevat tüüpi küsimused. Saab luua ka mänge. Väga hea vahend, mida kasutada e-õppes.
- LearningApps - paljude erinevate võimalustega (lisaks individuaalsele lahendamisele on ka võistluse võimalus). Keskkond, mis on eestikeelne. Saab lisada õppijaid ja näha nende tulemusi.
- Slido - lühitestide tegemise keskkond. Saab Google Slides’is kasutada pistikprogrammina.
- Zeetings - vahend, millega teha interaktiiveid slaide. Õpetamiseesmärgil on võimalik teha piiramatu arv slaide ja kuni 500 osalejaga küsitlusi läbi viia.
- Nearpod - saab teha interaktiiveid slaide.
Kollektiivse tagasiside andmiseks:
- Google'i Drive
- Microsoft Office Online.
- Slack - väga hea suhtlusvahend, saab teha erinevaid rühmi jne. Programmeerimise ainetes oleme kasutanud ka õpilastele tagasiside andmiseks.
- Padlet - tahvel, kuhu saab postitada erinevat sisu.
Ajurünnakud:
- Argumenteerimine Tricider - saab ka laikida esitatud argumente ja kommenteerida.
- AnswerGarden - sõnapilv
- Mindomo - mõistekaart
Üldine tagasiside õpetamisele
- Typeform - saab luua huvitavaid küsitlusi, mida näiteks pärast tundi või kursust teha.
- Google Form