14. mai 2019

Programmeerimise õpetamisest (1) - millest alustada?

Käesolev postitus juhatab sisse postituste sarja, milles kirjutan lähemalt programmeerimise õpetamisest kooliealistele lastele (osaliselt ka koolieelikutele). Rõhuasetus saab olema küsimustel mida õpetada ja mis järjekorras õpetada. Sellest, kuidas õpetada (ehk õpetamismetoodikast) sarjas palju juttu ei tule.

programmeerimine_arvutivaba_algajad_kuidas_Kristi_Proge_Blog
Programmeerimine kui 21. sajandi kirjaoskus. Foto: pixabay

Programmeerimine kui 21. sajandi kirjaoskus

Programmeerimine on praegu hariduses väga kuum sõna. Rõhutatakse, et see on üks 21. sajandi olulistest oskustest, nimetatakse seda lausa 21. sajandi kirjaoskuseks, ja usutakse, et iga laps peaks vähemalt natuke programmeerida oskama, et elus paremini hakkama saada. Igatahes on mitmed haridus- ja IT-valdkonna inimesed avaldanud arvamust, et progammeerimise algtõdede õpetamisega peab alustama varakult. Aga millest üldse alustada?

Käsud ja algoritmid

Programmeerimine on lihtsustatult öeldes täpsete ja õiges järjekorras käskude andmine arvutile (masinale) selleks, et see teeks midagi, mida inimene soovib. Tavaliselt soovib inimene lahendada mingit probleemi. Selliseid samm-sammulisi juhiseid (käske), mis koostatakse mingi ülesande täitmiseks või probleemi lahendamiseks, nimetatakse algoritmiks. Oskust koostada algoritme, mis annavad soovitud tulemuse, nimetatakse algoritmiliseks mõtlemiseks.

Seega ongi mõistlik alustada programmeerimise õppimist ja õpetamist käskudest ja lihtsatest algoritmidest. On oluline, et laps, noor või teismeline mõistab, et arvuti teeb seda, mida tema käseb tal (läbi koodi) teha. Kui algoritm on ebatäpne või vigane, siis ei tööta programm nii nagu tema soovib. Võib juhtuda sedagi, et tulemus on mõningatel juhtudel õige, kuid teistel juhtudel jällegi vale. Hea algoritm annab järjepidevalt oodatud tulemuse.

Täpsete juhiste ehk käskude andmist tuleb harjutada, mis võikski olla programmeerimise õppimisel esimene samm. Täpsete juhiste andmise harjutamiseks on kaks peamist võimalust: arvutivaba/seadmeta programmeerimine ja lihtsate programmeerimismängude mängimine.

Arvutivaba/Seadmeta programmeerimine

Programmeerimise baasoskusi saab arendada täiesti arvutivabalt. Seda nimetatakse arvutivabaks või seadmeta programmeerimiseks. Võimalusi õppida programmeerimise baasoskusi ilma arvutita on uskumatult palju. Internetist võib leida väljaprinditavaid töölehti ülesannetega, mida õppija saab lahendada iseseisvalt, kuid levinum on siiski töötamine paaris või rühmas. Näiteks saab 'programmeerida' oma kaasõpilast jagades talle käsklusi, mängida koos lauamänge, koostada teineteisele kirjalikke juhiseid mingi ülesande täitmiseks, jagada suulisi juhiseid rühmakaaslastele jne. Igatahes käib arvutivaba programmeerimise juurde sageli liikumine ja koostöö.

Arvutivaba programmeerimise alla käib ka valik haridusroboteid, näiteks Bee-Bot ja Ozobot, mille liikuma panemiseks kasutatakse lihtsaid käske ja selleks ei pea tingimata kasutama arvutit.

Mõnda arvutivaba programmeerimise tegevust on mul kavas tutvustada oma suvi 2019 väljakutses, millest saab lähemalt lugeda juunikuus.

Programmeerimismängud

Lihtsate algoritmide koostamist saab õppida kasutades arvutit või nutiseadet ja spetsiaalselt selleks loodud keskkondasid või rakendusi. Kui arvutivaba programmeerimise tegevused on sageli sotsiaalsed, siis (hariduslikud) programmeerimismängud on pigem individuaalsed. Muidugi on olenevalt lapse vanusest ja mängu keerukusest vaja täiskasvanu juhendamist, kuid peamiselt käib õppimine õppuri ja rakenduse vahelise interaktsiooni kaudu. Rakendus juhendab mängijat ja pakub kohest tagasisidet käsurea õigsuse kohta. Samuti on tavapärane, et mängijat premeeritakse kuldraha, tärnide jm sellisega, mis motiveerivad endast parimat andma.

Siin on mõned mängud, mis arendavad samm sammu haaval juhiste koostamist:

    Kokkuvõtteks

    Programmeerimise õppimise esimeseks sammuks olenemata lapse vanusest on harjutada täpsete juhiste (käskude) koostamist, mida saab teha nii arvutiga kui ka arvutita. Ei saa väita, et arvutivaba programmeerimine on tingimata parem kui programmeerimismängud või vastupidi. Mõlemad arendavad algoritmilist mõtlemist ja õpetavad programmeerimise baasoskusi. Samas usun, et võimalus õppida programmeerimist arvutivabalt, seejuures liikudes ja arendades sotsiaalseid oskusi, kõlab paljude õpetajate ja lapsevanemate jaoks atraktiivsemalt kui ekraani taga sundasendis õppimine.


    Jälgi KristiProget ka Facebookis.