razvoj kreativnosti i suradnje upotrebom github platforme...

5
Razvoj kreativnosti i suradnje upotrebom GitHub platforme u srednjoškolskom strukovnom obrazovanju K. Blažeka, Tehnička škola Čakovec, Čakovec, Hrvatska [email protected] Sažetak - Važno mjesto u preporukama Vijeća Europe posvećenim poboljšanju iskustva učenja zauzima kolaborativno učenje i poučavanje uz mogućnosti aktivne participacije i utjecaja učenika. U realizaciji strukovnog obrazovanja u sektoru Elektrotehnika i računalstvo takav pristup prilikom usvajanja vještina razvoja programskih rješenja može biti potenciran kolaborativnim mogućnostima GitHub digitalne platforme. Kako savladavanje obrazovnih ishoda za stjecanje kompetenecija u zanimanju Tehničar za računalstvo obuhvaća usvajanje znanja i vještina vezanih uz različite programske jezike odnosno tehnologije (C, C++, C#, HTML, JavaScript, Java, CSS…) koje ova platforma podržava čini se korisnim osvrnuti se na njene mogućnosti korištenja u nastavne svrhe što je podržano primjerice i kroz GitHub Education. U radu su navedena neka iskustva kako GitHub okolina može pomoći i pridonijeti kvaliteti obrazovnog procesa za učenike i nastavnike, te se predlažu neke mogućnosti primjene u domeni srednjoškolskog obrazovanja. I. UVOD Primjena računala u raznim oblicima on-line učenja kroz ostvarenje i komunikaciju zajednica oblikovanih korištenjem tehnologija kao što su računalstvo u oblacima, društveno umrežavanje ili Massive Open Oline Courses (MOOC) u obrazovno procesu potvrđuje bitan utjecaj tehnologije na obrazovanje u svrhu poboljšanja učinkovitosti procesa učenja i poučavanja. Neprijeporne su dobrobiti suradničkog učenja potpomognutog tehnologijom. Mrežni (na web- tehnologijama bazirani) sustavi suradničkog učenja pri kojem je svaki pojedinac svjestan rada drugih suradnika i upoznat je sa planovima i razumijevanjem drugih uključenih osoba, učenicima omogućuju realističniju, izrazitiju i izazovniju participaciju što u konačnici poboljšava rezultate kako na razini tima, tako i pojedinca. U tom smislu, GitHub je sustav koji nudi većinu obilježja Learning Management (LM) sustava uz značajnu potporu suradničkim aktivnostima korisnika. U radu su iznijeta razmatranja i neka praktična iskustva primjene ove platforme (namijenjene primarno za distribuirano upravljanje razvojem inačica programa) kao potvrda mogućeg pozitivnog utjecaja na obrazovno iskustvo učenika i nastavnika: mogućnosti upotrebe, utjecaj na motivaciju, transparentnost rada i djelotvornost rada kroz stvaranje otvorenih repozitorija. Spomenute su dobrobiti, ali i neki izazovi koje donosi svojim suradničkim i poslužiteljskim mogućnostima. II. ŠTO JE GITHUB? GitHub je važna platforma za upravljanje softverskim projektima. Svojim funkcionalnostima naočigled povećava učinkovitost rada korisnika profesionalaca i to ne samo kroz repozitorij projekata već i kao kvalitetna potpora suradnji (primarno programerskog) tima kao zajednice. Korisnici mogu slijediti druge korisnike određenog projekta te međusobno dijeliti aktivnosti. Repozitorij (često se koristi skraćenica “repo”) je mjesto na kojem se spremaju sve datoteke nekog projekta, a može mu se pristupiti preko jedinstvenog URL-a. Korisnik koji sudjeluje u nekom projektu, klonira taj projekt čime kreira cjelovitu kopiju projekta u svom lokalnom okruženju, ali pri čemu izvedene promjene mogu imati utjecaj na originalni projekt (model dijeljenog repozitorija). Pri tom se po potrebi obavljaju konverzacije o predloženim promjenama prije nego što se promjene spoje u tzv. master branch, odnosno korisnik može račvati (fork) čitav projekt kako bi kreirao paralelni projekt u kojem predane promjene ne utječu izravno na originalni projekt. Takav se model naziva Fork&Pull [8], a karakterizira ga obavještavanje autora originalnog projekta o promjenama koje se predlažu za razmatranje. Forking (a Repo) je postupak stvaranja novog projekta utemeljenog na nekom postojećem projektu. Poticaj je daljnjem razvoju programa i drugih projekata, a ako se originalni repozitorij ažurira, ista se ažuriranja mogu dodati novom projektu koji se granao iz njega. Najvažnija osobina u takvom pristupu suradničkom razvoju projekata je Pull Request (PR) mehanizam koji predstavlja način inicijalizacije diskusije sa drugim korisnicima, odnosno dijeljenje ili komentiranje različitih sastavnica projekta. Pri tom rasprava može uključivati javno dostupan kod uz točan prikaz promjena koje će biti pripojene ako se PR prihvati. Primjerice, ako neki programer prilikom značajnije revizije određenog projekta želi biti prepoznat od strane autora izvrnog projekta ili biti uključen u službeni projekt, on kreira PR. Pri tome GitHub otvara komunikacijski kanal u kojem autori originalnog repozitorija mogu vidjeti predloženi rad te odlučiti žele li prihvatiti programera u okvir službenog projekta. Uz to, PR može sadržavati i drugi za raspravu važan sadržaj (npr. screenshot) ili uključivati promjene drugih resursa projekta. MIPRO 2019/CE 605

Upload: others

Post on 14-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Razvoj kreativnosti i suradnje upotrebom GitHub platforme ...docs.mipro-proceedings.com/ce/12_ce_5387.pdf · GitHub je važna platforma za upravljanje softverskim projektima. Svojim

Razvoj kreativnosti i suradnje upotrebom GitHub platforme u srednjoškolskom strukovnom

obrazovanju K. Blažeka, Tehnička škola Čakovec, Čakovec, Hrvatska

[email protected]

Sažetak - Važno mjesto u preporukama Vijeća Europe posvećenim poboljšanju iskustva učenja zauzima kolaborativno učenje i poučavanje uz mogućnosti aktivne participacije i utjecaja učenika. U realizaciji strukovnog obrazovanja u sektoru Elektrotehnika i računalstvo takav pristup prilikom usvajanja vještina razvoja programskih rješenja može biti potenciran kolaborativnim mogućnostima GitHub digitalne platforme. Kako savladavanje obrazovnih ishoda za stjecanje kompetenecija u zanimanju Tehničar za računalstvo obuhvaća usvajanje znanja i vještina vezanih uz različite programske jezike odnosno tehnologije (C, C++, C#, HTML, JavaScript, Java, CSS…) koje ova platforma podržava čini se korisnim osvrnuti se na njene mogućnosti korištenja u nastavne svrhe što je podržano primjerice i kroz GitHub Education. U radu su navedena neka iskustva kako GitHub okolina može pomoći i pridonijeti kvaliteti obrazovnog procesa za učenike i nastavnike, te se predlažu neke mogućnosti primjene u domeni srednjoškolskog obrazovanja.

I. UVOD Primjena računala u raznim oblicima on-line učenja

kroz ostvarenje i komunikaciju zajednica oblikovanih korištenjem tehnologija kao što su računalstvo u oblacima, društveno umrežavanje ili Massive Open Oline Courses (MOOC) u obrazovno procesu potvrđuje bitan utjecaj tehnologije na obrazovanje u svrhu poboljšanja učinkovitosti procesa učenja i poučavanja.

Neprijeporne su dobrobiti suradničkog učenja potpomognutog tehnologijom. Mrežni (na web-tehnologijama bazirani) sustavi suradničkog učenja pri kojem je svaki pojedinac svjestan rada drugih suradnika i upoznat je sa planovima i razumijevanjem drugih uključenih osoba, učenicima omogućuju realističniju, izrazitiju i izazovniju participaciju što u konačnici poboljšava rezultate kako na razini tima, tako i pojedinca. U tom smislu, GitHub je sustav koji nudi većinu obilježja Learning Management (LM) sustava uz značajnu potporu suradničkim aktivnostima korisnika.

U radu su iznijeta razmatranja i neka praktična iskustva primjene ove platforme (namijenjene primarno za distribuirano upravljanje razvojem inačica programa) kao potvrda mogućeg pozitivnog utjecaja na obrazovno iskustvo učenika i nastavnika: mogućnosti upotrebe, utjecaj na motivaciju, transparentnost rada i djelotvornost rada kroz stvaranje otvorenih repozitorija. Spomenute su dobrobiti, ali i neki izazovi koje donosi svojim suradničkim i poslužiteljskim mogućnostima.

II. ŠTO JE GITHUB? GitHub je važna platforma za upravljanje softverskim

projektima. Svojim funkcionalnostima naočigled povećava učinkovitost rada korisnika profesionalaca i to ne samo kroz repozitorij projekata već i kao kvalitetna potpora suradnji (primarno programerskog) tima kao zajednice. Korisnici mogu slijediti druge korisnike određenog projekta te međusobno dijeliti aktivnosti.

Repozitorij (često se koristi skraćenica “repo”) je mjesto na kojem se spremaju sve datoteke nekog projekta, a može mu se pristupiti preko jedinstvenog URL-a.

Korisnik koji sudjeluje u nekom projektu, klonira taj projekt čime kreira cjelovitu kopiju projekta u svom lokalnom okruženju, ali pri čemu izvedene promjene mogu imati utjecaj na originalni projekt (model dijeljenog repozitorija). Pri tom se po potrebi obavljaju konverzacije o predloženim promjenama prije nego što se promjene spoje u tzv. master branch, odnosno korisnik može račvati (fork) čitav projekt kako bi kreirao paralelni projekt u kojem predane promjene ne utječu izravno na originalni projekt. Takav se model naziva Fork&Pull [8], a karakterizira ga obavještavanje autora originalnog projekta o promjenama koje se predlažu za razmatranje.

Forking (a Repo) je postupak stvaranja novog projekta utemeljenog na nekom postojećem projektu. Poticaj je daljnjem razvoju programa i drugih projekata, a ako se originalni repozitorij ažurira, ista se ažuriranja mogu dodati novom projektu koji se granao iz njega.

Najvažnija osobina u takvom pristupu suradničkom razvoju projekata je Pull Request (PR) mehanizam koji predstavlja način inicijalizacije diskusije sa drugim korisnicima, odnosno dijeljenje ili komentiranje različitih sastavnica projekta. Pri tom rasprava može uključivati javno dostupan kod uz točan prikaz promjena koje će biti pripojene ako se PR prihvati. Primjerice, ako neki programer prilikom značajnije revizije određenog projekta želi biti prepoznat od strane autora izvrnog projekta ili biti uključen u službeni projekt, on kreira PR. Pri tome GitHub otvara komunikacijski kanal u kojem autori originalnog repozitorija mogu vidjeti predloženi rad te odlučiti žele li prihvatiti programera u okvir službenog projekta.

Uz to, PR može sadržavati i drugi za raspravu važan sadržaj (npr. screenshot) ili uključivati promjene drugih resursa projekta.

MIPRO 2019/CE 605

Page 2: Razvoj kreativnosti i suradnje upotrebom GitHub platforme ...docs.mipro-proceedings.com/ce/12_ce_5387.pdf · GitHub je važna platforma za upravljanje softverskim projektima. Svojim

Sasvim je razumljivo da je spomenuti suradnički potencijal platforme upotrebljiv i za upravljanje, poboljšanje i svojevrsnu transformaciju iskustva učenja u procesu obrazovanja.

III. GITHUB I DRUŠTVENO UMREŽAVANJE Osnova GitHub-a je Git, sustav otvorenog koda za

upravljanje verzioniranjem prilikom razvoja softverskih aplikacija (autora L. Torvaldsa). U cilju bilježenja revizija koda, sustav promjene sprema u središnji repozitorij, čime se omogućuje jednostavno sudjelovanje, dijeljenje, suradnja i uvid u promjene u cilju stvaranja novih inačica programskog koda. Pri tome je kod vidljiv i dostupan tako da svaki programer koji to želi može sudjelovati u postupku razvoja, ali i oni koji ne sudjeluju u razvoju projekta mogu datotekama pristupiti, pogledati ih i koristiti.

Git je alat sa komandnom linijom (command-line tool), no središnje mjesto oko kojeg se razvija je hub, odnosno GitHub.com, mjesto na kojem programeri spremaju svoje projekte umrežavajući se sa sebi sličnima. S obzirom da na projektu sudjeluje veći broj autora, GitHub omogućuje čuvanje i održava zapise o svim promjenama, odnosno revizijama koje su stavljene na određeni repizotorij: tko je mijenjao, što, kada i gdje su te datoteke spremljene. Spremljene revizije projekata mogu se diskutirati javno, tako da velik broj stručnjaka može pridonositi znanjem i sudjelovati u napretku projekta.

Na taj način GitHub nudi uslugu dijeljenja koda kroz Git sustav distribuiranog upravljanja verzijama. Pri tom je važna snaga GitHub-a osobina transparentnosti koju daje timu, projektu i članovima zajednice korisnika. Svaki GitHub korisnik ima vlastiti profil kroz koji se vidi prethodno iskustvo, rad i suradnja na drugim projektima kroz (kroz PR-ove). Tako koncipiran aspekat društvenog umrežavanja GitHub-a omogućuje brži rast projekata, ali funkcionira i kao svojesvrstan životopis autora.

No, GitHub nije sustav samo za razvojne programere, mnogo je manje uobičajeno, ali GitHub se može koristiti za dijeljenje bilo koje vrste datoteka, npr. za Word dokumente. Uz to, Git posjeduje niz prednosti pred drugim sličnim, odnosno alternativnim sustavima (Subversion, CVS, Mercurial): učinkovitiji je u čuvanju promjena datoteka te osigurava bolji integritet datoteka [10]. Zato je svojim pozitivnim osobinama zauzeo mjesto prioritetnog alata u područjima u kojima se zahtjeva suradnja u tehničkim projektima, primarno razvoju softvera preko dijeljenih repozitorija.

IV. GITHUB KAO POTPORA UČENJU I POUČAVANJU U početku je GitHub bio fokusiran na upravljanje

kodom i projektima razvoja softvera, no te su njegove mogućnosti kasnije proširene i na druge domene koje podrazumijevaju suradnički rad. Da bi se uspješno primjenjivao u području obrazovanja, potrebno je učiniti i dodatne prilagodbe tehnika poučavanja (npr. PR-ovi mogu donositi bodove za više ocjene). Obogaćivanje obrazovnog procesa ovakvim sustavom smanjuje nastavnicima količinu i složenost administrativnih poslova dopuštajući im da više vremena provode fokusirajući se na stručne i pedagoške teme.

GitHub slijedi glavne osobine učenja karakteristične za tradicionalne LM sustave, ali nudi i dodatne funkcionalnosti korisne učenicima i nastavnicima: transparentnost aktivnosti, pozitivna potpora participaciji i suradnji, te potpora višestrukom korištenju i dijeljenju nastavnih materijala i znanja [1].

No, “GitHub u obrazovanju” nije nužno, “Stavimo obrazovne materijale na GitHub”, nego je više, “Omogućimo kulturu spontane ali strukturirane suradnje i napretka.” [2].

Dva su osnovna načina na koja se GitHub platforma može integrirati u učionicu: za dostavljanje i manipulaciju radovima učenika te kao način posluživanja nastavnim sadržajima, što oslikava uobičajenu upotrebu tipičnih LM sustava. Usporedba skupa mogućih interakcija između nastavnika, učenika i nastavnih sadržaja u slučaju korištenja LM okoline i Git sustava ukazuje na niz dodatnih interakcija prirodno podržanih GitHub platformom koje nisu uobičajene kod tradicionalnih okolina učenja (npr. jednostavnost doprinosa nastavnom materijalu).

A. GitHub kao platforma za dostavljanje radova učenika U ovom se načinu GitHub koristi primarno kao

poslužitelj za radove učenika, dostavu zadataka i projekata.

Pri tom je moguće postaviti osnovni repozitorij za razredni odjel kojeg svaki učenik grana pri čemu može vidjeti i sva ostala grananja. Time se omogućuje unakrsno referenciranje različitih rješenja, a podupire se i kolegijalno učenje i učenička suradnja.

Moguć je i pristup postavljanja privatnih repozitorija za svakog učenika tako da pojedini učenik može repozitorije drugih učenika vidjeti samo u slučaju eksplicitne dozvole pristupa. Pri tom se repozitoriji i dozvole postavljaju ručno što može otežati administriranje u slučaju velikog broja učenika.

B. GitHub kao poslužiteljska platforma za nastavne materijale

GitHub se u ovoj inačici koristi za udomljavanje i dostavu nastavnih materijala (program, prikaznice, bilješke, vježbe, domaći zadaci, priručnici i dr. materijali) ili se koristi kao poslužitelj mrežnog sjedišta predmeta (npr. upotrebom GitHub stranica). Učenici i nastavnici mogu suradnjom u takvoj zajednici dijeljene sadržaje poboljšavati i unaprijeđivati.

V. DOBROBITI KORIŠTENJA GITHUB-A U OBRAZOVANJU U pozitivne strane korištenja GitHub platforme u

obrazovanju mogu se navesti:

- Učenici stječu iskustvo korištenja sustava za upravljanje verzijama

- Eliminacija papira prilikom predavanja radova - Olakšana rasprava i suradnja među studentima - Pojednostavljeni grupni projekti/zadaci - Nastavnicima je omogućen daljinski pregled i

komentiranje rada tijekom izrade - Postojanje prostora na kojima su smješteni

sadržaji predmeta

606 MIPRO 2019/CE

Page 3: Razvoj kreativnosti i suradnje upotrebom GitHub platforme ...docs.mipro-proceedings.com/ce/12_ce_5387.pdf · GitHub je važna platforma za upravljanje softverskim projektima. Svojim

U pozitivna se obilježja GitHub-a također navode [1]:

A. Transparentnost aktivnosti Svojom potporom vidljivosti i transparentnosti

učeničkih aktivnosti, GitHub (kao platforma za dostavu/prikupljanje) omogućuje praćenje aktivnosti, participacije i napretka učenika (također u obliku grafičkog prikaza povijesti aktivnosti vezanih uz pojedini dokument ili projekt). Pri tom praćenje napretka nije isključivo pasivno, nego učenici mogu i sami vlastitim aktivnostima privlačiti pozornost nastavnika ili tražiti pomoć, a takav oblik komunikacije između nastavnika i učenika nije osobina tradicionalnih LM sustava.

B. Poticanje aktivnog sudjelovanja Učenici mogu predlagati promjene (na dokumentima,

nastavnim materijalima i dr.) slanjem relevantnih komentara ili mogu promjene raditi i sami te poslati PR koji nastavnik može (ako se s promjenama složi) prihvatiti. I za ove postupke postoji povijest aktivnosti koja nastavnicima pomaže praćenje tko je i koliko sudjelovao, što je poticajno za učenike jer se njihova aktivnost bilježi te može dovesti do boljih ocjena. Spremljeni zapisi također mogu i inicirati ili povećati kvalitetu rasprave i tumačenja u samom nastavnom procesu u učionici.

C. Ponovna upotreba i dijeljenje nastavnih materijala i znanja

Dijeljenje i ponovna upotreba nastavnih materijala i znanja između učenika i nastavnika u GitHub-u se ostvaruje s lakoćom. Kontrola pristupa sadržaju omogućuje da on može biti privatni, privatni među sudionicima ili potpuno javni pri čemu se može dijeliti te tako biti potpora uzajamnoj suradnji uz povratne informacije o aktivnostima. Sadržaj se može dijeliti i samo među nastavnicima (uključujući povijest promjena).

D. Profesionalna relevantnost Činjenica da je poznavanje rada sa Git-om i GitHub-om

korisno i da se ubraja u relevantne vještine u području struke utječe na motivaciju za učenjem. Učenici u bilo koje vrijeme tijekom svog školovanja mogu ostvariti (softverski) proizvod (seminarski ili drugi rad) koji mogu prezentirati budućim poslodavcima kao oblik životopisa.

E. Jednostavnost upotrebe Nakon uspostave osnovnih postavki (stvaranje

repozitorija, prava pristupa i dr. ) administriranje GitHub-om relativno je jednostavno.

F. Besplatne akademske licence GitHub dozvoljava korisnicima stvaranje besplatnih

javnih repozitorija, no nastavnici i učenici mogu besplatno stvarati i privatne repozitorije. Uz to, nastavnici mogu raspolagati i besplatnim organizacijskim računom koji im olakšava upravljanje i administriranje grupama.

G. Dijeljeni prostor i verzioniranje Kao poslužiteljska platforma za dijeljenje GitHub

omogućuje učenicima i nastavnicima jednostavno dijeljenje bilješki i drugih materijala. Verzioniranjem i grananjem moguće je ostavljati pristup do promijenjenih, djelomičnih ili starijih inačica materijala.

VI. IZAZOVI POVEZANI SA POVEZANI SA UPOTREBOM GITHUB-A U OBRAZOVANJU

Temeljni izazov je otežana krivulja učenja za učenike.Naime, kako je GitHub Git baziran sustav, za potpuno razumijevanje i pristup najvećem opsegu njegovih mogućnosti upravljanja zadacima ili projektima koji uključuju suradnju potrebno je razumjeti Git i njegovu komandnu liniju (naredbe i argumente). Takvo, naprednije korištenje, posebno pomaže u postupcima rješavanja spajanja i mogućih konflikata.

VII. PRIMJERI UPOTREBE: GITHUB CLASSROOM Osnovna ideja prve izvedbe [3] je da platforma

GitHub učenicima omogući predaju radova, a nastavnicima pregled i ocjenjivanje. Pri tom se učenicima može dati uvid u radove drugih učenika i prije predaje. U tu svrhu postavljen je jedan repozitorij po učeniku po zadatku (omogućena najveća fleksibilnost i precizna kontrola). Nešto veći broj repozitorija kod toga ne predstavlja ozbiljniji problem. Repozitoriji nisu privatni pa učenici ne mogu preimenovati repozitorije niti određivati mogućnosti i prava pristupa.

Za prateće nastavne materijale odabran je pristup jedan nastavnički repozitorij i jedan učenički po predmetu. Nastavne materijale koje stvaraju i razvijaju nastavnici stavljaju u nastavnički repozitorij i kopiraju pripremljene relevantne informacije u učeničke repozitorije (vidljive učenicima).

Naime, Preko GitHub/Slack integracije učenici dobivaju obavijest (notifikaciju) u odgovarajućem Slack kanalu prilikom svake predaje sadržaja (commit) u svrhu aktualizacije učeničkog repozitorija odgovarajućeg predmeta. Općenito, takvo rješenje nije idealno s obzirom da uključuje određeno ručno kopiranje i redundanciju između dva repozitorija (u suprotnosti s DRY principom (Don’t Repeat Yourself) ponavljanja koda).

Zato neki nastavnici razvijaju nastavne materijale u učeničkim repozitorijima čime omogućuju učenicima uvid u napredak i povijest aktualizacije, a neki razvijaju nastavne materijale u nastavničkom repozitoriju te naknadno kopiraju konačnu inačicu neposredno prije nastave. Bez obzira na odabrani pristup, materijali poput ispita trebaju ostati privatni u nastavničkom repozitoriju sve do trenutka kad su spremni za podjelu.

Pri tom zadaci mogu sadržavati neki osnovni sadržaj (seed), kao što je to npr. djelomično napisan kod koji učenici trebaju kompletirati (često u obliku Jupyter [7] bilježnice ili R Markdown dokumenta).

Ovako koncipirana GitHub učionica koristi predložak repozitorija koji se kopira svakom učeniku prilikom iniciranja zadatka, no moguć je i pristup čuvanja svih nastavnih materijala u jedinstvenom repozitoriju nastavnika, sa različitim mapama za različite zadatke. Za kopiranje predloška repozitorija može se koristiti Source Imports API. Kod implementacije sustava sa podmapama repozitorija koristi se Contents API.

Izvedbom se učenicima može dopustiti da vide radove jedni drugima u trenutku nakon što istekne rok za predaju (deadline) što može biti vrijedno i potrebno ili se učenici mogu uputiti na skup službenih rješenja.

MIPRO 2019/CE 607

Page 4: Razvoj kreativnosti i suradnje upotrebom GitHub platforme ...docs.mipro-proceedings.com/ce/12_ce_5387.pdf · GitHub je važna platforma za upravljanje softverskim projektima. Svojim

Nakon isteka roka za predaju zadataka, automatski se generira (Markdown) tablica u kojoj svaki redak sadrži ime učenika, poveznicu na njegov repozitorij za slanje te poveznicu na JSON datoteku sa ocjenama.

Kod predaje zadataka moguća su dva glavna pristupa. Prvi je oduzeti pravo pisanja (write access) učenicima u njihove repozitorije zadatka nakon što je prošao krajnji rok. Takav pristup zahtjeva ručno pokretanje skripte u trenutku isteka ili vremensko postavljanje poslužitelja da to učini automatski. Drugo rješenje je osloniti se na zapis o vremenu (Git commit/push timestamp) no ovo može biti nezgodno i nepouzdano jer učenici time mogu manipulirati. U sprečavanju manipulacije mogao bi poslužiti GitHub Events API. Automatski generirane poveznice mogu pokazivati na posljednje slanje prije krajnjeg roka, tako da se bilo kakav rad učenika nakon tog roka jednostavno ignorira.

Izmjene nastavnika sa izmjenama učenika, spajaju se kroz upravljanje verzijama. Pri tom se kreira grana (teacher update) u svakom repozitoriju zadatka. Tako inicijalno grana nastavničkog ažuriranja sadrži samo kopiju originalnih materijala. Nakon nastavničkog ažuriranja, kreira se PR iz te grane master grani učenika. Ažuriranja nastavnika mogu biti zaštićena grana GitHub API-a čime se spriječava da učenici brišu ažuriranja nastavnika nakon spajanja PR-ova.

Drugi je primjer Naperville North High School [5], škola koja je uvela GitHub Classroom u jesen 2015. kako bi olakšali nastavnicima distribuiranje koda i prikupljanje radova preko GitHub-a. Učenici se tako pripremaju za lakše savladavanje STEM predmeta, ali i za kreativno i etičko inženjerstvo korištenjem stvarnih alata za upravljanje razvojem softvera. U repozitorije učenicima su stavljeni primjeri koda i potrebne biblioteke.

Planirano je da ova izvedba predstavlja potporu učenicima da pokažu inačice svog rada i prije izrade konačnog proizvoda. Takav tijek rada sličniji je stvarnom radu pri proizvodnji softvera. Ovako izveden Clasroom automatski kreira repozitorije učenika, kroz upravljačku ploču (dashboard) prati zadatke te omogućuje primjenu neovisnih alata za automatsko testiranje. Na slici 1. prikazan je primjer izgleda ekrana sa zadacima u pripremljenoj učionici.

Zadatke učenici primaju preko određene poveznice. Pri tom svi mogu pristupati dijeljenom repozitoriju ili biti podijeljeni u grupe. U ovom primjeru, dakle, GitHub Classroom [4] omogućuje jednostavnije umnožavanje cjelovitog zadatka u privatni repozitorij. U svrhu ocjenjivanja, kodovi učenika preuzimaju se preko GitHub desktop klijenta (Classroom Assistant) koji sve repozitorije uzima jednim klikom, nakon čega se provjerava ispravnost i pokreću programi.

U ovoj je izvedbi vidljiv trenutak u kojem učenici preuzimaju svoje zadatke i počinju raditi. Moguće je primjetiti kad su zapeli i pomagati im. Učenici mogu raditi individualno ili u grupama, privatno ili javno, te se mogu i određivati prava pristupa za nastavnike i učenike. Također, moguće je poveznicama povezati repozitorij sa njihovim zadacima i korišteni LMS.

Slika 1 Zadaci u GitHub učionici

VIII. ISKUSTVO U PRIPREMI GITHUB UČIONICE

U svrhu upoznavanja sa mogućnostima GitHub platforme kao obrazovnog alata, izveden je početno pojednostavljeni oblik inačice GitHub učionice primarno kao repozitorij zadataka za vježbu uz funkciju prikupljanja i pregleda rješenja.

Planirano je da se primjenom platforme omogući učenicima predaju rješenja zadataka, kako zadataka za vježbu na nastavi i kod kuće, tako i zadataka nakon pisane provjere kako bi i sami kod kuće mogli pogledati i analizirati svoja rješenja, te u slučaju interesa pokazati i roditeljima. Pri tom učenici mogu i međusobno uspoređivati rješenja, što je posebno dobro za učenike koji imaju problema sa razumijevanjem zadataka i oblikovanjem algoritma. Stvarno ispravljanje predanih rješenja nakon ispita izvodi se na izvornim kodovima spremljenim u mape na računalima u školi.

Uključeni su učenici razrednih odjela Tehničke gimnazije 2TG i 3TG, te učenici smjera Tehničar za računalstvo iz 2RT i 4RT razreda, te su na taj način kreirani i repozitoriji zadataka, po jedan za svaki razred. Unutar repozitorija predviđene su mape za pojedine zadatke. U početku uspostave sustava primjećene su nespretnosti oko formiranja mapa u učeničkim granama i spremanja rješenja zadataka u te grane, no to nije bio veći problem s obzirom da su rješenja najčešće spremljena u glavnu mapu učenika. Učenici 2TG, 2RT i 3TG razreda predavali su svoja rješenja zadataka u programskom jeziku C++, dok su učenici 4RT razreda radili sa web tehnologijama (HTML, CSS, JavaScript).

Svi su učenici trebali napraviti svoj račun (GitHub account) na sustavu. Većina učenika je taj dio zadatka izvela bez problema, dok su neki imali uobičajene poteškoće sa razumijevanjem prijavnog procesa ili određivanjem lozinke. Prijavljeni učenici upisani su u listu suradnika određenog repozitorija.

Od trenutka prijave, učenici zadatke preuzimaju iz odgovarajućeg repozitorija, te nakon izrade rješenja zadatka svoje rješenje mogu stavljati u granu koju su za zadatak stvorili (sa imenom i prezimenom). U osnove rada sa platformom učenike je uveo nastavnik, ali su upućeni i na odgovarajuće dostupne izvore informacija sa detaljima mogućnosti i načina korištenja [9].

Rješenja u pripremljenim mapama nakon isteka dogovorenog roka za dostavu spremna su za pregled i ocjenjivanje (slika 2.).

608 MIPRO 2019/CE

Page 5: Razvoj kreativnosti i suradnje upotrebom GitHub platforme ...docs.mipro-proceedings.com/ce/12_ce_5387.pdf · GitHub je važna platforma za upravljanje softverskim projektima. Svojim

Izvedeni proces predstavlja svojevrsnu predfazu uvođenja GitHub učionice u kojoj se učenici upoznaju sa platformom kao važnim sredstvom u postupku razvoja softvera bez velikih preteznija sa ovladavanjem mogućnostima. U slijedećoj fazi izvedbe planirano je i oblikovanje stvarne GitHub učionice uključivo automatizirane mogućnosti rukovanja radovima učenika te smještanje nastavnih materijala što bi se u potpunosti moglo oblikovati od slijedeće školske godine.

Slika 2 Pregled učeničkih rješenja u GitHub desktop sučelju

Prva su iskustva pokazala da učenici dobro prihvaćaju ovaj sustav, te da smatraju za učenje korisnim imati pristup zadacima i rješenjima, analizirati ih, mijenjati i razvijati, čak i u ovoj sasvim pojednostavljenoj GitHub učionici.

IX. GITHUB EDUCATION U svrhu promocije GitHub-a u obrazovanju, pokrenuto

je 2014. web sjedište GitHub Education [6]. Uključuje paket tehničkih alata, trening za nastavnike i drugu potporu, kao što je besplatan pristup GitHub Enterprise Server-u i GitHub Enterprise Cloud-u, automatski pristup premium GitHub Education mogućnostima (npr. GitHub Student Developer Pack), ekskluzivni pristup novim mogućnostima i GitHub Education-specific swag.

Da bi se kvalificirala, škola treba biti obrazovna ustanova fokusirana na učenje koja izdaje svjedodžbe i certificate, a nudi GitHub svim dijelovima u kojima postoji administrator koji će završiti program obuke nastavnika.

X. ZAKLJUČAK Namjena rada bila je osvijestiti rastući potencijal

GitHub-a u obrazovnom kontekstu navođenjem njegovih prednosti i mogućnosti upotrebe. Ta je upotreba ovdje, naravno, značajno ispod njegovih mogućnosti kao profesionalnog alata, no predstavlja vrijednu presliku budućeg rada programera tijekom razvoja softverskog proizvoda, odnosno daje neka osnovna saznanja važna za budući profesionalni razvoj stručnjaka. Uz to,

nastavnicima koji predaju predmete vezane uz učenje vještina programiranja korištenje ove platforme može olakšati rukovanje i administriranje programskim rješenjima.

U dobre strane integracije ove platforme u obrazovnu praksu, pokazalo se, svakako treba istaknuti vidljivost. Naime, prilikom učenja programiranja, uvid u rješenja zadataka kolega od velike je važnosti za razumijevanje, ali i stvaranje vlastitog stila programiranja. Pri tom različiti stilovi i pristupi uz traženje da se učenička rješenja razlikuju dodatno mogu potaknuti kreativnost učenika i potrebu za novim saznanjima.

Dodatna posljedica transparentnosti rada učenika je vidljivost njihovih aktivnosti, i to ne samo nastavnicima, nego i roditeljima. Poticaj pri tome predstavljaju sugestije roditelja vezane uz potrebu da učenici imaju više zadataka za vježbu. Uz to, korisno je i da roditelji mogu imati uvid u (ne)aktivnost učenika kod rješavanja zadataka za vježbu.

Vrijedi istaknuti i stvaranje repozitorija (u smislu baze) zadataka (i rješenja) za slijedeće generacije učenika.

Dakle, iako nije primarno dizajniran kao LMS ili CMS, GitHub sustav može se koristiti u tu svrhu predstavljajući mjesto za smještaj radova i projekata, ali i mjesto na kojem se osim radova dijele i aktivnosti, ideje i rasprave čime sustav omogućuje stvaranje kulture sudjelovanja, etičke suradnje, kreativnosti i smislenosti rada učenika.

LITERATURA [1] A. Zagalsky, J. Feliciano, M-A. Storey, Y. Zhao, W. Wang: “The

Emergence of GitHub as a Collaborative Platform for Education”, Motivation and Dynamics of the Open Classroom CSCW 2015, March 14-18, 2015, Vancouver, BC, Canada, sa https://alexeyza.com/pdf/cscw15.pdf (posjećeno 1/2019.)

[2] http://software-carpentry.org/blog/2011/12/fork-merge-and- share.html (posjećeno 1/2019.)

[3] https://ubc-mds.github.io/2017-08-24-teaching-with-github/ “Teaching with GitHub”, posted 8/2017, (posjećeno 1/2019.)

[4] https://classroom.github.com (posjećeno 12/2018.) [5] https://github.blog/2017-01-31-github-classroom-for-ap-computer-

science-at-naperville-north-high-school/ (posjećeno 1/2019.) [6] https://education.github.com/ (posjećeno 1/2019.) [7] https://jupyter.org (posjećeno 1/2019.) [8] https://help.github.com/en/articles/github-glossary (posjećeno

12/2018.) [9] I. Rodrigues: ”How you can learn Git and GitHub while you’re

learning to code”, sa https://medium.freecodecamp.org/how-you-can-learn-git-and-github-while-youre-learning-to-code-7a592ea287ba , posted 5/2018. (posjećeno 12/2018.)

[10] K. Brown: “What Is GitHub, and What Is It Used For?” sa https://www.howtogeek.com/180167/htg-explains-what-is-github-and-what-do-geeks-use-it-for/ , update 9/2017. (posjećeno 12/2018.)

MIPRO 2019/CE 609