3. aprill 2018

Algoritm. Laste algoritmilise mõtlemise arendamine

Minu blogipostitus algoritmilisest mõtlemisest, kus kirjutan, mis see on ja millistest komponentidest koosneb, on üks populaarsemaid sissekandeid minu blogis.

Tänases postituses lähenen teemale vähem teoreetiliselt ja toon näiteid igapäevaelust, kus me algoritme kasutame, sest postitus on mõeldud lastevanematele ja õpetajatele, kelle kasvatada ja harida on noorem vanuserühm ehk kuni 10-aastased lapsed või õpilased.

Kui aus olla, siis laste algoritmilise mõtlemise arendamise olulisusest leiab palju artikleid ja blogipostitusi, aga palju vähem (tegelikult väga vähe) kirjutatakse, milliste tegevuste kaudu seda oskust kujundada. Seega ongi postituse teises osas välja toodud (peamiselt ekraanivabad) tegevused, mis aitavad laste algoritmilist mõtlemist arendada.

algoritm_algoritmiline_mõtlemine_Kristi_Proge_Blog
Foto: Peter Vongsayarath


Algoritm - definitsioon ja näiteid igapäevaelust


Algoritm ühe lausega
Algoritm on samm-sammuline õpetus, kuidas mingit ülesannet sooritada või probleemi lahendada. 

Algoritmist natuke pikemalt
Algoritmi koostamine eeldab suurema probleemi väiksemateks osadeks võtmist. 
Algoritm ehk samm-sammuline õpetus peab olema täpne ja selgesõnaline. Arvutiteaduses, sh koodi kirjutamisel, on selged ja täpsed juhised väga olulised, sest arvuti ise ei mõtle.
Algoritmi puhul on tähtis tegevuste õige järjekord. 
Algoritm peab olema korduvalt kasutatav, sest me ei soovi ju iga kord sama probleemi uuesti lahendama hakata. 
Algoritmi väljundit ehk tulemust peab olema võimalik ette ennustada.

Kuigi sõna algoritm võib tunduda liiga keeruline, et seda teemat lastega arutada, siis tegelikult kasutavad lapsed, nagu ka nende vanemad, algoritme pidevalt oma igapäevaelus.

Algoritmide näiteid igapäevaelust:
  • hommikused tegevused kodus enne lasteaeda või kooli minemist;
  • hommikupudru valmistamine;
  • riietumine (nt enne püksid ja siis saapad, mitte vastupidi);
  • liitmis-, lahutamis-, jagamis- ja korrutamistehted paberil;
  • sõnade reastamine tähestikulisse järjekorda;
  • õigekirjareeglid;
  • tulede vahetumine valgusfooris;
  • paberist voltimise (origami) õpetus;
  • lauamängu mängimise juhend.
algoritm_algoritmiline_mõtlemine_lapsed_Kristi_Proge_Blog
Foto: COD Newsroom (Flickr)


Laste algoritmilist mõtlemist arendavad tegevused


Arvutiteaduses on algoritmilise mõtlemise oskus eelduseks, et inimene (programmeerija) suudaks arvuti panna tegema seda, mida tema tahab. Samas ei pea selle oskuse kujundamiseks kasutama arvutit või hakkama programmeerimist õppima. Siin on mõned tegevused, mis arendavad laste algoritmilist mõtlemist.
  1. Pillimängu õppimine. Tegevuste järjekord ja korduste kasutamine on oskused, mida on vaja pillimängus ja need on omakorda tihedalt seotud algoritmilise mõtlemisega.
  2. Tantsude õppimine. Tantsu õppides on oluline tantsusammude järjekord ja sammude kombinatsiooni kordamine.
  3. Mustkunstniku trikkide õppimine. Triki õnnestumiseks peab tegevuste sooritamise järjekord olema õige. Trikkide õppimiseks leiab videosid YouTube'ist ja mänguasjapoodidest saab osta mustkunstiku komplekti, mis sisaldab trikkide tegemiseks vajalikke vahendeid.
  4. Male ja teised lauamängud. Lauamängude mängimisel peab kinni pidama mängureeglitest ja oluline on oskus oma tegevusi ette planeerida. Viimane sisaldab ka tingimuslause kasutamist, mis on natuke keerulisemate algoritmide osa.
  5. Kaardimängud. Kaardimängudes peab järgima mängureegleid ja samuti on suurem tõenäosus võita, kui oma tegevused pikemalt ette planeerida. 
  6. Söögivalmistamine. Tegevuste õige järjekord on söögivalmistamisel üldiselt väga oluline. Väiksemad lapsed ei pea ise veel kõike otsast lõpuni valmis tegema, alguses võivad nad olla vanemale abiks. Vanem võiks tehtavaid samme lapsele selgitada.
  7. Mänguklotsidest ehitamine. Mänguklotsidega tulevad kaasa samm-sammulised õpetused ja üsna ruttu saab selgeks, et kui olla nende järgimisel hooletu, siis soovitud ese (auto, maja vms) ei valmi.
  8. Käsitöökomplektid. Mänguasjapoodides on müügil nii kleepimise, õmblemise, ehete meisterdamise jms komplekte. Taas kord õpib laps nende kaudu tegevuste õiges järjekorras tegemise olulisust.
  9. Origami ehk paberist voltimine. Origami puhul on juhendi järgi tegutsemine ainuke viis soovitud tulemuse saavutamiseks. Raamatupoodides leiab isegi selliseid origami raamatuid, kus on olemas vajalikud töövahendid. YouTube'is on palju kanaleid, mis sisaldavad paberist voltimise videoõpetusi lastele. Suur pluss on see, et võõrkeel ei ole õpetuse järgimisel takistuseks.
  10. Arvutimängude mängimine. On vähe arvutimänge, mis algoritmilist mõtlemist ei arenda, sest mängimisel on oluline tegevuste järjekord või loogika või peab mängija midagi looma (nt linnu ehitama). Üks hea näide sellisest mängust on Minecraft, millel on olemas ka nutiseadme versioon. Muidugi peab lapse arvutis veedetud aeg olema piiratud (soovitavalt nooremad lapsed kuni 1 h ja natuke vanemad lapsed kuni 2 h päevas), et tegevus lapse tervist ei rikuks.
  11. Programmeerimismängud lastele. Programmeerimismängudest on siin blogis päris palju juttu olnud. Need arendavadki eelkõige lapse algoritmilist mõtlemist (tegevuste järjestamine, kordused, tõhusaim lahendus jne), mitte ei õpeta last koodi kirjutama.
  12. Nuputamisülesanded. Suurepäraselt sobivad algoritmilise mõtlemise arendamiseks nuputamisülesanded. Üheks näiteks on kujundite või numbrite rida ja laps peab ära arvama rea lõpust puuduva elemendi. Ülesande lahendamiseks peab laps tuvastama reegli. Selliseid nuputamisülesandeid leiab igale vanuserühmale alates kooliealistest kuni täiskasvanuteni välja.
  13. algoritm_mustri_tuvastamine_Kristi_Proge_Blog
    Nuputamisülesanne eelkooliealistele.
    Allikas: educationalcoloringpages.com
Ma arvan, et paljud lugejad kogesid seda postitust lugedes äratundmisrõõmu, sest mitmed nendest tegevustest kuuluvad juba laste igapäevategevuste hulka. Nüüd on lisandunud teadmine, et need arendavad ka järeltulijate algoritmilist mõtlemist.

Kasutatud materjalid
Solving problems with algorithms: Resources for younger children and their parents