Razvoj dece u programiranju
od malog uzrasta
Kao što postoji određeni plan i program kako se uče oblasti i nastavne jedinice iz određenih školskih predmeta, tako se i u učenju programiranja mogu izdvojiti neki koncepti koji se mogu izučavati u određenim uzrastima, a praćeni su znanjem koji u tom uzrastu uče u školi kao i trenutnim nivoom kognitivnih sposobnosti. Sam razvoj možemo pratiti u nekoliko smerova kognitivnog razvoja:
Polazni nivo
Na ovom nivou se razlikuju deca koja već poseduju neku osnovnu percepciju i iskustva vezana za digitalnu informaciju i računare uopšte. Osnovna digitalna pismenost ovde podrazumeva minimalno korištenje računara, njegovih delova i elemenata, osnovnih akcija (uključivanje i isključivanje, upotreba tastature i miša, kopiranje fajlova sa jednog mesta na drugi, kreiranje fajlova, prevlačenje objekata mišem sa jednog mesta na drugi, itd). Nije nužno da je sve to potrebno i dovoljno da bi se dete lakse snašlo u bilo kom kursu programiranja (neka deca nisu imala računar kod kuće i nisu imala ovakvo predznanje ali su ipak bili uspešni na kursu programiranja jer su imala interesovanje i motivaciju da to sve nauče), ali je svakako olakšavajući faktor u tom procesu.
Prvi susret sa programiranjem
Na ovom nivou je ključno da se dete upozna deteljno sa okruženjem za programiranje kroz akcije i radnje koje su mu poznate iz života (kao npr slagalice). U takvom okruženju dete onda uči neke nove radnje, vizulelno povezuje digitalnu informaciju sa onim šta to znači u stvarnosti i stvara percepciju kako ta digitalna informacija može dalje da se iskoristi. Bitno je da se ponovi što više puta što više različitih programerskih instrukcija ali u različitim primerima kako bi se dobio generalni uvid u primenu naredbe u programiranju. Što više različitih programa u kojima deca mogu da poistovete neki vid programiranja sa nečim što su videli u svojoj svakodnevici ili učili u školi, time će proširiti vidike i bolje postaviti fundamente percepcije osnovnih programerskih principa - više vizuelnih stvari će povezati (npr. ikonicu sa akcijom koju predstavlja), više ključnih reči i njihovih sinonima će zapamtiti i povezati sa instrukcijom koju one predstavljaju, itd.
Programiranje prostijeg koda
Ovaj nivo je dosta drugačiji od prethodnog iz prostog razloga što sada vizuelno jednostavna i siromašna programska okruženja više nisu ona koja nude gotove instrukcije i naredbe koje korisnik samo prevlači u slagalicu, nego sada sve je ostavljeno na detetu da otkuca sam. Na ovom nivou dominira akcenat na dve stvari:
I ovde je poželjno razviti detetove programerske veštine u širinu, u zavisnosti od širine njegovih interesovanja. Svako okruženje je različito, od prostih do složenih, a dominantan je skup od par engleskih reči koje se vrte i ponavljaju iz okruženja u okruženje. Preporuka je da deca naprave paralelu i da uporede razna okruženja i da uvide da je u svima njima suština programiranja ista, te da su male razlike u njima dovoljne da se napravi specifična primena svakog od njih.
Programiranje elemenata grafike
Ovaj nivo podrazumeva razumevanje rada sa elementima grafike u računarstvu, pikselima, prezentacijom boja i slika, kao i njihovim korištenjem u 2d prostoru. Akcenat je da se za početak deca prvo upoznaju sa 2d grafikom i prostorom, radi pojednostavljivanja i paralelizacije sa stvarima iz matematike. Iza grafike računara stoje ozbiljni matematički računi za bilo kakav iole ozbiljan projekat; potrebno je razumevanje koncepta prikazivanja boja u računarstvu, njihov zapis i generisanje, a za bilo kakvu interaktivnu stvar, neophodno je razumevanje rada sa događajima, emitovanjem i primanjem istih, obrada tih događaja i programiranje samog programa u specifičnim slučajevima tih događaja. Pored toga, neophodno je dobro poznavanje i same platforme u kojoj se programiranje ove vrste radi, te zbog širine cele oblasti vezane za grafiku u računarstvu, ovo može da bude različite kompleksnosti od okruženja do okruženja. Programi kod nas koji su zanimljivi u ovoj oblasti su: Scratch, Tynker, Blockly, Pygame, Javascript, Unity
Programiranje 3d aplikacija i igrica
Ovaj nivo podrazumeva rad u kompleksnim programskim okruženjima za razvoj ozbiljnih aplikacija i 3d igrica u kojima je moguće primeniti logiku programiranja koja je do sada naučena. Ono što je podsticajno ovde jesu tri stvari:
U zavisnosti od interesovanja deteta i dobrih osnova u nekim od prethodnih nivoa, programiranje u ovakvim programima se svakako može savladati uz adekvatan plan i program.