Koncepti programiranja u Scratchu

Koncepti programiranja u Scratchu

Mnogima je poznat Scratch – okruženje za programiranje za djecu, čije se učenje obično svodi na stvaranje kreativnih projekata prema principu „od jednostavnog do složenog“. Pri tome je „klasični pristup“ učenju programiranja (varijable → grananja → petlje → funkcije → strukture → objekti → …) u Scratchu otežan.

Međutim, promjena redoslijeda učenja pojmova (nazovimo ih konceptima) strukturnog, objektno- i događajno-orijentiranog programiranja, njihovo skrivanje iza šarenih spritova i interaktivne animacije ne znači da na konceptima ne treba raditi. Pogotovo ako je cilj ne toliko razvoj kreativnih sposobnosti, koliko učenje programiranja. Tu ideju sam pokušala prikazati u svom tečaju.

Prvo s čime se suočava početni Scratch korisnik su spritovi. Iako u Scratchu ne postoji objektno-orijentirano programiranje u pravom smislu te riječi, spritove možemo smatrati objektima. U ovoj fazi učenik vidi da program može imati mnogo objekata, čijim ponašanjem upravljaju vanjski skripti. Spritovi primaju naredbe ili na zahtjev prenose informacije o svom stanju, što znači da se programiranje svodi na upravljanje objektima.

Drugo što se u Scratchu odmah nameće mladom programeru je pojam o višethreadingu. Svaki sprit može imati nekoliko skripti koje se izvršavaju istovremeno. Više spritova također može izvoditi svoje programe istovremeno jedni s drugima. Naime, teže je organizirati sekvencijalno izvršavanje.

Koncepti programiranja u Scratchu

Koncepti programiranja u Scratchu

Već na prvom satu ne možemo izbjeći upoznavanje s petljama. Inače mačka nećemo moći dovoljno razgibati. U ovoj fazi upoznavanje ostavljamo intuitivnim i površinskim. Ograničavamo ga na petlje „ponavljaj uvijek“ i „ponovi … puta“, koje su lakše za razumijevanje. Petlja s uvjetom proučava se u lekciji koja je posebno posvećena petljama. Ova lekcija pretpostavlja poznavanje logičkih izraza i varijabli.

Budući da je Scratch događajno-orijentirano okruženje, blokovi uvjetnog operatora lakše se proučavaju prije varijabli. Uvjeti mogu biti razna događanja.

Koncepti programiranja u Scratchu

Po mom mišljenju, takav redoslijed je bolji jer tijekom svake lekcije uvodimo minimalni broj pojmova. Osim toga, ne radi se o apstraktnim pojmovima, već odmah vidimo njihovu praktičnu korist.

Ako prvo učimo o varijablama, teško je pokazati njihovu svrhu i korist, jer prije toga nismo proučili uvjetne operatore, unos podataka i generiranje slučajnih brojeva.

U Scratchu, osim lista, programer se susreće s tri tipa podataka: brojevima, stringovima i boolean tipom. Pri tome je tip vezan uz vrijednost, a ne uz varijablu. Nije potrebno pretvarati stringove u brojeve i obratno. Stringovi se ne stavljaju u navodnike.

Blok koji vraća logičku vrijednost i ima karakterističan kutni oblik može se umetnuti u okrugle okvire. Suprotno nije istina: tamo gdje se očekuje logički izraz, ne može se umetnuti obična varijabla.

Koncepti programiranja u Scratchu

Scratch je implementiran tako da tijekom izvođenja ne nastaju kritične pogreške. Vjerojatno zato, ako pokušate koristiti string u aritmetičkoj operaciji, on se zamjenjuje nulom (vidi prvi screenshot).

Programer mora znati da se mogućnosti programskih jezika proširuju bibliotekama. Radom u Scratchu, učenik može dodavati proširenja koja uvode nove komande u okruženje.

Koncepti programiranja u Scratchu

Funkcije u Scratchu implementirane su u odjeljku 'Ostali blokovi', gdje s jedne strane kreirate vlastiti blok koji se može umetnuti u druge skripte. S druge strane, morate skupiti funkcionalnost tog bloka, odnosno ono što će on raditi.

Koncepti programiranja u Scratchu

Nema povratka vrijednosti iz Scratch funkcije.

Dakle, učenje koncepcija programiranja u okruženju orijentiranom na događaje ostavlja svoj trag. U suštini, prvo proučavamo složenije i apstraktnije pojmove, a tek produbljujući proces prelazimo na elemente strukturiranog programiranja. Je li to prednost ili nedostatak za prvo upoznavanje – pitanje je sporno.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster