21. veebruar 2017

Algoritmiline mõtlemine - mis see on?

Olen korduvalt püüdnud veebiavarustest leida eestikeelset definitsiooni sõnapaarile algoritmiline mõtlemine, aga tulemusteta. Selles postituses kirjutangi ingliskeelsete allikate baasil, mis on algoritmiline mõtlemine, millistest komponentidest see koosneb ning samuti algoritmilise mõtlemise rakendamisest programmeerimises, koolis ja igapäevaelus.

Algoritmiline mõtlemine (ingl k computational thinking) ehk "arvuti moodi" mõtlemine sisaldab probleemi püstitamist, sellele lahendus(t)e väljatöötamist ja lahenduse sõnastamist masinale (nt arvuti) või inimesele arusaadaval viisil.

Algoritmilise mõtlemise neli nurgakivi

Algoritmilise mõtlemise neli põhikomponenti (nurgakivi) on
algoritmiline_mõtlemine_Kristi_Proge_Blog
Joonis 1. Allikas: BBC
  • osadeks võtmine (decomposition) - keerulise probleemi või süsteemi väiksemateks osadeks jagamine;
  • mustrite tuvastamine (pattern recognition) - nii sarnasuste leidmine probleemi väiksemate osade vahel kui ka analüüsimine, kuidas sarnaseid probleeme on varem lahendatud;
  • üldistamine (abstraction)- olulise informatsiooni eraldamine mitteolulisest;
  • algoritmid (algorithms)- probleemi samm-sammulise lahenduse väljatöötamine, või reeglite sõnastamine, kuidas probleemi lahendada. (Joonis 1)

Algoritmilise mõtlemise rakendamine

Ülalkirjeldatud tegevuste tulemusel välja töötatud algoritme kasutatakse programmeerimisel selleks, et koostada arvutiprogramm, mis lahendab keerulise probleemi parimal võimalikul moel. Algoritmiline mõtlemine ei ole programmeerimine, kuid see aitab välja selgitada, milliseid käske sisestada arvutisse, et programm teeks seda, mida programmeerija tahab, et see teeks.

Algoritmilist mõtlemist ei lähe vaja ainult koodikirjutamisel, vaid ka igapäevaelus erinevate probleemide lahendamisel. Mõned näited on reisi planeerimine, arvutimängude mängimine, sünnipäevapeo korraldamine, uue retsepti väljamõtlemine jne.

Algoritmilise mõtlemise saab jagada ka etappideks, millest viimane on väljatöötatud lahenduse rakendamine ja hindamine (analüüs). Näiteks uue retsepti väljatöötamisel tuleb toit retsepti järgi valmistada ning seejärel hinnata, kas saadud tulemus vastab ootustele. Kui ei, tuleb retsepti muuta ja seejärel uuesti toit valmistada. Programmeerimises tähendab lahenduse rakendamine ja hindamine programmi testimist ehk kas programm töötab tõrgeteta ja teeb seda, milleks see loodi  ning silumist ehk vigade leidmist ja parandamist.

Algoritmiline mõtlemine üldhariduskoolis

Algoritmilist mõtlemist peetakse ka üheks õpilaste digipädevuste osaks (vt Koolielu artikkel). Algoritmiline mõtlemine üldhariduskoolis sisaldab muu hulgas järgmisi elemente:
  • abstraktsioon ja mustrite tuvastamine, mis võimaldavad probleemi lahendamisele läheneda uudselt;
  • probleemi jagamine väiksemateks osadeks;
  • programmeeriva mõtlemise meetodite kasutamine nt kordused, loogikalaused, sümbolite kasutamine;
  • probleemi ümbersõnastamine viisil, mis võimaldab selle lahendamist samm-sammult;
  • võimalike lahenduste kindlaks määramine, nende analüüsimine ja rakendamine eesmärgiga leida parim lahendus ehk teisisõnu leida tehtavate sammude ja kasutatavate ressursside tõhusaim kombinatsioon;
  • üldistamine ja väljatöötatud lahenduse rakendamine teiste probleemide lahendamiseks.
Kuigi kõige selgemalt läheb üldhariduskoolis algoritmilist mõtlemist vaja matemaatika, programmeerimise ja tehnoloogiaõpetuse tundides ning loov-ja uurimistöö kirjutamisel, siis tegelikult on seda vaja rohkem või vähem kõigis õppeainetes.

Jälgi KristiProget Facebookis.

Kasutatud allikad