Šta je algoritamska pismenost i zašto nam je neophodna?

Algoritamska pismenost vam daje alat pomoću koga bitno podižete efikasnost vašeg rada, kroz prepoznavanje procesa koje je moguće automatizovati.

Marko Marković - 11. Februar, 2019.

Algoritamska pismenost je termin koji se sve češće pominje u okviru obrazovanja dece, ali i onih starijih. Digitalna pismenost, koja je mnogo širi pojam, zasluženo je ušla u glavne tokove rasprave i školske programe. Međutim, još uvek postoje nejasnoće i nedoumice oko toga šta je algoritamska pismenost i zbog čega je važna .

Želeli smo da saznamo više o tome šta sve algoritamska pismenost obuhvata i zašto je bitna edukacija u toj oblasti. U suret nam je izašao Milan Vugdelija iz fondacije Petlja. Sa njim smo pričali o ovoj temi, ali i značaju podučavanja đaka programiranju.

Petlja je domaća fondacija koja za cilj ima baš unapređivanje algoritamske pismenosti u Srbiji. Tim je pokrenuo veliki broj projekata. Među bitnijima su objavljivanje onlajn materijala koji pomažu osnovcima i srednjoškolcima u redovnoj i izbornoj nastavi. Obučili su i oko 1100 nastavnika informatike kako bi uspešno koristili te materijale, a pomažu i u organizaciji niza takmičenja za osnovce i srednjoškolce i organizuju letnje škole programiranja.

Milan Vugdelija je 11 godina radio na razvoju softvera u Microsoft razvojnom centru u Srbiji, a proveo je 12 godina i kao nastavnik programiranja u Matematičkoj gimnaziji. Učestvovao je u organizaciji takmičenja iz programiranja i autor je nekoliko zbirki zadataka iz programiranja. Inicijator je portala BubbleBee i jedan od kreatora prvih sadržaja na ovom portalu, koji je sada deo Petlje.

Algoritamski način razmišljanja predstavlja veliku prednost

Algoritamska pismenost zapravo čini deo šireg pojma digitalne pismenosti i odnosi se na onaj deo koji se bavi efikasnošću. Drugim rečima, digitalna pismenost predstavlja uopšte sposobnost korišćenja savremenih informacionih tehnologija, a algoritamska pismenost njihovu što delotvorniju primenu.

Milan Vugdelija, Petlja, Algoritamska pismenostNajkraće rečeno, digitalna pismenost obuhvata niz sposobnosti kao što su nalaženje i procena informacija, stvaranje i transformisanje sadržaja, komunikacija itd. U užem smislu ovog pojma misli se na tehničke sposobnosti, koje su nesporno veoma važne, ali nisu dovoljne.

Za tehnički deo digitalne pismenosti možemo reći da je potreba za njim šire prepoznata i podrška je relativno dobra, dok se algoritamska pismenost još uvek nije izborila za takav status. Zato smo se u Petljii opredelili da se primarno bavimo unapređivanjem algoritamske pismenosti.

Algoritamska pismenost ima veoma široku potencijalnu primenu, pošto svoju svrhu može da nađe u gotovo svakom polju. Kao prva i najočiglednija korist algoritamske pismenosti je sticanje sposobnosti automatizacije različitih procesa. Kada algoritamski opismenjen čovek prepozna da se neki proces ponavlja na isti ili sličan način, on može da zaključi kako čitava stvar može da se automatizuje i da sebe spasi velike količine posla u budućnosti.

Milan Vugdelija, PetljaRecimo da u zasebnim tekstualnim fajlovima imate spiskove učesnika nekoliko sličnih događaja, a vaš posao je da napravite tabelarni pregled učesnika po događajima.

To može biti evidencija rada po smenama (ako ste računovođa ili pratite opterećenje zaposlenih), uspeh studenata na pojedinim predispitnim obavezama (ako pomažete profesoru), učinak igrača na pojedinim utakmicama u ligi (ako ste novinar analitičar ili pomoćnik lovca na sportske talente), evidencija plaćene članarine u nekoj organizaciji po godinama i sl.

Postoji mnogo načina na koje biste mogli da obavite ovaj zadatak. Oni se, između ostalog, bitno razlikuju po vremenu koje će vam rad oduzeti.

Milan Vugdelija, PetljaVi možete da prekucate sve podatke, što je očigledno najsporiji način.

Možete da postepeno kopirate podatke o pojedinim učesnicima, pazeći da završe na pravom mestu u tabeli. Verujem da bi većina ljudi ovako obavila zadatak. Ovo je nešto bolje od prekucavanja, ali i dalje sporo, zamorno i podložno greškama.

Ali možete i da pretvorite tekst u datim fajlovima u tabele, obrišete suvišne kolone, sortirate tabele po istom kriterijumu, ubacite prazne redove u tabelama gde je neki učesnik izostao, spojite tabele, potvrdite slaganje imena i tako dalje.

Ovi koraci se mogu izvesti tako da vam je potrebno gotovo isto vreme da obavite posao za 100 ili za 1000 učesnika. Što više automatizujete korake, to će ukupno vreme rada manje zavisiti od količine podataka. U tu svrhu možemo da koristimo formule u programima za tabelarna izračunavanja, makro-komande u boljim editorima i drugim programima i slične alatke. Makro-komande se mogu praviti i prostim snimanjem niza akcija, da bi se ti nizovi kasnije mogli lako ponoviti.

Ovo je samo jedan od primera kako automatizacija može da se primeni u vašoj svakodnevnici. Nemoguće je nabrojati sve konkretne primere jer su oni ograničeni samo vašim potrebama i vašom maštom. Ukoliko biste analizirali zadatke koje svakodnevno obavljate na poslu, ili čak kroz vaš hobi, bez sumnje biste prepoznali neki proces koji bi bilo veoma korisno automatizovati.

Možda se često susrećete sa potrebom da tekst prebacujete između ćirilice i latinice. Možda morate da redovno adaptirate cenu vašeg proizvoda ili usluge u odnosu na kurs evra. Možda se često nalazite u neobičnoj situaciji da birate između velikog broja istovremenih sastanaka, predavanja ili događaja, a cilj vam je da ih posetite što više. Za neke slučajeve ćete uspeti da nađete gotove makroe ili uputstva da ih sami napišete, ali to neće važiti u 100% prilika.

Kako se društvo i moderno poslovanje menjaju pod uticajem informacionih tehnologija, tako algoritamski način razmišljanja postaje sve bitniji, iz dana u dan.

Milan Vugdelija, PetljaSvedoci smo da čitave industrije nestaju u obliku koji smo dugo poznavali, a pojavljuju se u novom obliku, koji zahteva nove veštine. Hipermarketi su potisnuli komšijske prodavnice na ćošku, a onlajn prodaja potiskuje hipermarkete. Isto je sa gledanjem filmova, saobraćajno-turističkim uslugama, naručivanjem hrane, čak i dobijanjem pravne pomoći.

Sve ređe ćete biti u prilici da uživo razgovarate sa korisnicima usluga koje nudite. To će uglavnom biti atipični slučajevi kada su potrebe korisnika specifične. Promet će najčešće zavisiti od toga koliko precizno ste zadali mogućnosti onlajn naručivanja ili zakazivanja, koliko su ta pravila jasna i intuitivna korisnicima, koliko lako mogu da nađu ono što traže i slično.

Tehnologija sve više postaje nezaobilazni deo naših života, ali to ne znači da će više posla biti samo za stručnjake. Jednostavno, za svakog pojedinca će navikavanje na ovaj način razmišljanja i rada postati velika prednost, ali i neophodnost.

Milan Vugdelija, Petlja

Oni koji budu u stanju da bolje osmisle i podese svoj sajt, ili nešto drugo, biće u prednosti u odnosu na konkurenciju, a i male razlike postaju sve značajnije, jer korisnici postaju mobilniji i lakše menjaju davaoce usluga.

Čak i ako mislite da vas se ovo ne tiče jer, recimo, gajite povrće, drugi povrtari će možda želeti da u svoje plastenike uvedu automatsko merenje i regulaciju temperature i vlažnosti, jer to već sada nije više tako skupo i komplikovano, a biće sve pristupačnije.

Snalaženje u ovakvim izazovima je veoma povezano sa algoritamskim načinom razmišljanja.

Algoritamska pismenost ima mnogo veću korist

Algoritamska pismenost nema samo uskopraktičnu korist. Kao kada naučite strani jezik, pa vam se, osim pukog razumevanja tekstova, otkriju značenja u prevedenim knjigama i filmovima koja nikada ne biste mogli da naslutite, čak i slože neke kockice oko lingvističkih pravila vašeg maternjeg jezika, tako i algoritamska pismenost pomaže u razvijanju niza kognitivnih sposobnosti.

Milan Vugdelija, PetljaTakođe, kognitivne i druge sposobnosti podižu nivo algoritamske pismenosti. Na primer opšte kognitivne sposobnosti kao što su precizno izražavanje (naročito tehničko), formalno logičko rezonovanje i izvođenje zaključaka, apstrakcija, generalizacija i slične.

Od kognitivnih sposobnosti specifičnih za ovu oblast, možemo da pomenemo razumevanje algoritama, rešavanje jednostavnijih algoritamskih problema sastavljanjem algoritma, a složenijih problema razlaganjem na potprobleme do nivoa složenosti koji se može rešavati direktno, vrednovanje i analiza algoritamskih rešenja itd.

Školski predmet Informatika i računarstvo je tek u aprilu 2017. godine dobio status obaveznog predmeta u osnovnim školama u Srbiji. U procesu donošenja nastavnog programa informatike za peti i šesti razred osnovne učestvovalo je više stručnih ljudi, od kojih su neki kasnije postali članovi tima ili saradnici Petlje.

Oni smatraju da je za svakog učenika korisno da potpuno ovlada pomenutim veštinama, ali da je potrebno ići korak po korak. Najbitnije je da, pre svega, usvoje algoritamski način razmišljanja.

Milan Vugdelija, PetljaKao prvo, bilo bi korisno da svi budu svesni šta sve ne mora da se radi podatak po podatak i da imaju opštu ideju o tome koji poslovi mogu da se automatizuju. Dalje, svi treba da u izvesnoj meri razviju sposobnost preciznog algoritamskog izražavanja, kako usmeno, tako i u nekim formalnim i tehničkim okruženjima, da bi tu stečenu veštinu mogli kasnije lakše da primene u drugačijim uslovima.

Algoritamska pismenost postaje opšte korisna veština, kao što je to sada vožnja auta. Ljudi uglavnom ne postanu profesionalni vozači, a izvestan broj se sasvim lepo snalazi i bez vozačkog umeća. Ipak, velikoj većini je bar povremeno vrlo korisno, tako da vredi naučiti.

Ovo znanje može da pomogne u ostvarivanju drugog velikog cilja koji je Petlja postavila pred sebe – podizanju kvaliteta i kvantiteta edukacije u oblasti programiranja kod nas.

Milan Vugdelija, PetljaNa algoritamsku pismenost svakako utiču i tehničke sposobnosti raznih nivoa uključujući i samo pisanje programa. Neke od ovih veština su veoma značajne za opštu populaciju, dok su druge bitne pre svega za one koji žele više da koriste (ili proučavaju) programiranje u svom poslu.

Najbolji način da učenici usvoje algoritamski način razmišljanja jeste da “opipaju” programiranje, to jest da se upoznaju sa njim na elementarnom nivou.

Prilagođavanje programa, a ne dece

U gorenavedenom primeru o načinima na koje je moguće napraviti tabelu, skrenuta je pažnja na to kolika je korist od automatizacije čitavog procesa. Međutim, postoji način koji je efikasniji i od toga. Osoba koja ima zadatak da napravi tabelu može i da napiše program koji čita date spiskove i kreira tabelu kombinujući podatke. U slučaju velikog broja podataka, ovo može biti daleko najbrži način za one koji ovladaju veštinom pisanja programa.

Za algoritamsku pismenost je jasno zašto je korisna. Ipak, postavlja se pitanje zašto je programiranje uvedeno u škole i zašto je “nametnuto” svim đacima. Zar to nije oblast koja je uskostručna i, kao takva, nema mesta u opštem obrazovanju?

Milan Vugdelija, PetljaProgramiranje je u nastavnim programima prisutno pre svega zato što je to veoma dobro sredstvo za usvajanje algoritamskog načina razmišljanja. Imajući u vidu tu nameru, od raznih veština potrebnih profesionalnim programerima, ovde se najviše ističu one koje su od opšteg značaja.

Tek kao drugi cilj bih pomenuo davanje prilike đacima da ranije prepoznaju svoj eventualni talenat za ovu struku i da se na vreme opredele za odgovarajući nastavak školovanja. Za manji broj učenika koji se ozbiljnije zainteresuju za programiranje, ono može prerasti ulogu usputnog sredstva i postati nešto više.

Za većinu ljudi koji se nikada nisu bavili programiranjem, ono zaista zvuči kao izuzetno kompleksna, teško savladiva oblast. Prednosti savladavanja tog znanja su očigledne, ali čini se da je odnos između koristi i težine za prosečnog đaka poprilično neuravnotežen. Vugdelija skreće pažnju na to da pristup edukaciji pravi ogromnu razliku.

Milan Vugdelija, PetljaUčenje programiranja je teško onoliko koliko ga teškim napravimo. Ako se oslobodimo enciklopedijskog pristupa predavanju i učenju, ulaz u svet programiranja je znatno lakši nego ikada pre. Više nije retko da se vide deca čak i predškolskog uzrasta kako pomoću slikovnih komandi sastavljaju program kretanja nekog lika pre nego što nauče da čitaju i pišu, a do skoro je to bilo nezamislivo.

Slično važi i za tekstualni kod, koji se lakše piše nego nekad. Edukativni alati za učenje programiranja su izuzetno napredovali u poslednjih desetak godina, podrška svetske onlajn zajednice je ogromna, a metodika nastave dobija nove pravce. Izazov nastave programiranja u današnje vreme je da kroz olakšan praktičan rad provučemo ideje o preciznosti izražavanja, a zatim i o efikasnosti kao najbitnije i suštinske koncepte, a da teške, formalne, tehničke detalje izostavimo ili odložimo gde god možemo.

Važno je napomenuti da fondacija Petlja nema u planovima da “drži monopol” nad načinom na koji se edukacija sprovodi i da je vrlo otvorena za saradnju.

Milan Vugdelija, PetljaPetljini materijali su nastali najviše zato što nema boljeg načina da prenesemo ovu ideju. Namera nam je da kroz primer pokažemo šta je sve moguće i da pomognemo na konkretan način, a pozdravljamo svaku novu ideju i inicijativu u ovom pravcu.

Redosled kojim se deca u našem obrazovnom sistemu danas upoznaju sa programiranjem, i za koji Petlja objavljuje onlajn materijal, ide od programskog jezika Scratch do Pythona. Za Skreč je prilično jasno zašto predstavlja prvi korak – to je vizuelni programski jezik dizajniran za decu i početnike, lokalizovan za veliki broj govornih jezika, pa i srpski. Pitanje je zašto je Pajton odabran za sledeći nivo.

Milan Vugdelija, PetljaNebojša Vasiljević, direktor Petlje, veoma je lepo i detaljno to objasnio u ovom tekstu. Ukratko, Pajton ima niz poželjnih osobina kao retko koji programski jezik. Pomenuo bih samo neke od njih:

Vrlo jednostavna i razumljiva sintaksa => brže napredovanje u učenju;

Nema kompajliranja => jednostavnija upotreba;

Ne brinete o teškim stvarima (npr. upravljanje memorijom) => bavite se suštinom;

Jasna struktura koda => čitljivost, preglednost;

Raznovrsnost primene;

Moćne biblioteke => do rezultata se dolazi sa relativno malo kucanja;

Popularnost i aktuelnost => velika zajednica, dobra podrška, dostupni materijali;

Teško ćete naći još jedan jezik sa baš svim ovim poželjnim osobinama, a Pajton ih ima još.

Da je lako ostvariti cilj da se algoritamska pismenost i programiranje uvedu u škole, ne bi ni postojala potreba za organizacijom kakva je Petlja. Tim veruje da je moguće dostići ono što su zacrtali, ali da su neophodne sloga oko plana delovanja, volja onih koji imaju moć odlučivanja i ozbiljan rad.

Milan Vugdelija, PetljaCilj je ostvariv, ali razni faktori utiču na to da li će se postići manje ili više. Prvo je potrebno da se složimo oko (za mene nesumnjivog) značaja ovog cilja, jer dok se mi oslobađamo neargumentovane sumnje i inercije u razmišljanju i navikama, svet ide dalje i neće čekati na nas.

Zatim, svakako je potrebno više podrške nastavnicima koji su dobili težak posao da rade više i pri tome drugačije od onoga kako su učili. Na primer, bilo bi dobro da budu rasterećeni po broju časova, jer su inovacije mnogo veće i češće nego u drugim oblastima.

Do ideje da se uopšte bave algoritmaskom pismenošću je došlo spontano, među ljudima koji su se udružili oko sličnih ideja, interesovanja i nivoa entuzijazma.

Milan Vugdelija, PetljaMi nismo „došli na ideju“ u smislu da je neko rekao: „Hajde da se bavimo ovim.“ Svako od nas se bavio sličnim stvarima veoma dugo, osećali smo želju i potrebu da, koliko ko može, popravimo stanje u kome se nalaze informatika i programiranje u Srbiji, način na koji se uče, da popravimo interesovanje i neka shvatanja vezana za njih i slično.

Tokom dužeg perioda smo nailazili jedni na druge, prepoznavali se i udruživali, pokušavali da uradimo nešto zajedno, nekad sa manje a nekad sa više uspeha. Ideja Petlje se formirala vrlo postepeno.

Članovi Petlje su uglavnom izlazili iz okvira svog posla želeći da urade nešto više, bilo kroz dodatni rad i inovacije u nastavi u školama i na fakultetima, bilo kao stručni saradnici volonteri u IS Petnica, aktivisti u Društvu matematičara Srbije (DMS) i njegovim komisijama za takmičenja iz programiranja, a i raznim drugim organizacijama.