Razvoj dece u programiranju

od malog uzrasta

kursevi u Algoritmici

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:

  • Percepcija (razumevanje i korištenje digitalnog sveta)
  • Ponavljanje programerskih radnji, akcija, instrukcija
  • Osmišljavanje novih akcija i zadataka primenom naučenih
  • Donošenje zaključaka
  • Samostalno istraživanje
  • 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:

  • Slagalicu prave sami, tj moraju da isprate određena sintaksna pravila programskog jezika kako bi dobili program koji radi,
  • Pamte ključne reči, njihovu upotrebu, koja je slična i u drugim programskim jezicima, fokusiraju se na pravilan tok jednog programa, njegov algoritam, uz korištenje raznih ugrađenih i napravljenih funkcija

  • 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

    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:

  • Razvoj u 3d prostoru zahteva veći nivo matematike i upoznavanje sa matematičkim modelima koji se ne uče u tom uzrastu
  • Susret sa nitima kao konceptom u paralelnom izvršavanju u programiranju
  • Kompleksnost naredbi okruženja, organizacija i manipulacija fajlova

  • 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.