Koncepti programiranja u Scratchu

Koncepti programiranja u Scratchu

Mnogima je poznat Scratch, dječje programsko okruženje u kojem se učenje obično svodi na kreiranje kreativnih projekata po principu „od jednostavnog do složenog“. Istovremeno, „klasični pristup“ učenju programiranja (varijable → grane → petlje → funkcije → strukture → objekti → …) u Scratchu je težak.

Međutim, promjena redoslijeda učenja koncepata (nazovimo ih konceptima) strukturiranog, objektno i događajno orijentiranog programiranja, skrivajući ih iza šarenih sprijtova i interaktivnih animacija, ne znači da koncepte ne treba isticati. Pogotovo ako cilj nije toliko razvoj kreativnih sposobnosti koliko učenje programiranja. Pokušao sam da odrazim ovu ideju u svom kurs.

Prva stvar s kojom se početnik susreće su sprajtovi. Iako u Scratchu ne postoji objektno orijentirano programiranje per se, spriteovi se mogu smatrati objektima. U ovoj fazi, učenik vidi da program može imati mnogo objekata čije ponašanje kontroliraju skripte koje su izvan njih. Sprajtovi primaju komande ili prenose informacije o svom stanju na zahtjev, odnosno programiranje se svodi na upravljanje objektima.

Druga stvar koja odmah pogađa mladog programera u Scratch-u je koncept višenitnog rada. Svaki sprite može imati nekoliko skripti koje se pokreću istovremeno. Više duhova također može pokrenuti svoje programe istovremeno jedan s drugim. Štaviše, pokazalo se da je teže organizirati sekvencijalno izvršenje.

Koncepti programiranja u Scratchu

Koncepti programiranja u Scratchu

Već na prvoj lekciji ne možemo izbjeći upoznavanje s ciklusima. U suprotnom, mačka zaista neće pobjeći. U ovoj fazi, poznanstvo se mora ostaviti intuitivno i površno. Ograničavamo ga na petlje "repeat always" i "repeat... times", koje je lakše razumjeti. Uslovna petlja se proučava u lekciji posebno posvećenoj petlji. Ova lekcija pretpostavlja poznavanje Bulovih izraza i varijabli.

Budući da je Scratch okruženje vođeno događajima, blokove uvjetnih izraza je lakše naučiti prije varijabli. Uslov mogu biti određeni događaji.

Koncepti programiranja u Scratchu

Po mom mišljenju, ovaj redoslijed je bolji, jer za svaku lekciju uvodimo minimum pojmova. I to ne apstraktne, ali odmah vidimo njihove praktične prednosti.

Ako prvo proučavate varijable, onda je teško pokazati njihovu svrhu i koristi, jer uvjetni operator, unos podataka i generiranje slučajnih brojeva ranije nisu proučavani.

U Scratchu, ne računajući liste, programer se susreće sa tri tipa podataka: brojevima, stringovima i Booleovim. U ovom slučaju, tip je vezan za vrijednost, a ne varijablu. Nema potrebe da konvertujete nizove u brojeve i nazad. Nizovi se ne navode.

Blok koji vraća logičku vrijednost i ima karakterističan ugaoni oblik može se umetnuti u zaobljena polja. Obratno nije tačno: tamo gde se pretpostavlja Boolean izraz, ne može se umetnuti regularna varijabla.

Koncepti programiranja u Scratchu

Scratch je implementiran tako da ne dođe do kritičnih grešaka tokom izvršavanja. Očigledno je to razlog zašto, ako pokušate koristiti string u aritmetičkoj operaciji, on se zamjenjuje nulom (pogledajte prvi snimak ekrana).

Programer bi trebao znati da su mogućnosti programskih jezika proširene bibliotekama. Radom u Scratchu učenik može povezati dodatke koji dovode do pojave novih komandi u okruženju.

Koncepti programiranja u Scratchu

Funkcije u Scratchu su implementirane u sekciji "Ostali blokovi", gdje s jedne strane kreirate vlastiti blok koji se može umetnuti u druge skripte. S druge strane, moramo prikupiti funkcionalnost ovog bloka, odnosno šta će on raditi.

Koncepti programiranja u Scratchu

Ne postoji povratna vrijednost iz Scratch funkcije.

Stoga učenje koncepta programiranja u okruženju vođenom događajima ostavlja trag. U suštini, prvo proučavamo složenije i apstraktnije koncepte i tek kada dublje uđemo u proces prelazimo na elemente strukturiranog programiranja. Da li je ovo plus ili minus za prvo poznanstvo je sporno.

izvor: www.habr.com

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster