Programiranje u osnovnoj školi
U članku „Sat programiranja“ (PC#206) razmatrali smo da li sva deca da uče programiranje. Odgovor je bio potvrdan – tri godine kasnije, došlo je vreme da se programiranje uvrsti u obavezne nastavne sadržaje u osnovnoj školi.
Talas uvođenja programiranja kao opšteobrazovnog sadržaja u osnovnim školama mnogih zemalja traje već nekoliko godina. Najpoznatiji primer je Velika Britanija, u kojoj je od školske 2014/15. godine računarstvo obavezan predmet u školama počev od najmlađih uzrasta.
Od ove školske godine informatika i računarstvo postaju obavezan predmet u petom razredu osnovnih škola u Srbiji. Predmet ima tri nastavne teme: IKT, digitalnu pismenost i računarstvo, a u okviru računarstva uči se programiranje u vizuelnom programskom jeziku, što će biti Scratch (scratch.mit.edu). U starom nastavnom programu iz 2007. godine, informatika i računarstvo za peti razred bio je izborni predmet bez programiranja, a od šestog razreda je u okviru istog predmeta postojao samo izborni modul „Odabrana poglavlja iz programiranja“. Sve u svemu, programiranje je od izbornog modula izbornog predmeta uvršteno u obavezne sadržaje već od petog razreda.
Ne manje važna stvar za ovu školsku godinu jeste i to da se u šestom razredu radi po novom nastavnom programu izbornog predmeta Informatika i računarstvo, koji će naredne godine postati obavezan i za učenike šestog razreda. U tom razredu, u okviru računarstva, predviđeno je programiranje u tekstualnom programskom jeziku, što očekujemo da će ostati i u obaveznom predmetu.
U sedmom razredu se, što se tiče informatike i računarstva, još ove školske godine radi po starom programu, a u osmom će biti tako još ove i naredne školske godine. Započetom dinamikom trebalo bi da se u septembru 2020. godine, kada današnji petaci budu osmaci, u svim starijim razredima osnovne škole uči obavezan predmet Informatika i računarstvo, po novim školskim programima.
Zašto deca treba da programiraju?
U automatizovanoj ekonomiji svaka profesija susreće se sa algoritmima. Prodavac koji se stara o online prodavnici ne komunicira mnogo s pojedinačnim kupcima, ali svoje iskustvo koristi da definiše pravila šta će kupcu biti dodatno ponuđeno i s kojim povoljnostima. Sada su ta pravila detaljnija i preciznija nego ranije, kada je prodavac sa svakim kupcem imao neposredan kontakt i tom prilikom procenjivao šta da ponudi i kome da odobri popust. Politika prema kupcu prenesena je u algoritam rada online prodavnice. Ko onda oblikuje algoritam: prodavac ili programer? Pa, svako iz svog ugla.
Kada god postavljamo pravila po kojima će se neki proces automatski odvijati, mi smo uključeni u oblikovanje algoritma. Zbog toga razumevanje algoritama i umeće algoritamskog izražavanja postaje opšteobrazovna potreba. To je prepoznatljivo već danas, a u vreme kada se današnji osnovci budu zapošljavali, biće još mnogo izraženije.
Programiranje je dobar način za sticanje algoritamske pismenosti, isto kao što je sport dobar način za sticanje fizičkih sposobnosti, bez obzira na to planira li neko da bude sportista. Slično imamo i u drugim nastavnim predmetima. Na primer, za fizički zakon obično postoji formula i učenici rešavaju zadatke koristeći formule. Takvi zadaci dobar su način da učenici razumeju fizičke zakone, čak i ako slične proračune u svojoj budućoj profesiji ne budu izvodili. Oni koji imaju talenta za prirodne nauke i inženjerstvo dobijaju priliku da prepoznaju svoj talenat i da ga razvijaju kroz učenje fizike za visoku ocenu, dodatnu nastavu i takmičenja.
Isto tako, učenici će kroz programiranje steći razumevanje algoritama, a oni koji su talentovani za računarske nauke i računarsko inženjerstvo moći će da prepoznaju svoj talenat i da ga razvijaju. Ostaje samo pitanje kako učiti programiranje da bi ostvarilo takvu ulogu. Naime, uobičajen način učenja programiranja uključuje mnogo tehničkih detalja koji su na kraju potrebni programeru, ali predstavljaju preveliko opterećenje za prosto sticanje algoritamske pismenosti. Bez dobrog odgovora na ovo pitanje bili bi u pravu oni koji smatraju da smo đake počeli prerano da učimo programiranju.
Potrebno je da programiranje rasteretimo viška složenosti izborom programskog jezika, pratećih alata i metodološkog pristupa šta i kako učiti. Sve to treba i konkretno objasniti kroz materijale koji su prilagođeni utvrđenim nastavnim programima i zanimljivi.
U koordinaciji s Ministarstvom prosvete, Fondacija Petlja je na svom portalu objavila set materijala za peti i šesti razred (Petlja.org/OsnovnaSkola). U nastavku ćemo opisati pristup koji je korišćen, a u narednim brojevima PC Press‑a posvetićemo pažnju pojedinim priručnicima, zbirkama, praktikumima i alatima za nastavnike.
Peti razred
U proteklih nekoliko godina pojavilo se pregršt vizuelnih programskih jezika, gejmifikovanih okruženja, robotizovanih sprava i specijalizovanih aplikacija posebno namenjenih prvim koracima u programiranju. Među njima pre svega treba istaći Scratch (scratch.mit.edu), razvijen u laboratoriji za medije poznatog univerziteta MIT, kao i kurseve na Code.org (studio.code.org/courses) koji su krajem 2013. pokrenuli veliki talas popularizacije programiranja kampanjom „Sat programiranja“.
Za prve korake u programiranju već postoji solidan izbor tehničkih rešenja i prakse, uključujući i iskustva inoviranog izbornog predmeta Informatika i računarstvo za peti razred koji je krenuo prošle školske godine i prerastao u sadašnji obavezni predmet.
U materijalima na portalu Petlja.org za peti razred koristimo Scratch. Posebno je vođeno računa da se ne sklizne niti u klasičan pristup učenja programiranja, niti da se aktivnosti učenika svedu samo na crtanje likova i pozornica te multimedijalne efekte. Glavna razlika u odnosu na klasičan pristup jeste to što ne želimo pojmove prvo da definišemo pa da ih zatim demonstriramo. Želimo da idemo obrnutim putem, onako kako deca najlakše uče i kako im je zanimljivo, da prvo prođemo kroz iskustvo kako se računar ponaša kada mu nešto zadamo, pa da onda iz toga izvodimo pojmove. Deo Interaktivnog priručnika za peti razred vidimo na slici 1. U okviru Interaktivnog priručnika koriste se i video‑materijali, rezultat projekta „Vizuelno programiranje za osnovce“ koji su realizovale Moodle Mreže Srbije.
Pored Interaktivnog priručnika, na portalu Petlja.org nalazi se i Interaktivni praktikum s velikim brojem primera projekata, ideja za projekte, pitanja za proveru znanja i slično. Više o svemu tome govorićemo u narednom broju PC Press‑a.
Važno je istaći da se materijali za Scratch mogu koristiti i u prvom razredu gimnazije, gde je u važećem nastavnom programu Računarstva i informatike predviđena nastavna tema Uvod u algoritme. Možda će se neko ko ovo čita zapitati kako isti sadržaj može da odgovara i petom osnovne i prvom gimnazije. Stvar je u tome što se i u jednom i u drugom slučaju prave prvi koraci u programiranju. Jedanaestogodišnjak i petnaestogodišnjak slične stvari uče na prvom času kod instruktora skijanja ili na početnom kursu nekog stranog jezika. Kada današnji petaci stignu do srednje škole, nakon što su prošli obavezno programiranje u višim razredima osnovne škole, doći će vreme da se tome prilagode nastavni programi u srednjoškolskom obrazovanju. To, naravno, ne znači da u međuvremenu ne treba ništa menjati u gimnazijama i srednjim stručnim školama, ali to je posebna tema.
Šesti razred
Okruženja kao što je Scratch dobar su izbor za prve korake u programiranju, ali pre ili kasnije treba preći na klasičan programski jezik. Takav korak jednako je složen kad god ga napravimo i samo je pitanje možemo li klasičan programski jezik dovoljno približiti šestaku koji je kroz Scratch tek stekao neke predstave o programiranju, a da mu to ne bude preveliki zalogaj.
Odgovor autorskog tima Fondacije Petlja jeste Interaktivni priručnik za šesti razred koji je zasnovan na programskom jeziku Python i Runestone Interactive (runestoneinteractive.org), tehnološkom rešenju koje je dodatno prilagođeno potrebama priručnika. Deo priručnika vidimo na slici 2. Svi primeri koda mogu da se edituju i izvršavaju u okviru Web strane, a prilikom izvršavanja moguć je i prikaz korak po korak, kao što je prikazano na slici.
Interaktivni priručnik korišćen je i u video‑materijalima koji su rezultat projekta Programiranje za osnovce realizovanog od strane Društva za informatiku Srbije, a dostupni su na Petlja.org/Programiraj. Pored Interaktivnog priručnika, na portalu Petlja.org od materijala za šesti razred nalazi se i Zbirka algoritamskih zadataka i Zbirka pitanja za proveru znanja s velikim brojem primera projekata, a više o svemu tome govorićemo u nekom od narednih brojeva PC Press‑a.
Materijali za Python mogu se koristiti i u okviru modula Odabrana poglavlja iz programiranja izbornog predmeta Informatika i računarstvo za sedmi i osmi razred (stari nastavni program), u okviru Računarstva i informatike u drugom razredu gimnazije, a takođe i kao uvodni materijal za pripremu za takmičenje iz informatike za osnovnu školu za sve takmičare početnike, bez obzira na uzrast.
Nastavnici su ključna karika u realizaciji nastavnih programa. Pored pripremljenih materijala, na portalu Petlja.org predviđene su i posebne funkcionalnosti namenjene nastavnicima, a Fondacija Petlja planira i realizaciju obuka za nastavnike u toku prvog polugodišta, kako bi do drugog polugodišta bili potpuno spremni za realizaciju nastavne teme računarstvo. Pitanja vezana za uvođenje programiranja u osnovne škole nastavićemo da pratimo u narednim brojevima PC Press‑a.
dr Nebojša Vasiljević
dr Nebojša Vasiljević je direktor Fondacije Petlja